source: spip-zone/_plugins_/joindre_auto_zone/jaz_pipelines.php @ 60893

Last change on this file since 60893 was 60893, checked in by cyril@…, 9 years ago

Permet d'ajouter automatiquement tout nouvel auteur à une zone (ou une liste de zones) d'accès restreint définie dans les options du site.

File size: 1.7 KB
Line 
1<?php
2/**
3 * JAZ - Joindre Automatiquement une Zone
4 * Cyril MARION (c)2012 GPL
5 *
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9include_spip('jaz_fonctions');
10
11/**
12 * Détecter la création d'un nouvel auteur (via 'inscription' ou 'editer_auteur') et demander son ajout aux zones
13 * @param array $flux
14 * @return array
15 */
16function jaz_formulaire_traiter($flux){
17
18    // Si on est sur le formulaire d'inscription d'un nouveau visiteur
19    if ($flux['args']['form']=='inscription'){
20        // on chope le mail pour la requete plus bas...
21        $mail = _request('mail_inscription');
22        if (function_exists('test_inscription'))
23            $f = 'test_inscription';
24        else    $f = 'test_inscription_dist';
25
26        // On teste la validité de l'inscription
27        $desc = $f($mode, $mail, $flux['args']['args'][0], $flux['args']['args'][2]);
28
29        if (is_array($desc)
30            AND $mail = $desc['email']){
31            include_spip('base/abstract_sql');
32
33            // On cherche le numéro de l'auteur dont le mail a été saisi
34            $auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'email="'.$mail.'"');
35
36            // On ajoute cet auteur aux zones
37            jaz_ajouter_auteur_zones($auteur);
38
39        }
40    }
41    // Si on est sur le formulaire d'édition d'un auteur
42    if ($flux['args']['form']=='editer_auteur'){
43        if (!intval($flux['args']['args'][0])
44            AND intval($flux['data']['id_auteur'])
45        ){
46            $id_auteur = $flux['data']['id_auteur'];
47            include_spip('base/abstract_sql');
48
49            // On ajoute cet auteur aux zones
50            jaz_ajouter_auteur_zones($auteur);
51        }
52    }
53    return $flux;
54}
55
56
57?>
Note: See TracBrowser for help on using the repository browser.