[PLUGINS] +abomailman
[ptitvelo/web/www.git] / www / plugins / abomailmans / formulaires / abomailman_mini_une_liste.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 include_spip('base/abstract_sql');
6
7 // chargement des valeurs par defaut des champs du formulaire
8 function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
9
10 //initialise les variables d'environnement pas defaut
11 $valeurs = array('email');
12
13 // On verifie que la liste est bien accessible
14 if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
15 spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
16 $valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
17 }
18 return $valeurs;
19 }
20
21
22 function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
23
24 //initialise le tableau des erreurs
25 $erreurs = array();
26
27 // Faire une fonction de verif sur le mail pour validite
28 $email = _request('email');
29
30 if($email == ''){
31 $erreurs['erreur_email'] = _T("abomailmans:email_oublie");
32 spip_log("Aucun email n'est insere","abomailmans");
33 }
34 else{
35 include_spip('inc/filtres'); # pour email_valide()
36 if (!email_valide($email)){
37 $erreurs['erreur_email'] = _T("abomailmans:email_valide");
38 spip_log("Email non valide $email","abomailmans");
39 }
40 else{
41 spip_log("Email = $email;","abomailmans");
42 }
43 }
44
45 //message d'erreur
46 if (count($erreurs)) {
47 $erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
48 }
49
50 return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
51 }
52
53 function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
54 include_spip('inc/abomailmans');
55
56 $nom = _request('nom');
57 $email = _request('email');
58
59 // Antispam basique :
60 // si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
61 if (strlen(_request('nobot'))){
62 return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
63 }
64
65 $message = null;
66
67 // on initialise l'envoi
68 // on traite chaque liste via une fonction reutilisable ailleurs
69 // on passe abonnement a true d'office
70 $traiter=abomailman_traiter_abonnement($id_abomailman,true);
71 $titre = $traiter[0];
72 $proprio_email=$traiter[1];
73 $liste_email=$traiter[2];
74 $sujet=$traiter[3];
75 $body="$nom - $email ".$traiter[4];
76 $headers=$traiter[5];
77
78 if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,$headers)){
79 $message_listes .= "<p><strong>$titre</strong><p>";
80 }else{
81 $message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
82 $probleme=true;
83 }
84
85 $message .= $body."". _T("abomailmans:message_confirmation_unique_a");
86 $message .= $message_listes;
87 $message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
88
89 if ($probleme==false)
90 return $message;
91 else
92 return $message_listes;
93 }
94 ?>