source: spip-zone/_plugins_/sel/sel_administrations.php @ 53922

Last change on this file since 53922 was 53922, checked in by zonepro@…, 8 years ago

compatibilité spip3 - spip2 formulaire auteur + sommaire.html (inclusions conditionnelles)

File size: 8.0 KB
Line 
1<?php
2include_spip('base/create');
3
4
5
6function sel_upgrade($nom_meta_base_version, $version_cible){
7
8        $spip_branche_principale = substr($GLOBALS[spip_version_branche], 0, 1);
9
10        $current_version = "0.0";
11        if (isset($GLOBALS['meta'][$nom_meta_base_version]))
12        $current_version = $GLOBALS['meta'][$nom_meta_base_version];
13
14        if ($spip_branche_principale==2) {
15               
16                if ($current_version=="0.0") {
17                        creer_base();
18                        $vue_offreurs = sql_get_select(
19                                $champs = array(
20                                "id_auteur AS id_offreur",
21                                "nom"
22                                ),
23                                "spip_auteurs"
24                        );
25                        $vue_demandeurs = sql_get_select(
26                                $champs = array(
27                                "id_auteur AS id_demandeur",
28                                "nom"
29                                ),
30                                "spip_auteurs"
31                        );
32                        $vue_valideurs = sql_get_select(
33                                $champs = array(
34                                "id_auteur AS id_valideur",
35                                "nom"
36                                ),
37                                "spip_auteurs"
38                        );
39                        sql_create_view(spip_offreurs,$vue_offreurs);
40                        sql_create_view(spip_demandeurs,$vue_demandeurs);
41                        sql_create_view(spip_valideurs,$vue_valideurs);
42                        ecrire_meta($nom_meta_base_version, $current_version=$version_cible);
43
44                        // Fourniture de quelques SELs pour démarrer (juste pour l'exemple, supprimer ces lignes par la suite)
45                        $qqs_sels = 'spip_sels';
46                        sql_insertq_multi($qqs_sels, array(
47                                array(
48                                        'id_sel' => '1',
49                                        'nom' => 'JEU',
50                                        'num_adhesion' => '',
51                                        'etat_compte' => '',
52                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
53                                        'adresse1' => 'le monde !',
54                                        'adresse2' => '',
55                                        'code_postal' => '00000',
56                                        'ville' => '',
57                                        'pays' => '',
58                                        'tel1' => '',
59                                        'tel2' => '',
60                                        'email' => '',
61                                        'nom_unite' => '',
62                                        'credit_ouverture' => '',
63                                        'validation_echange' => '',
64                                        'cotisation_unite' => '',
65                                        'cotisation_montant_taux' => ''
66                                ),
67
68                                array(
69                                        'id_sel' => '2',
70                                        'nom' => 'SEL de Paris',
71                                        'num_adhesion' => '',
72                                        'etat_compte' => '',
73                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
74                                        'adresse1' => '1/3 rue Frédérick Lemaître',
75                                        'adresse2' => 'BP41',
76                                        'code_postal' => '75020',
77                                        'ville' => 'PARIS',
78                                        'pays' => 'France',
79                                        'tel1' => '',
80                                        'tel2' => '',
81                                        'email' => 'contact@seldeparis.org',
82                                        'nom_unite' => 'piaf',
83                                        'credit_ouverture' => '',
84                                        'validation_echange' => '',
85                                        'cotisation_unite' => '',
86                                        'cotisation_montant_taux' => ''
87                                ),
88                                array(
89                                        'id_sel' => '3',
90                                        'nom' => 'SEL de Loire',
91                                        'num_adhesion' => '',
92                                        'etat_compte' => '',
93                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
94                                        'adresse1' => '-',
95                                        'adresse2' => '',
96                                        'code_postal' => '37000',
97                                        'ville' => 'TOURS',
98                                        'pays' => 'France',
99                                        'tel1' => '',
100                                        'tel2' => '',
101                                        'email' => 'contact@seldeloire.org',
102                                        'nom_unite' => 'unité',
103                                        'credit_ouverture' => '',
104                                        'validation_echange' => '',
105                                        'cotisation_unite' => '',
106                                        'cotisation_montant_taux' => ''
107                                )
108                        ));
109                       
110                        $qqs_orgs = 'spip_organisations';
111                        sql_insertq_multi($qqs_orgs, array(
112                                array(
113                                        'id_organisation' => '1',
114                                        'nom' => 'Route des SEL',
115                                        'description' => 'La route des SEL'
116                                ),
117                                array(
118                                        'id_organisation' => '2',
119                                        'nom' => 'Selidaire',
120                                        'description' => 'Selidaire'
121                                ),
122                                array(
123                                        'id_organisation' => '3',
124                                        'nom' => 'le MES',
125                                        'description' => 'Acteurs de l\'Econimie Sociale et Solidaire'
126                                ),
127                        ));
128                }
129                       
130                // if (version_compare($current_version,"0.2","<")) {
131                        // mise à jour de la structure des tables
132                        // maj_tables('spip_xxx');
133                        // ecrire_meta($nom_meta_base_version,$current_version="0.2");
134                // }
135               
136        }
137       
138        if ($spip_branche_principale==3) {     
139                $maj = array();
140                $maj['create'] = array(         // pour première installation
141                        array('maj_tables', array('spip_auteurs','spip_sels','spip_organisations','spip_annonces','spip_echanges','spip_themes','spip_correspondances','spip_parametres','spip_themes_annonces')),
142                       
143                        // debug :
144                        // array('maj_tables', array('spip_sels'))
145                );             
146
147                if ($current_version=="0.0") {         
148                        $vue_offreurs = sql_get_select(
149                                $champs = array(
150                                "id_auteur AS id_offreur",
151                                "nom"
152                                ),
153                                "spip_auteurs"
154                        );
155                        $vue_demandeurs = sql_get_select(
156                                $champs = array(
157                                "id_auteur AS id_demandeur",
158                                "nom"
159                                ),
160                                "spip_auteurs"
161                        );
162                        $vue_valideurs = sql_get_select(
163                                $champs = array(
164                                "id_auteur AS id_valideur",
165                                "nom"
166                                ),
167                                "spip_auteurs"
168                        );
169                        sql_create_view(spip_offreurs,$vue_offreurs);
170                        sql_create_view(spip_demandeurs,$vue_demandeurs);
171                        sql_create_view(spip_valideurs,$vue_valideurs);
172                       
173                        // Fourniture de quelques SELs pour démarrer (juste pour l'exemple, supprimer ces lignes par la suite)
174                        $qqs_sels = 'spip_sels';
175                        sql_insertq_multi($qqs_sels, array(
176                                array(
177                                        'id_sel' => '1',
178                                        'nom' => 'JEU',
179                                        'num_adhesion' => '',
180                                        'etat_compte' => '',
181                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
182                                        'adresse1' => 'le monde !',
183                                        'adresse2' => '',
184                                        'code_postal' => '00000',
185                                        'ville' => '',
186                                        'pays' => '',
187                                        'tel1' => '',
188                                        'tel2' => '',
189                                        'email' => '',
190                                        'nom_unite' => '',
191                                        'credit_ouverture' => '',
192                                        'validation_echange' => '',
193                                        'cotisation_unite' => '',
194                                        'cotisation_montant_taux' => ''
195                                ),
196
197                                array(
198                                        'id_sel' => '2',
199                                        'nom' => 'SEL de Paris',
200                                        'num_adhesion' => '',
201                                        'etat_compte' => '',
202                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
203                                        'adresse1' => '1/3 rue Frédérick Lemaître',
204                                        'adresse2' => 'BP41',
205                                        'code_postal' => '75020',
206                                        'ville' => 'PARIS',
207                                        'pays' => 'France',
208                                        'tel1' => '',
209                                        'tel2' => '',
210                                        'email' => 'contact@seldeparis.org',
211                                        'nom_unite' => 'piaf',
212                                        'credit_ouverture' => '',
213                                        'validation_echange' => '',
214                                        'cotisation_unite' => '',
215                                        'cotisation_montant_taux' => ''
216                                ),
217                               
218                                array(
219                                        'id_sel' => '3',
220                                        'nom' => 'SEL de Loire',
221                                        'num_adhesion' => '',
222                                        'etat_compte' => '',
223                                        'etat_compte_depuis' => '0000-00-00 00:00:00',
224                                        'adresse1' => '-',
225                                        'adresse2' => '',
226                                        'code_postal' => '37000',
227                                        'ville' => 'TOURS',
228                                        'pays' => 'France',
229                                        'tel1' => '',
230                                        'tel2' => '',
231                                        'email' => 'contact@seldeloire.org',
232                                        'nom_unite' => 'unité',
233                                        'credit_ouverture' => '',
234                                        'validation_echange' => '',
235                                        'cotisation_unite' => '',
236                                        'cotisation_montant_taux' => ''
237                                )
238                        ));
239
240                        $qqs_orgs = 'spip_organisations';
241                        sql_insertq_multi($qqs_orgs, array(
242                                array(
243                                        'id_organisation' => '1',
244                                        'nom' => 'Route des SEL',
245                                        'description' => 'La route des SEL'
246                                ),
247                                array(
248                                        'id_organisation' => '2',
249                                        'nom' => 'Selidaire',
250                                        'description' => 'Selidaire'
251                                ),
252                                array(
253                                        'id_organisation' => '3',
254                                        'nom' => 'le MES',
255                                        'description' => 'Acteurs de l\'Econimie Sociale et Solidaire'
256                                ),
257                        ));
258                       
259                }
260               
261                // $maj['1.1.0'] = array(...)    // pour mises à jour
262                include_spip('base/upgrade');
263                maj_plugin($nom_meta_base_version, $version_cible, $maj);       
264        }
265       
266}               
267
268       
269function sel_vider_tables($nom_meta_base_version) {
270        // sql_alter("TABLE spip_xxx DROP champ");
271        // pour supprimer un champ du plugin sur une table de base de spip, auparaveant ajouté par ce plugin
272       
273        sql_alter("TABLE spip_auteurs DROP adresse1, DROP adresse2, DROP code_postal, DROP ville, DROP pays, DROP tel1, DROP tel2, DROP commentaires");
274        sql_drop_table("spip_sels");
275        sql_drop_table("spip_organisations");
276        sql_drop_table("spip_annonces");
277        sql_drop_table("spip_echanges");
278        sql_drop_table("spip_themes");
279        sql_drop_table("spip_parametres");
280        sql_drop_table("spip_themes_annonces");
281        sql_drop_table("spip_correspondances");
282        // pour supprimer une table entière appartenant au plugin qu'on supprime
283       
284        sql_drop_view("spip_offreurs");
285        sql_drop_view("spip_demandeurs");
286        sql_drop_view("spip_valideurs");
287        // pour supprimer une vue appartenant au plugin qu'on supprime
288       
289        effacer_meta($nom_meta_base_version);
290        // suppression des informations du plugin dans la table meta
291}
292
293
294?>
Note: See TracBrowser for help on using the repository browser.