source: spip-zone/_plugins_/inscription2/inscription2_spiplistes/i2_spiplistes_pipelines.php @ 32382

Last change on this file since 32382 was 32382, checked in by booz@…, 11 years ago

les id sont uniques

File size: 2.0 KB
Line 
1<?php
2        function i2_spiplistes_i2_cfg_form($flux){
3                //Le pavé de configuration dans le CFG d'inscription2
4                $flux .= recuperer_fond('fonds/inscription2_spiplistes');
5                return $flux;
6        }
7       
8        function i2_spiplistes_i2_form_fin($flux){
9                // Le pavé dédié aux listes dans le formulaire d'inscription
10                // ou de changement de profil
11                if ((lire_config('inscription2/newsletter') == 'on') && (count(lire_config('inscription2/newsletters'))>0)){
12                        $flux['data'] .= recuperer_fond('formulaires/inscription2_form_listes',$flux['args']);
13                }
14                return $flux;
15        }
16       
17        function i2_spiplistes_i2_charger_formulaire($flux){
18                // Ajouter un array() $listes dans les $valeurs envoyées au formulaire.
19                if((is_numeric($flux['data']['id_auteur'])) && (lire_config('inscription2/newsletter') == 'on')){
20                        // selectionner les listes de l'auteur
21                        $res = sql_select('id_liste',  'spip_auteurs_listes',  'id_auteur='.$flux['data']['id_auteur']);
22
23                        // boucler les resultats
24                        while($liste = sql_fetch($res)){
25                                $listes[] = $liste['id_liste'];
26                        }
27                        $flux['data']['listes'] = $listes;
28                }else{
29                        $flux['data']['listes'] = _request('newsletters');
30                }
31                return $flux;
32        }
33       
34        function i2_spiplistes_i2_traiter_formulaire($flux){
35                $id_auteur = $flux['args']['id_auteur'];
36                $listes = _request('newsletters',array()); 
37                $listes_str = is_array($listes)? implode(',',$listes): '0';
38                sql_delete("spip_auteurs_listes","id_auteur=$id_auteur AND id_liste NOT IN ($listes_str)");
39                foreach($listes as $cle => $liste){
40                        if(!$id_liste = sql_getfetsel("id_liste","spip_auteurs_listes","id_auteur=$id_auteur AND id_liste=$liste")){
41                                $couple = array('id_auteur'=>$id_auteur,'id_liste'=>$liste,'date_inscription' => date("Y-m-d H:i:s",time()));
42                                sql_insertq('spip_auteurs_listes',$couple);
43                        }
44                }
45                return $flux;
46        }
47       
48        function i2_spiplistes_i2_exceptions_des_champs_auteurs_elargis($flux){
49                // On ne crée pas de champs dans la table auteurs_elargis pour ces inputs
50                // $flux est un array à compléter
51                $flux[] = 'newsletter';
52                $flux[] = 'newsletters';
53                $flux[] = 'optout';
54               
55                return $flux;
56        }
57?>
Note: See TracBrowser for help on using the repository browser.