source: plugins_spip/inscription3/inscription3_pipelines.php @ 2979

Last change on this file since 2979 was 2979, checked in by kent1, 11 years ago

On continue à tout passer en inscription3

File size: 6.4 KB
Line 
1<?php
2/**
3 * Plugin Inscription3
4 * Licence GPL v3
5 *
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10/**
11 *
12 * Insertion dans le pipeline ajouter_boutons
13 * Modifie le bouton afficher les visiteurs aux webmestres
14 *
15 * @return
16 * @param object $boutons_admin
17 */
18function inscription3_ajouter_boutons($boutons_admin){
19        if ($GLOBALS['connect_statut'] == "0minirezo" && $GLOBALS["connect_toutes_rubriques"]) {
20                unset($boutons_admin['auteurs']->sousmenu['auteurs']);
21                unset($boutons_admin['bando_reactions']->sousmenu['visiteurs']);
22        }
23        return $boutons_admin;
24}
25
26/**
27 *
28 * Insertion dans le pipeline i3_exceptions_des_champs_auteurs_elargis
29 * qui empêche la création de certains champs dans la table
30 * aprÚs les avoir configuré
31 *
32 * @return array Un tableau des champs correspondant au "name" de son input de configuration dans le CFG
33 * @param array $array Prend un tableau en argument qui doit être complété en fonction des besoins
34 */
35
36function inscription3_i3_exceptions_des_champs_auteurs_elargis($array){
37        // liste des champs pour lesquels on ne doit pas créer de champs dans la table spip_auteurs_elargis
38
39        // Principalement les champs déjà présents dans spip_auteurs
40        $array[] = 'id_auteur';
41        $array[] = 'bio';
42        $array[] = 'nom';
43        $array[] = 'pass';
44        $array[] = 'login';
45        $array[] = 'email';
46        $array[] = 'statut';
47        $array[] = 'pgp';
48        $array[] = 'url_site';
49        $array[] = 'nom_site';
50
51        // Des choses spécifiques à inscription3
52        $array[] = 'logo_auteur';
53        $array[] = 'username';
54        $array[] = 'statut_nouveau';
55        $array[] = 'statut_int';
56        $array[] = 'statut_interne';
57        $array[] = 'accesrestreint';
58        $array[] = 'password';
59        $array[] = 'affordance_form';
60        $array[] = 'reglement';
61        $array[] = 'reglement_article';
62        $array[] = 'validation_numero_international';
63        $array[] = 'pays_defaut';
64
65        return $array;
66}
67
68/**
69 *
70 * Insertion dans le pipeline i3_verifications_specifiques du plugin inscription3
71 *
72 * @return array Tableau contenant plusieurs tableaux en fonction du type de champs
73 * @param object $array Doit recevoir un tableau du même type
74 */
75
76function inscription3_i3_verifications_specifiques($array){
77
78        // Les emails : fonction inc/inscrition2_valide_email
79        $array['email'] = 'valide_email';
80
81        // Les logins : fonction inc/inscription3_valide_login
82        $array['login'] = 'valide_login';
83
84        // Les statuts : fonction inc/inscription3_valide_statut
85        $array['statut'] = 'valide_statut';
86
87        // Les codes postaux : fonction inc/inscription3_valide_cp
88        $array['code_postal'] = 'valide_cp';
89        $array['code_postal_pro'] = 'valide_cp';
90
91        // Les numéros de téléphone : fonction inc/inscription3_valide_numero
92        $array['telephone'] = 'valide_numero';
93        $array['fax'] = 'valide_numero';
94        $array['mobile'] = 'valide_numero';
95        $array['telephone_pro'] = 'valide_numero';
96        $array['fax_pro'] = 'valide_numero';
97        $array['mobile_pro'] = 'valide_numero';
98
99        // Verifie que la case du reglement est cochée
100        $array['reglement'] = 'valide_reglement';
101
102        return $array;
103}
104
105/**
106 *
107 * Insertion dans le pipeline affiche_droite
108 * Dans certaines pages définies, afficher le lien d'accÚs à la page des comptes utilisateurs
109 *
110 * @return array Le même tableau qu'il reçoit en argument
111 * @param array $flux Un tableau donnant des informations sur le contenu passé au pipeline
112 */
113
114function inscription3_affiche_droite($flux){
115        if(((preg_match('/^inscription3/',$flux['args']['exec']))
116                 || (preg_match('/^auteur/',$flux['args']['exec']))
117                 || (preg_match('/^i3_/',$flux['args']['exec']))
118                 || (($flux['args']['exec'] == 'cfg') && ((_request('cfg') == 'inscription3') || preg_match('/^i3_/',_request('cfg'))))
119                )
120                 && ($flux['args']['exec'] != 'inscription3_adherents')){
121        $flux['data'] .= recuperer_fond('prive/inscription3_affiche_droite');
122        }
123        return $flux;
124}
125
126/**
127 * i3_definition_champs
128 */
129
130function inscription3_i3_definition_champs($flux){
131        $config_i2 = lire_config('inscription3');
132
133        $flux['pays'] = array(
134                'table' => 'auteur', // sur quelle table ?
135                'champ' => 'pays', // nom sql
136                'label' => 'inscription3:pays', // chaine de langue 'prefix:cle'
137                'type' => 'pays', // type de saisie
138                'saisie_externe' => 'true',
139                'sql' => "int NOT NULL", // declaration sql
140                'saisie_parametres' => array('option_intro'=>_T('inscription3:aucun')),
141                'defaut' => $config_i2['pays_defaut'] ? $config_i2['pays_defaut'] : '',
142                'obligatoire' => ($config_i2['pays_obligatoire'] == 'on') ? true : false,
143        );
144        $flux['pays_pro'] = array(
145                'table' => 'auteur', // sur quelle table ?
146                'champ' => 'pays_pro', // nom sql
147                'label' => 'inscription3:pays_pro', // chaine de langue 'prefix:cle'
148                'type' => 'pays', // type de saisie
149                'saisie_externe' => 'true',
150                'sql' => "int NOT NULL", // declaration sql
151                'saisie_parametres' => array('option_intro'=>_T('inscription3:aucun')),
152                'obligatoire' => ($config_i2['pays_pro_obligatoire'] == 'on') ? true : false,
153        );
154        $flux['validite'] = array(
155                'table' => 'auteur', // sur quelle table ?
156                'champ' => 'validite', // nom sql
157                'label' => 'inscription3:validite', // chaine de langue 'prefix:cle'
158                'type' => 'date', // type de saisie
159                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
160        );
161        $flux['creation'] = array(
162                'table' => 'auteur', // sur quelle table ?
163                'champ' => 'creation', // nom sql
164                'label' => 'inscription3:creation', // chaine de langue 'prefix:cle'
165                'type' => 'date', // type de saisie
166                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
167        );
168        $flux['naissance'] = array(
169                'table' => 'auteur', // sur quelle table ?
170                'champ' => 'naissance', // nom sql
171                'label' => 'inscription3:naissance', // chaine de langue 'prefix:cle'
172                'type' => 'pays', // type de saisie
173                'sql' => "DATE DEFAULT '0000-00-00' NOT NULL", // declaration sql
174                'obligatoire' => ($config_i2['naissance_obligatoire'] == 'on') ? true : false,
175        );
176        $flux['adresse'] = array(
177                'table' => 'auteur', // sur quelle table ?
178                'champ' => 'adresse', // nom sql
179                'label' => 'inscription3:adresse', // chaine de langue 'prefix:cle'
180                'type' => 'bloc', // type de saisie
181                'sql' => "text NOT NULL", // declaration sql
182                'obligatoire' => ($config_i2['adresse_obligatoire'] == 'on') ? true : false,
183        );
184        $flux['adresse_pro'] = array(
185                'table' => 'auteur', // sur quelle table ?
186                'champ' => 'adresse_pro', // nom sql
187                'label' => 'inscription3:adresse_pro', // chaine de langue 'prefix:cle'
188                'type' => 'bloc', // type de saisie
189                'sql' => "text NOT NULL", // declaration sql
190                'obligatoire' => ($config_i2['adresse_pro_obligatoire'] == 'on') ? true : false,
191        );
192        return $flux;
193}
194?>
Note: See TracBrowser for help on using the repository browser.