source: spip-zone/_plugins_/inscription2/inscription2_2_0/inscription2_mes_options.php @ 31637

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

les ereg_replace deviennent preg_replace

On passe par les apis SPIP pour mettre à jour les tables (maj_tables)

On indente correctement le code

File size: 4.0 KB
Line 
1<?php
2
3include_spip('base/abstract_sql');
4
5/**
6 *
7 * Déclaration des pipelines introduits par le plugin inscription2
8 *
9 */
10
11// Sélectionne les champs qui ne doivent pas être créés dans la tables auteurs_elargis
12// Notamment l'ensemble de la table spip_auteurs
13$GLOBALS['spip_pipeline']['i2_exceptions_des_champs_auteurs_elargis'] = '';
14
15// Sélectionne les champs qui ne doivent pas être chargés dans le formulaire
16// Garde les champs de spip_auteurs et ne prends pas en compte les autres
17$GLOBALS['spip_pipeline']['i2_exceptions_chargement_champs_auteurs_elargis'] = '';
18
19$GLOBALS['spip_pipeline']['i2_verifications_specifiques'] = '';
20$GLOBALS['spip_pipeline']['i2_charger_formulaire'] = '';
21$GLOBALS['spip_pipeline']['i2_verifier_formulaire'] = '';
22$GLOBALS['spip_pipeline']['i2_traiter_formulaire'] = '';
23$GLOBALS['spip_pipeline']['i2_confirmation'] = '';
24$GLOBALS['spip_pipeline']['i2_cfg_form'] = '';
25$GLOBALS['spip_pipeline']['i2_form_debut'] = '';
26$GLOBALS['spip_pipeline']['i2_form_fin'] = '';
27
28/**
29 *
30 * Surcharge de la boucle auteurs (à l'origine: http://doc.spip.org/@boucle_AUTEURS_dist)
31 * <BOUCLE(AUTEURS)>
32 * Création d'une jointure automatique avec spip_auteurs_elargis
33 *
34 * @return
35 * @param object $id_boucle
36 * @param object $boucles
37 */
38function boucle_AUTEURS($id_boucle, &$boucles) {
39        $boucle = &$boucles[$id_boucle];
40        $id_table = $boucle->id_table;
41        $mstatut = $id_table .'.statut';
42
43        // Restreindre aux elements publies
44        if (!isset($boucle->modificateur['criteres']['statut'])) {
45                // Si pas de lien avec un article, selectionner
46                // uniquement les auteurs d'un article publie
47                if (!$GLOBALS['var_preview']){
48                        fabrique_jointures($boucle, array(
49                                array($id_table, array('spip_auteurs_elargis'), 'id_auteur')),
50                                '', true, $boucle->show, $id_table);
51                        if (!isset($boucle->modificateur['lien']) AND !isset($boucle->modificateur['tout'])) {
52                                fabrique_jointures($boucle, array(
53                                        array($id_table, array('spip_auteurs_articles'), 'id_auteur'),
54                                        array('', array('spip_articles'), 'id_article')), true, $boucle->show, $id_table);
55                                $t = array_search('spip_articles', $boucle->from) . '.statut';
56                                array_unshift($boucle->where,array("'='", "'$t'", "'\\'publie\\''"));
57                        }
58                }
59                // pas d'auteurs poubellises
60                array_unshift($boucle->where,array("'!='", "'$mstatut'", "'\\'5poubelle\\''"));
61        }
62
63        return calculer_boucle($id_boucle, $boucles);
64}
65
66/**
67 *
68 * Autorisation pour la table spip_auteurs_elargis
69 * Autorise les visiteurs a modifier leurs infos dans cette table
70 *
71 * @return
72 * @param object $faire
73 * @param object $type
74 * @param object $id
75 * @param object $qui
76 * @param object $opt
77 */
78if (!function_exists('autoriser_spip_auteurs_elargis')) {
79        function autoriser_auteurs_elargi($faire, $type, $id, $qui, $opt) {
80                $query = sql_getfetsel("id_auteur","spip_auteurs_elargis","id_auteur=".$id);
81                if($query['id_auteur']==$qui['id_auteur'])
82                        $qui['id_auteur'] = $id;
83                return autoriser($faire,'auteur', $id, $qui, $opt);
84        }
85}
86
87/**
88 *
89 * Autorisation de modification pour la table spip_auteurs
90 * Autorise les visiteurs a modifier leurs infos dans cette table
91 *
92 * @return
93 * @param object $faire
94 * @param object $type
95 * @param object $id
96 * @param object $qui
97 * @param object $opt
98 */
99if (!function_exists('autoriser_auteur_modifier')) {
100function autoriser_auteur_modifier($faire, $type, $id, $qui, $opt) {
101        // Ni admin ni redacteur => non
102        if (in_array($qui['statut'], array('0minirezo', '1comite')))
103                return autoriser_auteur_modifier_dist($faire, $type, $id, $qui, $opt);
104        else
105                return
106                        $qui['statut'] == '6forum'
107                        AND $id == $qui['id_auteur'];
108        }
109}
110
111if (!function_exists('revision_auteurs_elargi')) {
112        function revision_auteurs_elargi_dist($id, $c=false) {
113                return modifier_contenu('auteurs_elargi', $id,
114                        array(
115                                'champs' => array('nom_famille', 'prenom', 'adresse','ville','code_postal','pays','telephone','fax','mobile','adresse_pro','code_postal_pro','pays_pro','ville_pro','telephone_pro','fax_pro','mobile_pro'),
116                                'nonvide' => array('nom_email' => _T('info_sans_titre'))
117                        ),
118                        $c);
119        }
120}
121?>
Note: See TracBrowser for help on using the repository browser.