un formulaire de contact simplifié
This commit is contained in:
parent
786cc89ab6
commit
3cd0afc7ff
2 changed files with 134 additions and 0 deletions
32
formulaires/nous_contacter.html
Normal file
32
formulaires/nous_contacter.html
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<div class="formulaire_spip formulaire_nous_contacter ajax" id="formulaire_nous_contacter#ENV{id}">
|
||||||
|
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||||
|
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||||
|
[(#ENV{editable})
|
||||||
|
<form method="post" action="#ENV{action}#formulaire_nous_contacter#ENV{id}">
|
||||||
|
[(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ]
|
||||||
|
#ACTION_FORMULAIRE
|
||||||
|
<fieldset>
|
||||||
|
<div class="editer-groupe">
|
||||||
|
<div class="editer saisie_nom_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{nom_message_auteur}|oui)erreur]">
|
||||||
|
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{nom_message_auteur})</span>]
|
||||||
|
<input type="text" class="text" name="nom_message_auteur" id="nom_message_auteur#ENV{id}" size="30" placeholder="Prénom et Nom"[(#HTML5) required="required"] />
|
||||||
|
</div>
|
||||||
|
<div class="editer saisie_email_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{email_message_auteur}|oui)erreur]">
|
||||||
|
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{email_message_auteur})</span>]
|
||||||
|
<input[ (#HTML5|?{required="required" type="email" class="text email",type="text" class="text"})] name="email_message_auteur" id="email_message_auteur#ENV{id}" size="30" placeholder="Adresse e-mail"/>
|
||||||
|
</div>
|
||||||
|
<div class="editer saisie_texte_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{texte_message_auteur}|oui)erreur]">
|
||||||
|
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{texte_message_auteur})</span>]
|
||||||
|
<textarea name="texte_message_auteur" id="texte_message_auteur#ENV{id}" rows="10" cols="60" placeholder="Message"[(#HTML5) required="required"]></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
[(#REM) Piege a robots spammeurs ]
|
||||||
|
<p style="display: none;">
|
||||||
|
<label for="nobot"><:antispam_champ_vide:></label>
|
||||||
|
<input type="text" class="text" name="nobot" id="nobot" value="#ENV{nobot}" size="10" />
|
||||||
|
</p>
|
||||||
|
<p class="boutons"><input type="submit" class="btn submit" name="valide" value="Envoyer >" /></p>
|
||||||
|
</form>
|
||||||
|
]
|
||||||
|
</div>
|
102
formulaires/nous_contacter.php
Normal file
102
formulaires/nous_contacter.php
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
* SPIP, Systeme de publication pour l'internet *
|
||||||
|
* *
|
||||||
|
* Copyright (c) 2001-2020 *
|
||||||
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
|
||||||
|
* *
|
||||||
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
|
||||||
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formulaires_nous_contacter_charger_dist($id_auteur) {
|
||||||
|
include_spip('inc/texte');
|
||||||
|
|
||||||
|
$valeurs = array(
|
||||||
|
'nom_message_auteur' => '',
|
||||||
|
'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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue