[PLUGINS] +abomailman
[ptitvelo/web/www.git] / www / plugins / abomailmans / formulaires / abomailman_mini_une_liste.php
diff --git a/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php b/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php
new file mode 100644 (file)
index 0000000..747d423
--- /dev/null
@@ -0,0 +1,94 @@
+<?php\r
+\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+include_spip('base/abstract_sql');\r
+\r
+// chargement des valeurs par defaut des champs du formulaire\r
+function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){\r
+\r
+       //initialise les variables d'environnement pas defaut\r
+       $valeurs = array('email');\r
+\r
+       // On verifie que la liste est bien accessible\r
+       if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {\r
+               spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");\r
+               $valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");\r
+       }\r
+       return $valeurs;\r
+}\r
+\r
+\r
+function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){\r
+\r
+       //initialise le tableau des erreurs\r
+       $erreurs = array();\r
+\r
+       // Faire une fonction de verif sur le mail pour validite\r
+       $email = _request('email');\r
+       \r
+       if($email == ''){\r
+               $erreurs['erreur_email'] = _T("abomailmans:email_oublie");\r
+               spip_log("Aucun email n'est insere","abomailmans");\r
+       }\r
+       else{\r
+               include_spip('inc/filtres'); # pour email_valide()\r
+               if (!email_valide($email)){\r
+                       $erreurs['erreur_email'] = _T("abomailmans:email_valide");\r
+                       spip_log("Email non valide $email","abomailmans");\r
+               }\r
+               else{\r
+                       spip_log("Email = $email;","abomailmans");\r
+               }\r
+       }\r
+\r
+   //message d'erreur\r
+   if (count($erreurs)) {\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_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){\r
+       include_spip('inc/abomailmans');\r
+       \r
+       $nom = _request('nom');\r
+       $email = _request('email');\r
+\r
+       // Antispam basique :\r
+       // si l'input invisible a ete renseigne, ca ne peut etre qu'un bot\r
+       if (strlen(_request('nobot'))){\r
+               return array('message_erreur'=>_T('abomailmans:erreur_nobot'));\r
+       }\r
+       \r
+       $message = null;\r
+\r
+   // on initialise l'envoi\r
+       // on traite chaque liste via une fonction reutilisable ailleurs\r
+       // on passe abonnement a true d'office\r
+       $traiter=abomailman_traiter_abonnement($id_abomailman,true);\r
+       $titre = $traiter[0];\r
+       $proprio_email=$traiter[1];\r
+       $liste_email=$traiter[2];\r
+       $sujet=$traiter[3];\r
+       $body="$nom - $email ".$traiter[4];\r
+       $headers=$traiter[5];\r
+       \r
+       if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,$headers)){\r
+               $message_listes  .= "<p><strong>$titre</strong><p>";\r
+       }else{\r
+               $message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";\r
+               $probleme=true;\r
+       } \r
+               \r
+       $message .= $body."". _T("abomailmans:message_confirmation_unique_a");\r
+       $message .= $message_listes;\r
+       $message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";\r
+\r
+       if ($probleme==false)\r
+               return $message;\r
+       else\r
+               return $message_listes;\r
+}\r
+?>
\ No newline at end of file