[PLUGINS] ~maj des plugins
[lhc/web/www.git] / www / plugins / menus_1 / menus_administrations.php
1 <?php
2
3 // Sécurité
4 if (!defined("_ECRIRE_INC_VERSION")) return;
5
6 include_spip('inc/meta');
7
8 // Installation et mise à jour
9 function menus_upgrade($nom_meta_version_base, $version_cible){
10 $maj = array();
11
12 $maj['create'] = array(
13 array('creer_base'),
14 array('ecrire_config', 'menus/entrees_masquees', array('rubriques', 'groupe_mots', 'mapage', 'deconnecter', 'secteurlangue')),
15 );
16
17 $maj['0.5.0'] = array(
18 array('sql_alter', "TABLE spip_menus ADD COLUMN css tinytext DEFAULT '' NOT NULL"),
19 );
20
21 $maj['0.5.1'] = array(
22 array('sql_updateq', 'spip_menus_entrees', array('type_entree'=>'rubriques_completes'), 'type_entree = '.sql_quote('rubriques')),
23 );
24 $maj['0.5.2'] = array(
25 array('menus_fusionne_critere_tri_inverse'),
26 );
27 $maj['0.5.3'] = array(
28 array('menus_fusionne_critere_tri_num_alpha'),
29 );
30
31 include_spip('base/upgrade');
32 maj_plugin($nom_meta_version_base, $version_cible, $maj);
33 }
34
35 function menus_fusionne_critere_tri_num_alpha(){
36
37 $res = sql_select("*","spip_menus_entrees","","","id_menus_entree");
38 while ($row = sql_fetch($res)){
39 #var_dump($row);
40 $params = unserialize($row['parametres']);
41
42 $change = false;
43 if (isset($params['tri_num']) AND isset($params['tri_alpha'])){
44 $tri = "";
45 if (strlen($params['tri_num'])){
46 $tri = "num ".trim($params['tri_num']);
47 $tri = str_replace("num !","!num ",$tri);
48 }
49 else {
50 $tri = trim($params['tri_alpha']);
51 }
52 $params['tri'] = $tri;
53 unset($params['tri_num']);
54 unset($params['tri_alpha']);
55 $change = true;
56 }
57 if (isset($params['tri_num_articles']) AND isset($params['tri_alpha_articles'])){
58 $tri = "";
59 if (strlen($params['tri_num_articles'])){
60 $tri = "num ".trim($params['tri_num_articles']);
61 $tri = str_replace("num !","!num ",$tri);
62 }
63 else {
64 $tri = trim($params['tri_alpha_articles']);
65 }
66 $params['tri_articles'] = $tri;
67 unset($params['tri_num_articles']);
68 unset($params['tri_alpha_articles']);
69 $change = true;
70 }
71
72 if ($change){
73 #var_dump($params);
74 $params = serialize($params);
75 sql_updateq("spip_menus_entrees",array('parametres'=>$params),"id_menus_entree=".intval($row['id_menus_entree']));
76 }
77
78 }
79 }
80
81 function menus_fusionne_critere_tri_inverse(){
82
83 $res = sql_select("*","spip_menus_entrees","","","id_menus_entree");
84 while ($row = sql_fetch($res)){
85 #var_dump($row);
86 $params = unserialize($row['parametres']);
87
88 $change = false;
89 if (isset($params['tri_num_inverse'])
90 AND $params['tri_num_inverse']=='oui'
91 AND strlen($params['tri_num'])){
92 $params['tri_num'] = "!".$params['tri_num'];
93 $change = true;
94 unset($params['tri_num_inverse']);
95 }
96 if (isset($params['tri_alpha_inverse'])
97 AND $params['tri_alpha_inverse']=='oui'
98 AND strlen($params['tri_alpha'])){
99 $params['tri_alpha'] = "!".$params['tri_alpha'];
100 $change = true;
101 unset($params['tri_alpha_inverse']);
102 }
103 if (isset($params['tri_num_articles_inverse'])
104 AND $params['tri_num_articles_inverse']=='oui'
105 AND strlen($params['tri_num_articles'])){
106 $params['tri_num_articles'] = "!".$params['tri_num_articles'];
107 $change = true;
108 unset($params['tri_num_articles_inverse']);
109 }
110 if (isset($params['tri_alpha_articles_inverse'])
111 AND $params['tri_alpha_articles_inverse']=='oui'
112 AND strlen($params['tri_alpha_articles'])){
113 $params['tri_alpha_articles'] = "!".$params['tri_alpha_articles'];
114 $change = true;
115 unset($params['tri_alpha_articles_inverse']);
116 }
117
118 if ($change){
119 $params = serialize($params);
120 sql_updateq("spip_menus_entrees",array('parametres'=>$params),"id_menus_entree=".intval($row['id_menus_entree']));
121 #var_dump($params);
122 }
123
124 }
125 }
126
127 // Désinstallation
128 function menus_vider_tables($nom_meta_version_base){
129 include_spip('base/abstract_sql');
130
131 // On efface les tables du plugin
132 sql_drop_table('spip_menus');
133 sql_drop_table('spip_menus_entrees');
134
135 // On efface la version enregistrée
136 effacer_meta($nom_meta_version_base);
137 // On efface la config
138 effacer_meta('menus');
139 }
140
141 ?>