source: spip-zone/_core_/plugins/mots/mots_administrations.php @ 93617

Last change on this file since 93617 was 93617, checked in by cedric@…, 5 years ago

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File size: 3.8 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13/**
14 * Fichier gérant l'installation et désinstallation du plugin
15 *
16 * @package SPIP\Mots\Installation
17 **/
18if (!defined('_ECRIRE_INC_VERSION')) {
19        return;
20}
21
22/**
23 * Installation/maj des tables mots et groupes de mots...
24 *
25 * @param string $nom_meta_base_version
26 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
27 * @param string $version_cible
28 *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
29 * @return void
30 */
31function mots_upgrade($nom_meta_base_version, $version_cible) {
32
33        // cas particulier :
34        // si plugin pas installe mais que la table existe
35        // considerer que c'est un upgrade depuis v 1.0.0
36        // pour gerer l'historique des installations SPIP <=2.1
37        if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
38                $trouver_table = charger_fonction('trouver_table', 'base');
39                if ($desc = $trouver_table('spip_mots')
40                        AND isset($desc['exist']) AND $desc['exist']
41                        AND $desc = $trouver_table('spip_mots_articles')
42                        AND isset($desc['exist']) AND $desc['exist']
43                ) {
44                        ecrire_meta($nom_meta_base_version, '1.0.0');
45                }
46                // si pas de table en base, on fera une simple creation de base
47        }
48
49        $maj = array();
50        $maj['create'] = array(
51                array('maj_tables', array('spip_groupes_mots', 'spip_mots', 'spip_mots_liens')),
52        );
53        $maj['1.0.0'] = array(
54                array('maj_tables', array('spip_groupes_mots', 'spip_mots', 'spip_mots_liens')),
55        );
56        include_spip('maj/svn10000');
57        $maj['2.0.0'] = array(
58                array('maj_liens', 'mot'), // creer la table liens
59                array('maj_liens', 'mot', 'breve'),
60                array('sql_drop_table', "spip_mots_breves"),
61                array('maj_liens', 'mot', 'rubrique'),
62                array('sql_drop_table', "spip_mots_rubriques"),
63                array('maj_liens', 'mot', 'syndic'),
64                array('sql_drop_table', "spip_mots_syndic"),
65                array('maj_liens', 'mot', 'forum'),
66                array('sql_drop_table', "spip_mots_forum"),
67                array('maj_liens', 'mot', 'auteur'),
68                array('sql_drop_table', "spip_mots_auteurs"),
69                array('maj_liens', 'mot', 'document'),
70                array('sql_drop_table', "spip_mots_documents"),
71                array('maj_liens', 'mot', 'article'),
72                array('sql_drop_table', "spip_mots_articles"),
73        );
74        $maj['2.0.1'] = array(
75                array('sql_updateq', "spip_mots_liens", array('objet' => 'site'), "objet='syndic'"),
76        );
77        $maj['2.1.0'] = array(
78                array('sql_alter', "TABLE spip_mots_liens ADD INDEX id_objet (id_objet)"),
79                array('sql_alter', "TABLE spip_mots_liens ADD INDEX objet (objet)"),
80        );
81        $maj['2.1.1'] = array(
82                array('sql_alter', "TABLE spip_mots ADD INDEX id_groupe (id_groupe)")
83        );
84
85        include_spip('base/upgrade');
86        maj_plugin($nom_meta_base_version, $version_cible, $maj);
87}
88
89
90/**
91 * Désinstallation/suppression des tables mots et groupes de mots
92 *
93 * @param string $nom_meta_base_version
94 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
95 * @return void
96 */
97function mots_vider_tables($nom_meta_base_version) {
98        sql_drop_table("spip_mots");
99        sql_drop_table("spip_groupes_mots");
100        sql_drop_table("spip_mots_liens");
101
102        effacer_meta('articles_mots');
103        effacer_meta('config_precise_groupes');
104
105        effacer_meta($nom_meta_base_version);
106}
107
108?>
Note: See TracBrowser for help on using the repository browser.