[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / compositions_v2 / base / compositions.php
1 <?php
2 /*
3 * Plugin Compositions
4 * (c) 2007-2009 Cedric Morin
5 * Distribue sous licence GPL
6 *
7 */
8
9 if (!defined("_ECRIRE_INC_VERSION")) return;
10
11 /**
12 * Declaration des tables principales
13 *
14 * @param array $tables_principales
15 * @return array
16 */
17 function compositions_declarer_tables_principales($tables_principales){
18
19 $tables_principales['spip_articles']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
20 $tables_principales['spip_rubriques']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
21 $tables_principales['spip_auteurs']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
22 $tables_principales['spip_breves']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
23 $tables_principales['spip_mots']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
24 $tables_principales['spip_syndic']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
25 $tables_principales['spip_articles']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
26 $tables_principales['spip_rubriques']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
27 $tables_principales['spip_rubriques']['field']['composition_branche_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
28 $tables_principales['spip_auteurs']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
29 $tables_principales['spip_breves']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
30 $tables_principales['spip_mots']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
31 $tables_principales['spip_syndic']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
32 return $tables_principales;
33 }
34
35 /**
36 * Upgrade des tables
37 *
38 * @param string $nom_meta_base_version
39 * @param string $version_cible
40 */
41 function compositions_upgrade($nom_meta_base_version,$version_cible){
42 include_spip('inc/meta');
43 $current_version = 0.0;
44 if ( (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
45 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
46 if (version_compare($current_version,'0.1','<')){
47 include_spip('base/abstract_sql');
48 sql_alter("TABLE spip_articles ADD composition varchar(255) DEFAULT '' NOT NULL");
49 sql_alter("TABLE spip_rubriques ADD composition varchar(255) DEFAULT '' NOT NULL");
50 ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
51 }
52 if (version_compare($current_version,'0.2.0','<')){
53 sql_alter("TABLE spip_auteurs ADD composition varchar(255) DEFAULT '' NOT NULL");
54 sql_alter("TABLE spip_breves ADD composition varchar(255) DEFAULT '' NOT NULL");
55 sql_alter("TABLE spip_mots ADD composition varchar(255) DEFAULT '' NOT NULL");
56 sql_alter("TABLE spip_syndic ADD composition varchar(255) DEFAULT '' NOT NULL");
57 ecrire_meta($nom_meta_base_version,$current_version="0.2.0",'non');
58 }
59 if (version_compare($current_version,'0.3.0','<')){
60 sql_alter("TABLE spip_articles ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
61 sql_alter("TABLE spip_rubriques ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
62 sql_alter("TABLE spip_auteurs ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
63 sql_alter("TABLE spip_breves ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
64 sql_alter("TABLE spip_mots ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
65 sql_alter("TABLE spip_syndic ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
66 ecrire_meta($nom_meta_base_version,$current_version="0.3.0",'non');
67 }
68 if (version_compare($current_version,'0.4.0','<')){
69 sql_alter("TABLE spip_rubriques ADD composition_branche_lock tinyint(1) DEFAULT 0 NOT NULL");
70 ecrire_meta($nom_meta_base_version,$current_version="0.4.0",'non');
71 }
72 }
73 }
74
75
76 /**
77 * Desinstallation
78 *
79 * @param string $nom_meta_base_version
80 */
81 function compositions_vider_tables($nom_meta_base_version) {
82 include_spip('inc/meta');
83 include_spip('base/abstract_sql');
84 sql_alter("TABLE spip_articles DROP composition");
85 sql_alter("TABLE spip_rubriques DROP composition");
86 sql_alter("TABLE spip_auteurs DROP composition");
87 sql_alter("TABLE spip_breves DROP composition");
88 sql_alter("TABLE spip_mots DROP composition");
89 sql_alter("TABLE spip_syndic DROP composition");
90 sql_alter("TABLE spip_articles DROP composition_lock");
91 sql_alter("TABLE spip_rubriques DROP composition_lock");
92 sql_alter("TABLE spip_rubriques DROP composition_branche_lock");
93 sql_alter("TABLE spip_auteurs DROP composition_lock");
94 sql_alter("TABLE spip_breves DROP composition_lock");
95 sql_alter("TABLE spip_mots DROP composition_lock");
96 sql_alter("TABLE spip_syndic DROP composition_lock");
97 effacer_meta('compositions');
98 effacer_meta($nom_meta_base_version);
99 }
100 ?>