source: spip-zone/_plugins_/archive/trunk/archive_pipelines.php @ 108928

Last change on this file since 108928 was 108928, checked in by kent1@…, 19 months ago

Revenir sur r99303

Il faut conserver les anciennes urls qui seront potentiellement recréées, nécessaires

File size: 1.6 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) {
5        return;
6}
7
8/**
9 * Insertion dans le pipeline affiche_milieu (SPIP)
10 *
11 * Sur les pages de rubriques dans le privé, afficher les articles archivés de la rubrique
12 *
13 * @param $flux array
14 *      Le contexte du pipeline
15 * @return $flux array
16 *      Le contexte du pipeline modifié
17 */
18function archive_affiche_enfants($flux) {
19        if ($flux['args']['exec'] == 'rubrique') {
20                $flux['data'] .= recuperer_fond(
21                        'prive/objets/liste/articles',
22                        array(
23                                'titre' => _T('archive:titre_archives_rubrique'),
24                                'statut' => 'archive',
25                                'id_rubrique' => $flux['args']['id_rubrique']
26                        )
27                );
28        }
29        return $flux;
30}
31
32// Lancement des taches cron pour l'archivage
33function archive_taches_generales_cron($taches_generales) {
34        $taches_generales['archive_cron'] = 1*24*3600;
35        return $taches_generales;
36}
37
38/**
39 * Insertion dans le pipeline post_edition (SPIP)
40 *
41 * Lors du changement de statut vers "archive", on met la date dans le champs date_archive
42 *
43 * @param $flux array
44 *      Le contexte du pipeline
45 * @return $flux array
46 *      Le contexte du pipeline modifié
47 */
48function archive_post_edition($flux) {
49        if (isset($flux['args']['action']) &&
50                $flux['args']['action'] == 'instituer'
51                && $flux['args']['statut_ancien'] != 'archive'
52                && $flux['args']['statut_nouveau'] == 'archive') {
53                sql_updateq(
54                        $flux['args']['table'],
55                        array(
56                                'archive_date' => date('Y-m-d H:i:s'),
57                                'archive_statut' => $flux['args']['statut_ancien']
58                        ),
59                        id_table_objet($flux['args']['table']).'='.intval($flux['args']['id_objet'])
60                );
61        }
62        return $flux;
63}
Note: See TracBrowser for help on using the repository browser.