[PLUGINS] +abomailman
[ptitvelo/web/www.git] / www / plugins / abomailmans / formulaires / editer_abomailman.php
diff --git a/www/plugins/abomailmans/formulaires/editer_abomailman.php b/www/plugins/abomailmans/formulaires/editer_abomailman.php
new file mode 100644 (file)
index 0000000..5d746f8
--- /dev/null
@@ -0,0 +1,114 @@
+<?php\r
+\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+include_spip('inc/autoriser');\r
+include_spip('inc/actions');\r
+include_spip('inc/editer');\r
+\r
+// chargement des valeurs par defaut des champs du formulaire\r
+function formulaires_editer_abomailman_charger_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){\r
+       $valeurs = array();\r
+\r
+       //initialise les variables d'environnement pas défaut\r
+       if (!autoriser('creer', 'abomailman', 'oui')) {\r
+               $editable = false;\r
+       }else{\r
+               $valeurs = formulaires_editer_objet_charger('abomailman',$id_abomailman,0,0,$retour,$config_fonc,$row,$hidden);\r
+               $editable = true;\r
+       }\r
+\r
+       if(!$valeurs['langue']){\r
+               $valeurs['langue'] = lang_select();\r
+       }\r
+       unset($valeurs['lang']);\r
+\r
+       $recuptemplate = explode('&',_request('modele_defaut'));\r
+       $valeurs['template'] = $recuptemplate[0];\r
+       $valeurs['envoi_liste_parametres']=recup_param(_request('modele_defaut'));\r
+       $valeurs['editable'] = $editable;\r
+       return $valeurs;\r
+}\r
+\r
+/**\r
+ * Identifier le formulaire en faisant abstraction des parametres qui\r
+ * ne representent pas l'objet edite\r
+ */\r
+function formulaires_editer_abomailman_identifier_dist($id_abomailman='new', $retour='', $associer_objet='', $config_fonc='auteurs_edit_config', $row=array(), $hidden=''){\r
+       return serialize(array(intval($id_abomailman),$associer_objet));\r
+}\r
+\r
+function formulaires_editer_abomailman_verifier_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){\r
+\r
+       //initialise le tableau des erreurs\r
+       $erreurs = formulaires_editer_objet_verifier('abomailman',$id_abomailman,array('titre','email'));\r
+       spip_log($erreurs,'test');\r
+       // Faire une fonction de verif sur le mail et le titre pour validite\r
+       $desactive = _request('desactive');\r
+\r
+       // Si on fait une suppression, on ne vérifie pas le reste\r
+       if($desactive != '2'){\r
+               if (count($erreurs)<1){\r
+                       include_spip('inc/filtres'); # pour email_valide()\r
+                       if (!email_valide(_request('email'))){\r
+                               $erreurs['email'] = _T("abomailmans:email_valide");\r
+                       }\r
+               }\r
+       }\r
+       \r
+    //message d'erreur genéralisé\r
+    if (count($erreurs)>0) {\r
+        $erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');\r
+    }\r
+\r
+    return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis\r
+}\r
+\r
+function formulaires_editer_abomailman_traiter_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){\r
+       $res = formulaires_editer_objet_traiter('abomailman',$id_abomailman,0,0,$retour,$config_fonc,$row,$hidden);\r
+   \r
+       $message = array();\r
+       $valeurs['envoi_liste_parametres'] = _request('envoi_liste_parametres');\r
+\r
+       $datas = array();\r
+\r
+    // Récupération des données\r
+       $datas['titre'] = _request('titre');\r
+       $datas['descriptif'] = _request('descriptif');\r
+       if(_request('abo_type') && in_array(_request('abo_type'), array('news','ml'))){\r
+               $datas['abo_type'] = _request('abo_type');\r
+       }\r
+       $datas['email'] = _request('email');\r
+       $datas['email_subscribe'] = _request('email_subscribe');\r
+       $datas['email_unsubscribe'] = _request('email_unsubscribe');\r
+       $datas['email_sympa'] = _request('email_sympa');\r
+       $datas['desactive'] = _request('desactive');\r
+       $datas['modele_defaut'] = str_replace('\'','',_request('template'))."".$valeurs['envoi_liste_parametres'];\r
+       $datas['periodicite'] = _request('periodicite');\r
+       $datas['lang'] = _request('langue');\r
+\r
+       // on récupère les données de la liste\r
+       if(intval($id_abomailman)){\r
+               if($datas['desactive'] == '2'){\r
+                       sql_delete("spip_abomailmans","id_abomailman = $id_abomailman");\r
+                       $message['message_ok'] = _T('abomailmans:liste_supprimee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));\r
+                       $message['editable'] = false;\r
+               }else{\r
+                       sql_updateq("spip_abomailmans",$datas,"id_abomailman = $id_abomailman");\r
+                       $message['message_ok'] = _T('abomailmans:liste_updatee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));\r
+               }\r
+       }else{\r
+               $message['message_ok'] = _T('abomailmans:liste_creee',array("id"=>$id_abomailman,"titre"=> $datas['titre']));\r
+               $message['editable'] = false;\r
+       }\r
+       \r
+       if (!$retour) {\r
+               $message['redirect'] = parametre_url(parametre_url(self(),'id_abomailman', $res['id_abomailman']),'abomailman','');\r
+       } else {\r
+               // sinon on utilise la redirection donnee.\r
+               $message['redirect'] = parametre_url($retour, 'id_abomailman', $res['id_abomailman']);\r
+       }\r
+   return $message;\r
+}\r
+\r
+?>
\ No newline at end of file