source: spip-zone/_plugins_/Association/Associaspip/base/association_gestion.php @ 52494

Last change on this file since 52494 was 52494, checked in by gildas.cotomale@…, 9 years ago

Nettoyer la table des metas des configs qui ne servent plus... (le test supplementaire sur valeur vide est pour le cas ou la transformation en champ utilisateur aurait echouee : on ne perd pas les donnees meme si elle ne sont plus visibles)

File size: 20.7 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations             *
4 *                                                                         *
5 *  Copyright (c) 2007 Bernard Blazin & Fran�ois de Montlivault (V1)       *
6 *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
7 *                                                                         *
8 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
9 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
10\***************************************************************************/
11
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14
15include_spip('base/association');
16include_spip('base/abstract_sql');
17
18// A chaque modif de la base SQL ou ses conventions (raccourcis etc)
19// le fichier plugin.xml doit indiquer le numero de depot qui l'implemente sur
20// http://zone.spip.org/trac/spip-zone/timeline
21// Ce numero est fourni automatiquement par la fonction spip_plugin_install
22// lors de l'appel des fonctions de ce fichier.
23
24// desinstatllation
25
26function association_vider_tables($nom_meta, $table){
27
28$tables_a_supprimer=array(     
29                'spip_asso_activites',
30                'spip_asso_categories',
31                'spip_asso_comptes',
32                'spip_asso_destination',
33                'spip_asso_destination_op',
34                'spip_asso_dons',
35                'spip_asso_plan',
36                'spip_asso_prets',
37                'spip_asso_ressources',
38                'spip_asso_ventes',
39                'spip_association_metas');
40       
41        foreach($tables_a_supprimer as $table);
42                {
43                sql_drop_table($table);
44                spip_log("$table $nom_meta desinstalle");
45                }
46        effacer_meta($nom_meta_base_version);
47        spip_log("$table $nom_meta desinstalle");
48}
49
50// MAJ des tables de la base SQL
51// Retourne 0 si ok, le dernier numero de MAJ ok sinon
52
53function association_upgrade($meta, $courante, $table='meta')
54{
55  // Compatibilite: le nom de la meta donnant le numero de version
56  // n'etait pas std puis est parti dans une autre table puis encore une autre
57        if (!isset($GLOBALS['association_metas']['base_version'])) {
58                lire_metas('asso_metas');
59                if (isset($GLOBALS['asso_metas']['base_version'])) {
60                        $n = $GLOBALS['asso_metas']['base_version'];
61                } elseif (isset($GLOBALS['meta']['association_base_version'])) {
62                        $n = $GLOBALS['meta']['association_base_version'];
63                } else $n = 0;
64                $GLOBALS['association_metas']['base_version'] = $n;
65        } else $n = $GLOBALS['association_metas']['base_version'];
66        effacer_meta('association_base_version');
67        spip_log("association upgrade: $table $meta = $n =>> $courante");
68        if (!$n) {
69                include_spip('base/create');
70                alterer_base($GLOBALS['tables_principales'],
71                             $GLOBALS['tables_auxiliaires']);
72                ecrire_meta($meta, $courante, NULL, $table);
73                return 0; // Reussite (supposee !)
74        } else {
75        // compatibilite avec les numeros de version non entiers
76                $installee = ($n > 1) ? $n : ($n * 100);
77                $GLOBALS['association_maj_erreur'] = 0;
78                if ($courante > $installee) {
79                        include_spip('base/upgrade');
80                        $n = maj_while($installee, $courante, $GLOBALS['association_maj'], $meta, $table);
81                        $n = $n ? $n[0] : $GLOBALS['association_maj_erreur'];
82                        // signaler que les dernieres MAJ sont a refaire
83                        if ($n) ecrire_meta($meta, $n-1, '', $table);
84                }
85                return $GLOBALS['association_maj_erreur'];
86        }
87}
88
89$GLOBALS['association_maj'][21] = array(array('sql_alter',"TABLE spip_asso_membres ADD publication text NOT NULL AFTER secteur"));
90
91$GLOBALS['association_maj'][30] = array(
92        array('sql_drop_table', "spip_asso_bienfaiteurs"),
93        array('sql_drop_table', "spip_asso_financiers")
94                                        );
95
96$GLOBALS['association_maj'][40] = array(
97        array('sql_alter',"TABLE `spip_asso_comptes` ADD `valide` TEXT NOT NULL AFTER `id_journal` "));
98               
99$GLOBALS['association_maj'][50] = array(
100        array('sql_alter',"TABLE spip_asso_activites ADD membres TEXT NOT NULL AFTER accompagne, ADD non_membres TEXT NOT NULL AFTER membres "));
101               
102$GLOBALS['association_maj'][60] = array(array('sql_drop_table', "spip_asso_profil"));
103               
104$GLOBALS['association_maj'][61] = array(
105        array('spip_query',"RENAME TABLE spip_asso_banques TO spip_asso_plan"),
106        array('sql_drop_table',"spip_asso_livres")
107                                        );
108$GLOBALS['association_maj'][62] = array(array('sql_alter',"TABLE spip_asso_plan ADD actif TEXT NOT NULL AFTER commentaires"));
109
110$GLOBALS['association_maj'][63] = array(array('sql_alter',"TABLE spip_asso_ventes ADD id_acheteur BIGINT(20) NOT NULL AFTER acheteur"));
111               
112function association_maj_64(){
113
114        if (_ASSOCIATION_AUTEURS_ELARGIS == 'spip_auteurs_elargis') {
115                sql_alter("TABLE spip_auteurs_elargis ADD validite date NOT NULL default '0000-00-00'");
116                sql_alter("TABLE spip_auteurs_elargis ADD montant float NOT NULL default '0'");
117                sql_alter("TABLE spip_auteurs_elargis ADD date date NOT NULL default '0000-00-00' ");
118        } else {
119                if (_ASSOCIATION_INSCRIPTION2) {
120                        if (!$GLOBALS['association_maj_erreur']) $GLOBALS['association_maj_erreur'] = 64;
121                        return;
122                }
123                // Simulation provisoire
124                @sql_alter("TABLE spip_asso_membres ADD commentaire text NOT NULL default ''");
125                @sql_alter("TABLE spip_asso_membres ADD statut_interne text NOT NULL default '' ");
126                @sql_alter("TABLE spip_asso_membres CHANGE COLUMN nom nom_famille text DEFAULT '' NOT NULL");
127        }
128}
129
130$GLOBALS['association_maj'][64] = array(array('association_maj_64'));
131
132// Recopie des metas geree par CFG dans la table asso_meta
133// Il faut charger a la main ses fichiers puisque plugin.xml ne le demande plus
134
135function association_maj_38192()
136{
137
138
139        if (sql_create('spip_asso_metas', 
140                $GLOBALS['tables_auxiliaires']['spip_asso_metas']['field'],
141                $GLOBALS['tables_auxiliaires']['spip_asso_metas']['key'],
142                false, false)) {
143                include _DIR_PLUGINS . 'cfg/inc/cfg.php';
144                if (is_array($c = lire_config('association'))) {
145                        foreach($c as $k => $v) {
146                                ecrire_meta($k, $v, 'oui', 'association_metas');
147                        }
148                        // effacer les vieilles meta
149                        effacer_meta('association');
150                        effacer_meta('asso_base_version');
151                        effacer_meta('association_base_version');
152                }
153        } else spip_log("maj_38190: echec de  la creation de spip_asso_metas");
154}
155
156$GLOBALS['association_maj'][38192] = array(array('association_maj_38192'));
157
158$GLOBALS['association_maj'][38258] = array(array('sql_create','spip_asso_membres',
159                $GLOBALS['tables_principales']['spip_asso_membres']['field'],
160              $GLOBALS['tables_principales']['spip_asso_membres']['key'])
161                                        );
162$GLOBALS['association_maj'][38578] = array(
163        array('spip_query', 'rename table spip_asso_metas TO spip_association_metas'));
164
165function association_maj_42024()
166{
167        sql_alter("TABLE spip_asso_comptes ADD vu BOOLEAN default 0");
168        sql_update('spip_asso_comptes', array('vu' => 1), "valide='oui'");
169        sql_alter("TABLE spip_asso_comptes DROP valide");
170}
171
172$GLOBALS['association_maj'][42024] = array(array('association_maj_42024'));
173
174/* cette mise a jour comporte une erreur: sql_alter("TABLE spip_asso_plan ADD destination ENUM('credit','debit') NOT NULL default 'credit'"); le champ doit etre nomme direction et non destination */
175function association_maj_43909()
176{
177       
178
179        sql_alter("TABLE spip_asso_plan ADD destination ENUM('credit','debit') NOT NULL default 'credit'");
180        sql_create('spip_asso_destination', 
181                $GLOBALS['tables_principales']['spip_asso_destination']['field'],
182                $GLOBALS['tables_principales']['spip_asso_destination']['key']);
183        sql_create('spip_asso_destination_op', 
184                $GLOBALS['tables_principales']['spip_asso_destination_op']['field'],
185                $GLOBALS['tables_principales']['spip_asso_destination_op']['key']);
186}
187
188$GLOBALS['association_maj'][43909] = array(array('association_maj_43909'));
189
190unset($GLOBALS['association_maj'][43909]); /* pour empecher l'execution de code fautif tout en gardant trace */
191
192function association_maj_46392() /* repare l'erreur commise sur la maj 43909 */
193{
194
195
196        /* on elimine le champ mal nomme */
197        sql_alter("TABLE spip_asso_plan DROP destination");
198
199        /* et on refait la modif correctement: ca risque d'entrainer des erreurs SQL mais c'est pas grave */
200        sql_alter("TABLE spip_asso_plan ADD direction ENUM('credit','debit') NOT NULL default 'credit'");
201        sql_create('spip_asso_destination', 
202                $GLOBALS['tables_principales']['spip_asso_destination']['field'],
203                $GLOBALS['tables_principales']['spip_asso_destination']['key']);
204        sql_create('spip_asso_destination_op', 
205                $GLOBALS['tables_principales']['spip_asso_destination_op']['field'],
206                $GLOBALS['tables_principales']['spip_asso_destination_op']['key']);
207}
208
209$GLOBALS['association_maj'][46392] = array(array('association_maj_46392'));
210
211function association_maj_46779()
212{
213        /* avant d'eliminer reference de la table spip_asso_plan, on recopie sa valeur(si non null) dans le champ commentaires */
214        $rows = sql_select("id_plan, reference, commentaire", 'spip_asso_plan', "reference <> ''");
215        while ($row = sql_fetch($rows)) {
216                $commentaire = $row['commentaire']?$row['commentaire']." - ".$row['reference']:$row['reference'];
217                sql_updateq('spip_asso_plan',
218                        array('commentaire' => $commentaire),
219                        "id_plan=".$row['id_plan']);
220        }
221        sql_alter("TABLE spip_asso_plan DROP reference");
222
223        /* modification du type de direction, on ajoute une troisieme valeur a l'enumeration, on renomme direction en type_op essentiellement
224        pour des raisons de compatibilite avec les differentes bases de donnees supportees par SPIP (impossible d'utiliser ALTER COLUMN ou MODIFY)*/
225        sql_alter("TABLE spip_asso_plan ADD type_op ENUM('credit','debit','multi') NOT NULL default 'multi'"); 
226        sql_update('spip_asso_plan', array('type_op' => 'direction'));
227        sql_alter("TABLE spip_asso_plan DROP direction");
228
229        /* transforme actif en booleen plutot que texte oui/non, et renomme pour la meme raison en active */
230        sql_alter("TABLE spip_asso_plan ADD active BOOLEAN default 1");
231        sql_update('spip_asso_plan', array('active' => 0), "actif='non'");
232        sql_alter("TABLE spip_asso_plan DROP actif");
233
234        /* avant d'eliminer don de la table spip_asso_ventes, on recopie sa valeur(si non null) dans le champ commentaires */
235        $rows = sql_select("id_vente, don, commentaire", 'spip_asso_ventes', "don <> ''");
236        while ($row = sql_fetch($rows)) {
237                $commentaire = $row['commentaire']?$row['commentaire']." - ".$row['don']:$row['don'];
238                sql_updateq('spip_asso_ventes',
239                        array('commentaire' => $commentaire),
240                        "id_vente=".$row['id_vente']);
241        }
242        sql_alter("TABLE spip_asso_ventes DROP don");
243       
244}
245
246$GLOBALS['association_maj'][46779] = array(array('association_maj_46779'));
247
248function association_maj_47144()
249{
250        /* avant d'eliminer id_asso de la table spip_asso_membres, on recopie sa valeur(si non null et non egal a 0) dans le champ commentaires */
251        $rows = sql_select("id_auteur, id_asso, commentaire", 'spip_asso_membres', "id_asso <> '' AND id_asso <> 0");
252        while ($row = sql_fetch($rows)) {
253                $commentaire = $row['commentaire']?$row['commentaire']." - Ref. Int. ".$row['id_asso']:"Ref. Int. ".$row['id_asso'];
254                sql_updateq('spip_asso_membres',
255                        array('commentaire' => $commentaire),
256                        "id_auteur=".$row['id_auteur']);
257        }
258        sql_alter("TABLE spip_asso_membres DROP id_asso");
259}
260
261$GLOBALS['association_maj'][47144] = array(array('association_maj_47144'));
262
263unset($GLOBALS['association_maj'][47144]); /* finalement on garde le champ id_asso, on n'effectue donc pas la maj_47144 */
264
265function association_maj_47501() /* revert de la 47144 pour ceux qui l'aurait effectue avant qu'elle ne soit supprimee */
266{
267        /* on verifie si le champ id_asso existe dans la table spip_asso_membre, si oui, rien a faire, la 47144 n'a pas ete effectuee */
268        $trouver_table = charger_fonction('trouver_table', 'base');
269        $table_membres = $trouver_table('spip_asso_membres');
270        if (!$table_membres['field']['id_asso']) { /* pas de champ id_asso, il faut le restaurer */
271                sql_alter("TABLE spip_asso_membres ADD id_asso TEXT NOT NULL AFTER id_auteur");
272
273                /* on va voir dans commentaire si on trouve un champ qui ressemble a ce que la 47144 a sauvegarde */
274                $rows = sql_select("id_auteur, commentaire", 'spip_asso_membres', "commentaire LIKE '% - Ref. Int. %' OR commentaire LIKE 'Ref. Int. %'");
275                while ($row = sql_fetch($rows)) {
276                        if (preg_match('/^(.*?)( - )?Ref\. Int\. (.*)$/', $row['commentaire'], $matches)) {
277                                $commentaire = $matches[1];
278                                $id_asso = $matches[3];
279                                sql_updateq('spip_asso_membres',
280                                        array('commentaire' => $commentaire, 'id_asso' => $id_asso),
281                                        "id_auteur=".$row['id_auteur']);
282                        }
283                }               
284        }
285}
286$GLOBALS['association_maj'][47501] = array(array('association_maj_47501'));
287
288function association_maj_47731() /* eliminer le champ id_achat de la table ressources car il est inutile et non utilise, rien a sauvegarder */
289{
290        sql_alter("TABLE spip_asso_ressources DROP id_achat");
291}
292
293$GLOBALS['association_maj'][47731] = array(array('association_maj_47731'));
294
295/* mise a jour integrant l'utilisation du plugin Coordonnees */
296function association_maj_48001() 
297{
298        $effectuer_maj = false;
299
300        /* cette partie du code s'execute au premier chargement, on n'a pas encore interroge l'utilisateur sur ce qu'il veut faire de ses donnees si il en a  ou il n'a pas voulu faire la maj */
301        if (!_request('valider_association_maj_coordonnees')) {
302                /* on commence par verifier si des informations de la table spip_asso_membres sont potentiellement transferable vers les tables de coordonnees */
303                $adresse = sql_countsel('spip_asso_membres', "adresse <> '' OR code_postal <> '' OR ville <> ''");
304                $telephone = sql_countsel('spip_asso_membres', "telephone <> '' OR mobile <> ''");
305
306                /* si on n'a pas de donnees a sauvegarder, on fait la mise a jour sans poser de question */
307                if (! ($adresse OR $telephone)) {
308                        $effectuer_maj = true;
309                } else { /* on a des donnees, demander a l'utilisateur ce qu'il veut en faire */
310                        echo '<form method="post" action="">';
311                        echo '<fieldset><p>'._T('asso:maj_coordonnees_intro').'</p>';
312                        /* on commence par determiner si le plugin Coordonnees est installe */
313                        include_spip('inc/plugin');
314                        $liste_plugins = liste_plugin_actifs();
315                        $plugin_coordonnees_actif = isset($liste_plugins['COORDONNEES']);
316
317                        if (!$plugin_coordonnees_actif) {/* Le plugin coordonnees n'est pas actif */
318                                echo '<p>'._T('asso:maj_coordonnees_plugin_inactif').'</p>';
319                        } else { /* le plugin coordonnees est actif */
320                                echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="ignorer">'._T('asso:maj_coordonnees_ignorer').'</input><br/>';
321                                echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="merge" checked="checked">'._T('asso:maj_coordonnees_merge').'</input>';
322                                echo "\n<input type='hidden' name='association_maj_adresses' value='$adresse' />";
323                                echo "\n<input type='hidden' name='association_maj_telephones' value='$telephone' />";
324                        }
325                        echo '<p><input type="submit" name="valider_association_maj_coordonnees" value="'._T('asso:effectuer_la_maj').'"/></p>';
326                        echo '<p>'._T('asso:maj_coordonnees_notes').'</p></fieldset>';
327                        echo '</form>';
328                }
329        } else { /* l'utilisateur veut effectuer la maj, on controle si il y a des precision quand a l'ecrasement de donnees existentes */
330                        $choix_donnees = _request('association_maj_coordonnees_traitement_data');
331                        if ($choix_donnees == "merge") { /* on integre les donnees d'association dans Coordonnees */
332                                include_spip('action/editer_numero');
333                                include_spip('action/editer_adresse');
334                                include_spip('inc/modifier');
335
336                                /* pre-remplissage pour les fonctions insert_numero et insert_adresse de Coordonnees */
337                                $liens = array('objet' => 'auteur'); 
338                                $telephone = array('titre' => 'telephone');
339                                $mobile = array('titre' => 'mobile');
340                                $invalideur = array('invalideur' => 0);
341
342                                /* On recupere les coordonnees utiles */
343                                $coordonnees_membres = sql_select('id_auteur, adresse AS voie, code_postal, ville, telephone, mobile', 'spip_asso_membres', "adresse <> '' OR mobile <> '' OR code_postal <> '' OR ville <> '' OR telephone <> ''");
344                                while ($data = sql_fetch($coordonnees_membres)) {
345                                        $liens['id_objet'] = $data['id_auteur'];
346                                        unset($data['id_auteur']); 
347
348                                        /* si on a un numero de telephone */
349                                        if ($telephone['numero'] = $data['telephone']) {
350                                                if ($id_numero =  insert_numero($liens)) {
351                                                        $invalideur['invalideur'] = "id='id_numero/$id_numero'";
352                                                        modifier_contenu('numero', $id_numero, $invalideur, $telephone);
353                                                }
354                                        }
355                                        unset($data['telephone']); 
356
357                                        /* si on a un numero de mobile */
358                                        if ($mobile['numero'] = $data['mobile']) {
359                                                if ($id_numero = insert_numero($liens)) {
360                                                        $invalideur['invalideur'] = "id='id_numero/$id_numero'";
361                                                        modifier_contenu('numero', $id_numero, $invalideur, $mobile);
362                                                }
363                                        }
364                                        unset($data['mobile']); 
365
366                                        /* si on a une adresse, meme partielle */
367                                        if ($data['voie'] OR $data['code_postal'] OR $data['ville']) {
368                                                if ($id_adresse = insert_adresse($liens)) {
369                                                        $invalideur['invalideur'] = "id='id_adresse/$id_adresse'";
370                                                        modifier_contenu('adresse', $id_adresse, $invalideur, $data);
371                                                }
372                                        }
373                                }
374                                echo "\n<fieldset>", intval(_request('association_maj_adresses')), _T('asso:maj_coordonnees_adresses_inserees'),
375                                  '<br/>', intval(_request('association_maj_telephones')), _T('asso:maj_coordonnees_numeros_inseres'), "\n</fieldset>";
376                        }
377
378                        $effectuer_maj = true;
379        }
380
381        /* on effectue si besoin la mise a jour */
382        if ($effectuer_maj) {
383                /* on supprime les champs de la table spip_asso_membres, ils ont deja ete sauvegarde dans les tables de Coordonnees si besoin */
384                sql_alter("TABLE spip_asso_membres DROP telephone");
385                sql_alter("TABLE spip_asso_membres DROP mobile");
386                sql_alter("TABLE spip_asso_membres DROP adresse");
387                sql_alter("TABLE spip_asso_membres DROP code_postal");
388                sql_alter("TABLE spip_asso_membres DROP ville");
389                sql_alter("TABLE spip_asso_membres DROP email");
390        } else { /* la mise a jour n'est pas effectuee : on le signale dans les maj_erreur pour y revenir au prochain chargement de la page de gestion des plugins */
391                if (!$GLOBALS['association_maj_erreur']) $GLOBALS['association_maj_erreur'] = 48001; 
392        }
393}
394
395$GLOBALS['association_maj'][48001] = array(array('association_maj_48001'));
396
397$GLOBALS['association_maj'][48225] = array(
398
399        array ('sql_alter', "TABLE spip_asso_categories change maj maj timestamp"),
400        array ('sql_alter', "TABLE spip_asso_dons change maj maj timestamp"),
401        array ('sql_alter', "TABLE spip_asso_ventes change maj maj timestamp"),
402        array ('sql_alter', "TABLE spip_asso_comptes change maj maj timestamp"),
403        array ('sql_alter', "TABLE spip_asso_plan change maj maj timestamp"),
404        array ('sql_alter', "TABLE spip_asso_ressources change maj maj timestamp"),
405        array ('sql_alter', "TABLE spip_asso_prets change maj maj timestamp"),
406        array ('sql_alter', "TABLE spip_asso_activites change maj maj timestamp"),
407                                           );
408
409/* cette mise a jour introduit un controle sur l'activation des modules de gestions des dons, */
410/* ventes, prets, activit�s subordonnes a l'activation de la gestion comptable.               */
411/* la fonction de mise a jour desactive donc d'eventuels modules actives si la gestion        */
412/* comptable n'est pas activee                                                               */
413function association_maj_48466()
414{
415        include_spip('inc/association_comptabilite');
416        /* on verifie la validite du plan comptable existant */
417        if ($GLOBALS['association_metas']['comptes'] && !association_valider_plan_comptable()) {
418                ecrire_meta('comptes', '', 'oui', 'association_metas');
419                echo '<p>'._T('asso:maj_desactive_gestion_comptable').'</p>';
420        }
421
422        $desactivation = false;
423        if (!$GLOBALS['association_metas']['comptes']) {
424                if ($GLOBALS['association_metas']['dons']) { ecrire_meta('dons', '', 'oui', 'association_metas'); $desactivation = true; }
425                if ($GLOBALS['association_metas']['ventes']) { ecrire_meta('ventes', '', 'oui', 'association_metas'); $desactivation = true; }
426                if ($GLOBALS['association_metas']['prets']) { ecrire_meta('prets', '', 'oui', 'association_metas'); $desactivation = true; }
427                if ($GLOBALS['association_metas']['activites']) { ecrire_meta('activites', '', 'oui', 'association_metas'); $desactivation = true; }
428        }
429
430        /* si on a desactive des modules, on le signale par un message */
431        if ($desactivation) echo '<p>'._T('asso:maj_desactive_modules').'</p>';
432
433        /* on en profite pour effacer des metas qui ne servent plus */
434        effacer_meta('comptes_stricts', 'association_metas');
435        effacer_meta('indexation', 'association_metas');
436}
437$GLOBALS['association_maj'][48466] = array(array('association_maj_48466'));
438
439function association_maj_51602()
440{
441        sql_alter("TABLE spip_asso_membres ADD date_adhesion DATE AFTER id_asso");
442}
443$GLOBALS['association_maj'][51602] = array(array('association_maj_51602'));
444
445/* Ces champs de configuration n'etant plus geres par defaut, les passer en personalises pour ceux qui les utilisent */
446$GLOBALS['association_maj'][52476] = array(
447        array('sql_update', 'spip_association_metas', array('nom' => "'meta_utilisateur_n_siret'" ), "nom='siret' AND valeur<>''" ),
448        array('sql_delete', 'spip_association_metas', "nom='siret' AND valeur=''" ),
449        array('sql_update', 'spip_association_metas', array('nom' => "'meta_utilisateur_n_tva'" ), "nom='tva' AND valeur<>''" ),
450        );
451        array('sql_delete', 'spip_association_metas', "nom='tva' AND valeur=''" ),
452
453
454?>
Note: See TracBrowser for help on using the repository browser.