--- /dev/null
+<?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