source: spip-zone/_plugins_/archive/trunk/archive_administrations.php @ 84091

Last change on this file since 84091 was 84091, checked in by kent1@…, 7 years ago

Cas d'un ancien plugin qui utilisait "archi" pour le statut "archive"

Qui plus est, on ne mettait pas vraiment à jour la base lors de l'installation

Schema en 0.3.0

File size: 1.7 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5/**
6 * Installation/maj du plugin
7 *
8 * Crée les champs archive_date sur les articles et sur les rubriques
9 *
10 * @param string $nom_meta_base_version
11 * @param string $version_cible
12 */
13function archive_upgrade($nom_meta_base_version,$version_cible){
14
15        $maj = array();
16       
17        $maj['create'] = array(
18                array('maj_tables',array('spip_articles','spip_rubriques')),
19                array('maj_archives')
20        );
21       
22        $maj['0.2.0'] = array(
23                array('maj_tables',array('spip_articles')),
24                array('maj_archives')
25        );
26       
27        $maj['0.3.0'] = array(
28                        array('maj_archives')
29        );
30
31        include_spip('base/upgrade');
32        maj_plugin($nom_meta_base_version, $version_cible, $maj);
33}
34
35/**
36 * Désinstallation du plugin
37 *
38 * Supprime les champs archive_date des articles et des rubriques
39 *
40 * @param string $nom_meta_base_version
41 */
42function archive_vider_tables($nom_meta_base_version) {
43        sql_alter('TABLE spip_articles DROP COLUMN archive_date');
44        sql_alter('TABLE spip_rubriques DROP COLUMN archive_date');
45        effacer_meta('archive');
46        effacer_meta($nom_meta_base_version);
47}
48
49/**
50 * Mettre à jour les archives avec le champ archive à 1 vers le statut archive
51 * Si un ancien plugin archive mettait le statut à "archi" => "archive"
52 */
53function maj_archives(){
54        $archives = sql_allfetsel('id_article','spip_articles','archive=1');
55        if(is_array($archives) && count($archives) > 0){
56                foreach($archives as $archive){
57                        $id_article = $archive['id_article'];
58                        $modifs = array('statut' => 'archive');
59                        $modif = article_modifier($id_article,$modifs);
60                }
61        }
62        sql_updateq('spip_articles',array('statut'=>'archive'),'statut="archi"');
63}
64?>
Note: See TracBrowser for help on using the repository browser.