source: plugins_spip/inscription3/inscription3_pipelines.php @ 3013

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

On passe les vérifications par l'api vérifier

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 verifier/email
79        $array['email'] = 'valide_email';
80
81        // Les logins : fonction verifier/login
82        $array['login'] = 'login';
83
84        // Les statuts : fonction verifier/statut
85        $array['statut'] = 'statut';
86
87        // Les codes postaux : fonction verifier/codepostal
88        $array['code_postal'] = 'codepostal';
89        $array['code_postal_pro'] = 'codepostal';
90
91        // Les numéros de téléphone : fonction verifier/telephone
92        $array['telephone'] = 'telephones';
93        $array['fax'] = 'telephone';
94        $array['mobile'] = 'telephone';
95        $array['telephone_pro'] = 'telephone';
96        $array['fax_pro'] = 'telephone';
97        $array['mobile_pro'] = 'telephone';
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 * Définition spécifique des champs qui ne sont pas de type text
129 */
130
131function inscription3_i3_definition_champs($flux){
132        $config_i3 = lire_config('inscription3');
133
134        $flux['pays'] = array(
135                'table' => 'auteur', // sur quelle table ?
136                'champ' => 'pays', // nom sql
137                'label' => 'inscription3:pays', // chaine de langue 'prefix:cle'
138                'type' => 'pays', // type de saisie
139                'saisie_externe' => 'true',
140                'sql' => "int NOT NULL", // declaration sql
141                '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,
144        );
145        $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'
149                'type' => 'pays', // type de saisie
150                'saisie_externe' => 'true',
151                '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,
154        );
155        $flux['validite'] = array(
156                'table' => 'auteur', // sur quelle table ?
157                'champ' => 'validite', // nom sql
158                'label' => 'inscription3:validite', // chaine de langue 'prefix:cle'
159                'type' => 'date', // type de saisie
160                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
161        );
162        $flux['creation'] = array(
163                'table' => 'auteur', // sur quelle table ?
164                'champ' => 'creation', // nom sql
165                'label' => 'inscription3:creation', // chaine de langue 'prefix:cle'
166                'type' => 'date', // type de saisie
167                'sql' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // declaration sql
168        );
169        $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
174                'sql' => "DATE DEFAULT '0000-00-00' NOT NULL", // declaration sql
175                'obligatoire' => ($config_i3['naissance_obligatoire'] == 'on') ? true : false,
176        );
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        );
193        return $flux;
194}
195?>
Note: See TracBrowser for help on using the repository browser.