Changeset 3014


Ignore:
Timestamp:
03/04/10 20:52:37 (11 years ago)
Author:
kent1
Message:

Améliorer la gestion des champs dans champs extras 2

Location:
plugins_spip/inscription3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • plugins_spip/inscription3/base/inscription3.php

    r2979 r3014  
    4545                        include_spip('inc/plugin');
    4646                        installe_plugins();
    47                         $config = lire_config('inscription3');
     47                        $config = lire_config('inscription3',array());
    4848                }
    4949
     
    5252                foreach($config as $clef => $val) {
    5353                        $cle = preg_replace("/_(obligatoire|fiche|table).*/", "", $clef);
    54                         if(!in_array($cle,$champ_presents)){
     54                        if(!in_array($cle,$champ_presents) && ($val == 'on')){
    5555                                if(!in_array($cle,$exceptions_des_champs_auteurs_elargis) and !ereg("^(categories|zone|newsletter).*$", $cle)  and ($val == 'on')){
    5656                                        $champ_presents[] = $cle;
    5757                                        if(array_key_exists($cle,$definitions_champs)){
    58                                                 $champs[] = new ChampExtra($definitions_champs[$cle]);
     58                                                $array_defaut = array(
     59                                                        'table' => 'auteur', // sur quelle table ?
     60                                                        'champ' => $cle, // nom sql
     61                                                        'label' => 'inscription3:'.$cle, // chaine de langue 'prefix:cle'
     62                                                        'type' => 'ligne', // type de saisie
     63                                                        'sql' => "text NOT NULL", // declaration sql
     64                                                        'obligatoire' => (lire_config('inscription3/'.$cle.'_obligatoire') == 'on') ? true : false,
     65                                                );
     66                                                $array = array_merge($array_defaut,$definitions_champs[$cle]);
     67                                                $champs[] = new ChampExtra($array);
    5968                                        }
    6069                                        else
  • plugins_spip/inscription3/inscription3_pipelines.php

    r3013 r3014  
    9090
    9191        // Les numéros de téléphone : fonction verifier/telephone
    92         $array['telephone'] = 'telephones';
     92        $array['telephone'] = 'telephone';
    9393        $array['fax'] = 'telephone';
    9494        $array['mobile'] = 'telephone';
     
    133133
    134134        $flux['pays'] = array(
    135                 'table' => 'auteur', // sur quelle table ?
    136                 'champ' => 'pays', // nom sql
    137                 'label' => 'inscription3:pays', // chaine de langue 'prefix:cle'
    138135                'type' => 'pays', // type de saisie
    139136                'saisie_externe' => 'true',
    140137                'sql' => "int NOT NULL", // declaration sql
    141138                'saisie_parametres' => array('option_intro'=>_T('inscription3:aucun')),
    142                 'defaut' => $config_i3['pays_defaut'] ? $config_i3['pays_defaut'] : '',
    143                 'obligatoire' => ($config_i3['pays_obligatoire'] == 'on') ? true : false,
     139                'defaut' => $config_i3['pays_defaut'] ? $config_i3['pays_defaut'] : ''
    144140        );
    145141        $flux['pays_pro'] = array(
    146                 'table' => 'auteur', // sur quelle table ?
    147                 'champ' => 'pays_pro', // nom sql
    148                 'label' => 'inscription3:pays_pro', // chaine de langue 'prefix:cle'
    149142                'type' => 'pays', // type de saisie
    150143                'saisie_externe' => 'true',
    151144                'sql' => "int NOT NULL", // declaration sql
    152                 'saisie_parametres' => array('option_intro'=>_T('inscription3:aucun')),
    153                 'obligatoire' => ($config_i3['pays_pro_obligatoire'] == 'on') ? true : false,
     145                'saisie_parametres' => array('option_intro'=>_T('inscription3:aucun'))
    154146        );
    155147        $flux['validite'] = array(
    156                 'table' => 'auteur', // sur quelle table ?
    157                 'champ' => 'validite', // nom sql
    158                 'label' => 'inscription3:validite', // chaine de langue 'prefix:cle'
    159148                'type' => 'date', // type de saisie
    160149                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
    161150        );
    162151        $flux['creation'] = array(
    163                 'table' => 'auteur', // sur quelle table ?
    164                 'champ' => 'creation', // nom sql
    165                 'label' => 'inscription3:creation', // chaine de langue 'prefix:cle'
    166152                'type' => 'date', // type de saisie
     153                'saisie_externe' => 'true',
    167154                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
    168155        );
    169156        $flux['naissance'] = array(
    170                 'table' => 'auteur', // sur quelle table ?
    171                 'champ' => 'naissance', // nom sql
    172                 'label' => 'inscription3:naissance', // chaine de langue 'prefix:cle'
    173                 'type' => 'pays', // type de saisie
     157                'type' => 'date', // type de saisie
     158                'saisie_externe' => 'true',
    174159                'sql' => "DATE DEFAULT '0000-00-00' NOT NULL", // declaration sql
    175                 'obligatoire' => ($config_i3['naissance_obligatoire'] == 'on') ? true : false,
    176160        );
    177         $flux['adresse'] = array(
    178                 'table' => 'auteur', // sur quelle table ?
    179                 'champ' => 'adresse', // nom sql
    180                 'label' => 'inscription3:adresse', // chaine de langue 'prefix:cle'
    181                 'type' => 'bloc', // type de saisie
    182                 'sql' => "text NOT NULL", // declaration sql
    183                 'obligatoire' => ($config_i3['adresse_obligatoire'] == 'on') ? true : false,
    184         );
    185         $flux['adresse_pro'] = array(
    186                 'table' => 'auteur', // sur quelle table ?
    187                 'champ' => 'adresse_pro', // nom sql
    188                 'label' => 'inscription3:adresse_pro', // chaine de langue 'prefix:cle'
    189                 'type' => 'bloc', // type de saisie
    190                 'sql' => "text NOT NULL", // declaration sql
    191                 'obligatoire' => ($config_i3['adresse_pro_obligatoire'] == 'on') ? true : false,
    192         );
     161        $flux['adresse']['type'] = 'bloc';
     162
     163        $flux['adresse_pro']['type'] = 'bloc';
     164
     165        $flux['telephone']['verifier'] = 'telephone';
     166        $flux['telephone_pro']['verifier'] = 'telephone';
     167        $flux['fax']['verifier'] = 'telephone';
     168        $flux['fax_pro']['verifier'] = 'telephone';
     169        $flux['mobile']['verifier'] = 'telephone';
     170        $flux['mobile']['verifier'] = 'telephone';
     171
     172        $flux['code_postal']['verifier'] = 'codepostal';
     173        $flux['code_postal_pro']['verifier'] = 'codepostal';
     174
    193175        return $flux;
    194176}
Note: See TracChangeset for help on using the changeset viewer.