[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / abomailmans / formulaires / editer_abomailman.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 include_spip('inc/autoriser');
6 include_spip('inc/actions');
7 include_spip('inc/editer');
8
9 // chargement des valeurs par defaut des champs du formulaire
10 function 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 */
37 function 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
41 function 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
67 function 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('abo_type') && in_array(_request('abo_type'), array('news','ml'))){
79 $datas['abo_type'] = _request('abo_type');
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 $message['message_ok'] = _T('abomailmans:liste_creee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));
102 $message['editable'] = false;
103 }
104
105 if (!$retour) {
106 $message['redirect'] = parametre_url(parametre_url(self(),'id_abomailman', $res['id_abomailman']),'abomailman','');
107 } else {
108 // sinon on utilise la redirection donnee.
109 $message['redirect'] = parametre_url($retour, 'id_abomailman', $res['id_abomailman']);
110 }
111 return $message;
112 }
113
114 ?>