source: spip-zone/_plugins_/_test_/inscription2/inscription2_2_0/inc/inscription2_verifier_tables.php @ 28059

Last change on this file since 28059 was 28059, checked in by kent1@…, 10 years ago

On renomme le pipeline "I2_exceptions_des_champs_auteurs_elargis" en "i2_exceptions_des_champs_auteurs_elargis"

La description du fond CFG passe en chaine de langues

On vire définitivement ce qui concerne les sociétés (liste)

On vire l'inclure pour spip-listes qui nécessite dorénavant le sous plugin "Spip-listes pour inscription2"

On vire également les chaines de langues de spip-listes

File size: 2.4 KB
Line 
1<?php
2function inc_inscription2_verifier_tables_dist(){
3        $exceptions_des_champs_auteurs_elargis = pipeline('i2_exceptions_des_champs_auteurs_elargis',array());
4        spip_log('INCRIPTION 2 : verification des tables','inscription2');
5       
6        //definition de la table cible
7        $table_nom = "spip_auteurs_elargis";
8        $desc = sql_showtable($table_nom,'', false);
9               
10        if(isset($desc['field']) and $desc['key']['PRIMARY KEY']!='id_auteur'){
11                if(!isset($desc['field']['id_auteur'])){
12                        sql_alter("TABLE ".$table_nom." ADD id_auteur INT NOT NULL PRIMARY KEY");
13                }
14                sql_alter("TABLE ".$table_nom." DROP id, DROP INDEX id_auteur, ADD PRIMARY KEY (id_auteur)");
15        }else if(!$desc){
16                sql_create($table_nom,
17                        array("id_auteur"=> "bigint(21) NOT NULL default '0'"),
18                        array('PRIMARY KEY' => "id_auteur")
19                );
20        }
21       
22        if (is_array(lire_config('inscription2'))){
23                $clef_passee = array();
24                foreach(lire_config('inscription2',array()) as $clef => $val) {
25                        $cle = ereg_replace("_(obligatoire|fiche|table).*", "", $clef);
26                        if(!in_array($cle,$clef_passee)){
27                                if(!in_array($cle,$exceptions_des_champs_auteurs_elargis) and !ereg("^(categories|zone|newsletter).*$", $cle) ){
28                                        if($cle == 'naissance' and !isset($desc['field'][$cle]) and _request($clef)!=''){
29                                                sql_alter("TABLE ".$table_nom." ADD ".$cle." DATE DEFAULT '0000-00-00' NOT NULL");
30                                                $desc['field'][$cle] = "DATE DEFAULT '0000-00-00' NOT NULL";
31                                        }elseif(_request($clef)!='' and !isset($desc['field'][$cle]) and $cle == 'validite'){
32                                                sql_alter("TABLE ".$table_nom." ADD ".$cle." datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
33                                                $desc['field'][$cle] = "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL";
34                                        }elseif(_request($clef)!='' and !isset($desc['field'][$cle]) and $cle == 'pays'){
35                                                sql_alter("TABLE ".$table_nom." ADD ".$cle." int NOT NULL");
36                                                $desc['field'][$cle] = " int NOT NULL";
37                                        }elseif(!isset($desc['field'][$cle]) and _request($clef)!=''){
38                                                sql_alter("TABLE ".$table_nom." ADD ".$cle." text NOT NULL");
39                                                $desc['field'][$cle] = "text NOT NULL";
40                                        }
41                                }
42                                if(in_array($cle,$exceptions_des_champs_auteurs_elargis)){
43                                        spip_log("INSCRIPTION 2 : le champs $cle est dans les exception de creation de champs...",'inscription2');
44                                }
45                                $clef_passee[] = $cle;
46                        }
47                }
48        }
49       
50        if($GLOBALS['meta']['spiplistes_version'] and !isset($desc['field']['spip_listes_format']))
51                sql_alter("TABLE `".$table_nom."` ADD `spip_listes_format` VARCHAR(8) DEFAULT 'non' NOT NULL");
52}
53?>
Note: See TracBrowser for help on using the repository browser.