source: spip-zone/_plugins_/abomailmans/trunk/formulaires/editer_abomailman.php @ 60009

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

le chargement était cassé à cause d'un mauvais nom de fonction

File size: 4.4 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5include_spip('inc/autoriser');
6include_spip('inc/actions');
7include_spip('inc/editer');
8
9// chargement des valeurs par defaut des champs du formulaire
10function formulaires_editer_abomailman_charger_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){
11        $valeurs = array();
12
13        //initialise les variables d'environnement pas défaut
14        if (!autoriser('creer', 'abomailman', 'oui')) {
15                $editable = false;
16        }else{
17                $valeurs = formulaires_editer_objet_charger('abomailman',$id_abomailman,0,0,$retour,$config_fonc,$row,$hidden);
18                $editable = true;
19        }
20
21        if(!$valeurs['langue']){
22                $valeurs['langue'] = lang_select();
23        }
24        unset($valeurs['lang']);
25
26        $recuptemplate = explode('&',_request('modele_defaut'));
27        $valeurs['template'] = $recuptemplate[0];
28        $valeurs['envoi_liste_parametres']=recup_param(_request('modele_defaut'));
29        $valeurs['editable'] = $editable;
30        return $valeurs;
31}
32
33/**
34 * Identifier le formulaire en faisant abstraction des parametres qui
35 * ne representent pas l'objet edite
36 */
37function formulaires_editer_abomailman_identifier_dist($id_abomailman='new', $retour='', $associer_objet='', $config_fonc='auteurs_edit_config', $row=array(), $hidden=''){
38        return serialize(array(intval($id_abomailman),$associer_objet));
39}
40
41function formulaires_editer_abomailman_verifier_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){
42
43        //initialise le tableau des erreurs
44        $erreurs = formulaires_editer_objet_verifier('abomailman',$id_abomailman,array('titre','email'));
45        spip_log($erreurs,'test');
46        // Faire une fonction de verif sur le mail et le titre pour validite
47        $desactive = _request('desactive');
48
49        // Si on fait une suppression, on ne vérifie pas le reste
50        if($desactive != '2'){
51                if (count($erreurs)<1){
52                        include_spip('inc/filtres'); # pour email_valide()
53                        if (!email_valide(_request('email'))){
54                                $erreurs['email'] = _T("abomailmans:email_valide");
55                        }
56                }
57        }
58       
59    //message d'erreur genéralisé
60    if (count($erreurs)>0) {
61        $erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
62    }
63
64    return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
65}
66
67function formulaires_editer_abomailman_traiter_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){
68        $res = formulaires_editer_objet_traiter('abomailman',$id_abomailman,0,0,$retour,$config_fonc,$row,$hidden);
69   
70        $message = array();
71        $valeurs['envoi_liste_parametres'] = _request('envoi_liste_parametres');
72
73        $datas = array();
74
75    // Récupération des données
76        $datas['titre'] = _request('titre');
77        $datas['descriptif'] = _request('descriptif');
78        if(_request('abotype') && in_array(_request('abotype'), array('news','ml'))){
79                $datas['abo_type'] = _request('abotype');
80        }
81        $datas['email'] = _request('email');
82        $datas['email_subscribe'] = _request('email_subscribe');
83        $datas['email_unsubscribe'] = _request('email_unsubscribe');
84        $datas['email_sympa'] = _request('email_sympa');
85        $datas['desactive'] = _request('desactive');
86        $datas['modele_defaut'] = str_replace('\'','',_request('template'))."".$valeurs['envoi_liste_parametres'];
87        $datas['periodicite'] = _request('periodicite');
88        $datas['lang'] = _request('langue');
89
90        // on récupère les données de la liste
91        if(intval($id_abomailman)){
92                if($datas['desactive'] == '2'){
93                        sql_delete("spip_abomailmans","id_abomailman = $id_abomailman");
94                        $message['message_ok'] = _T('abomailmans:liste_supprimee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));
95                        $message['editable'] = false;
96                }else{
97                        sql_updateq("spip_abomailmans",$datas,"id_abomailman = $id_abomailman");
98                        $message['message_ok'] = _T('abomailmans:liste_updatee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));
99                }
100        }else{
101                $id_abomailman = sql_insertq("spip_abomailmans",$datas);
102                $message['message_ok'] = _T('abomailmans:liste_creee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));
103                $message['editable'] = false;
104        }
105       
106        if (!$retour) {
107                $message['redirect'] = parametre_url(parametre_url(self(),'id_abomailman', $res['id_abomailman']),'abomailman','');
108        } else {
109                // sinon on utilise la redirection donnee.
110                $message['redirect'] = parametre_url($retour, 'id_abomailman', $res['id_abomailman']);
111        }
112   return $message;
113}
114
115?>
Note: See TracBrowser for help on using the repository browser.