From 3cd0afc7ff3997fd62a665cd49befb5b1ba8de3b Mon Sep 17 00:00:00 2001 From: Pierre Date: Wed, 22 Jan 2020 03:49:22 +0100 Subject: [PATCH] =?UTF-8?q?un=20formulaire=20de=20contact=20simplifi=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/nous_contacter.html | 32 ++++++++++ formulaires/nous_contacter.php | 102 ++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 formulaires/nous_contacter.html create mode 100644 formulaires/nous_contacter.php diff --git a/formulaires/nous_contacter.html b/formulaires/nous_contacter.html new file mode 100644 index 0000000..4ead741 --- /dev/null +++ b/formulaires/nous_contacter.html @@ -0,0 +1,32 @@ +
+[

(#ENV*{message_ok})

] +[

(#ENV*{message_erreur})

] +[(#ENV{editable}) +
+ [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] + #ACTION_FORMULAIRE +
+
+
+ [(#ENV*{erreurs}|table_valeur{nom_message_auteur})] + +
+
+ [(#ENV*{erreurs}|table_valeur{email_message_auteur})] +
+
+ [(#ENV*{erreurs}|table_valeur{texte_message_auteur})] + +
+
+
+ [(#REM) Piege a robots spammeurs ] +

+ + +

+

+
+] +
diff --git a/formulaires/nous_contacter.php b/formulaires/nous_contacter.php new file mode 100644 index 0000000..75fc6a8 --- /dev/null +++ b/formulaires/nous_contacter.php @@ -0,0 +1,102 @@ + '', + 'texte_message_auteur' => '', + 'email_message_auteur' => '', + 'nobot' => '', + ); + + // id du formulaire (pour en avoir plusieurs sur une meme page) + $valeurs['id'] = $id_auteur; + // passer l'id_auteur au squelette + $valeurs['id_auteur'] = $id_auteur; + + return $valeurs; +} + +function formulaires_nous_contacter_verifier_dist($id_auteur) { + $erreurs = array(); + include_spip('inc/filtres'); + + if (!$adres = _request('email_message_auteur')) { + $erreurs['email_message_auteur'] = _T('info_obligatoire'); + } elseif (!email_valide($adres)) { + $erreurs['email_message_auteur'] = _T('form_prop_indiquer_email'); + } else { + include_spip('inc/session'); + session_set('email', $adres); + } + + if (!$nom = _request('nom_message_auteur')) { + $erreurs['nom_message_auteur'] = _T('info_obligatoire'); + } elseif (!(strlen($nom) > 3)) { + $erreurs['nom_message_auteur'] = _T('forum:forum_attention_trois_caracteres'); + } + + if (!$texte = _request('texte_message_auteur')) { + $erreurs['texte_message_auteur'] = _T('info_obligatoire'); + } elseif (!(strlen($texte) > 10)) { + $erreurs['texte_message_auteur'] = _T('forum:forum_attention_dix_caracteres'); + } + + if (_request('nobot')) { + $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); + } + + return $erreurs; +} + +function formulaires_nous_contacter_traiter_dist($id_auteur) { + + $adres = _request('email_message_auteur'); + $nom = _request('nom_message_auteur'); + $mail = sql_getfetsel('email','spip_auteurs','id_auteur=' . intval($id_auteur)); + + $sujet = '[' . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])) . '] ' + . 'Nouveau message de ' . $nom; + $texte = _request('texte_message_auteur'); + $texte .= "\n-- $nom"; + $texte .= "\n-- $adres"; + + $texte .= "\n\n-- " . _T('envoi_via_le_site') . ' ' + . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])) + . ' (' . $GLOBALS['meta']['adresse_site'] . "/) --\n"; + $envoyer_mail = charger_fonction('envoyer_mail', 'inc'); + + $corps = array( + 'texte' => $texte, + 'repondre_a' => $adres, + 'headers' => array( + "X-Originating-IP: " . $GLOBALS['ip'], + ), + ); + + if ($envoyer_mail($mail, $sujet, $corps)) { + $message = _T('form_prop_message_envoye'); + + return array('message_ok' => $message); + } else { + $message = _T('pass_erreur_probleme_technique'); + + return array('message_erreur' => $message); + } +}