source: spip-zone/_plugins_/mots_partout/2.0/base/motspartout_install.php @ 32286

Last change on this file since 32286 was 32286, checked in by zeraxp@…, 11 years ago

correction coquille sur le numero de version ...

File size: 3.6 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *  Plugin Mots-Partout                                                    *
6 *                                                                         *
7 *  Copyright (c) 2006-2008                                                *
8 *  Pierre ANDREWS, Yoann Nogues, Emmanuel Saint-James                     *
9 *                                                                         *
10 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
11 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
12 *    This program is free software; you can redistribute it and/or modify *
13 *    it under the terms of the GNU General Public License as published by *
14 *    the Free Software Foundation.                                        *
15\***************************************************************************/
16
17if (!defined("_ECRIRE_INC_VERSION")) return;
18
19function motspartout_upgrade($tables_possibles){
20
21                include_spip('base/abstract_sql');
22
23                //installation du champ id_parent et du meta concernant l'installation, gestion arborescente
24                sql_alter("TABLE `spip_groupes_mots` ADD `id_parent` BIGINT(20) NOT NULL ");
25                //peut être préféré creer_base() à sql_create()
26                foreach($tables_possibles as $table) {
27
28                    //determine l'id de la table (supprimé le s de la table, ajout du préfixe id_)
29                    preg_match('/(.*)s/i',$table,$nom);
30                    $id_table = "id_".$nom[1];
31
32                //permettre l'affectation d'un groupe à un objet spip
33                //sql_alter("TABLE `spip_groupes_mots` ADD $table VARCHAR(3) NOT NULL DEFAULT 'non' ");
34                //sql_replace("spip_groupes_mots",array());
35                //permettre les relations entre mots et objets
36            sql_create("spip_mots_$table",
37                array(
38                    "id_mot" => "bigint(20) NOT NULL default '0'",
39                    $id_table=> "bigint(20) NOT NULL default '0'"
40                ),
41                array(
42                    'PRIMARY KEY' => $id_table.",id_mot"
43                )
44            );
45                }
46                ecrire_meta('MotsPartout:tables_installees',serialize($tables_possibles));
47                ecrire_meta('MotsPartout:mots-partout-arbo-installe','oui');
48                ecrire_meta('motspartout_version','0.5');
49        }
50
51        function motspartout_modifier_tables($tables_possibles) {
52
53                include_spip('base/abstract_sql');
54
55                //desinstallation du champ et du meta
56                //sql_alter("TABLE `spip_groupes_mots` DROP `id_parent`");
57
58                foreach($tables_possibles as $clef => $table) {
59                //permettre l'affectation d'un groupe à un objet spip
60        //sql_alter("TABLE `spip_groupes_mots` DROP $table");
61                //permettre les relations entre mots et objets
62                //sql_drop_table("spip_mots_$table");
63                }
64
65                effacer_meta('MotsPartout:tables_installees');
66                effacer_meta('MotsPartout:mots-partout-arbo-installe');
67                effacer_meta('motspartout_version');
68        }
69
70        function motspartout_install($action){
71
72    //par defaut
73    // articles, rubriques, syndic sont traités par spip
74    //les mots clefs partouts
75
76    include_spip('base/abstract_sql');
77
78          //TODO : Gestion de ce tableau (par un formulaire cfg ?)
79          $tables_possibles = array('documents','auteurs','syndic_articles','evenements');
80
81                switch ($action){
82                        case 'install':
83                                motspartout_upgrade($tables_possibles);
84                                break;
85                        case 'uninstall':
86                                motspartout_modifier_tables($tables_possibles);
87                        break;
88                        case 'test':
89                          return (isset($GLOBALS['meta']['motspartout_version']) && $GLOBALS['meta']['motspartout_version']>='0.5.1' );
90                  break;
91                }
92        }
93
Note: See TracBrowser for help on using the repository browser.