on tente une dissuasion de plus face aux spams d'inscription à la liste
This commit is contained in:
parent
1018d151ea
commit
444ba6a0ad
@ -1,92 +1,106 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
include_spip('base/abstract_sql');
|
include_spip('base/abstract_sql');
|
||||||
|
|
||||||
// chargement des valeurs par defaut des champs du formulaire
|
// chargement des valeurs par defaut des champs du formulaire
|
||||||
function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
|
function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
|
||||||
|
|
||||||
//initialise les variables d'environnement pas defaut
|
//initialise les variables d'environnement pas defaut
|
||||||
$valeurs = array('email');
|
$valeurs = array('email');
|
||||||
|
|
||||||
// On verifie que la liste est bien accessible
|
// On verifie que la liste est bien accessible
|
||||||
if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
|
if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
|
||||||
spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
|
spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
|
||||||
$valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
|
$valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
|
||||||
}
|
}
|
||||||
return $valeurs;
|
return $valeurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
|
function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
|
||||||
|
|
||||||
//initialise le tableau des erreurs
|
//initialise le tableau des erreurs
|
||||||
$erreurs = array();
|
$erreurs = array();
|
||||||
|
|
||||||
// Faire une fonction de verif sur le mail pour validite
|
// Faire une fonction de verif sur le mail pour validite
|
||||||
$email = _request('email');
|
$email = _request('email');
|
||||||
|
|
||||||
if($email == ''){
|
if($email == ''){
|
||||||
$erreurs['erreur_email'] = _T("abomailmans:email_oublie");
|
$erreurs['erreur_email'] = _T("abomailmans:email_oublie");
|
||||||
spip_log("Aucun email n'est insere","abomailmans");
|
spip_log("Aucun email n'est insere","abomailmans");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
include_spip('inc/filtres'); # pour email_valide()
|
include_spip('inc/filtres'); # pour email_valide()
|
||||||
if (!email_valide($email)){
|
if (!email_valide($email)){
|
||||||
$erreurs['erreur_email'] = _T("abomailmans:email_valide");
|
$erreurs['erreur_email'] = _T("abomailmans:email_valide");
|
||||||
spip_log("Email non valide $email","abomailmans");
|
spip_log("Email non valide $email","abomailmans");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
spip_log("Email = $email;","abomailmans");
|
spip_log("Email = $email;","abomailmans");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//message d'erreur
|
//message d'erreur
|
||||||
if (count($erreurs)) {
|
if (count($erreurs)) {
|
||||||
$erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
|
$erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
|
return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
|
||||||
}
|
}
|
||||||
|
|
||||||
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
|
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
|
||||||
include_spip('inc/abomailmans');
|
include_spip('inc/abomailmans');
|
||||||
|
|
||||||
$nom = _request('nom');
|
function baz_april_abo() {
|
||||||
$email = _request('email');
|
$nom = _request('nom');
|
||||||
|
$email = _request('email');
|
||||||
// Antispam basique :
|
|
||||||
// si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
|
// Antispam basique :
|
||||||
if (strlen(_request('nobot'))){
|
// si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
|
||||||
return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
|
if (strlen(_request('nobot'))){
|
||||||
}
|
return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
|
||||||
|
}
|
||||||
$message = null;
|
|
||||||
|
$message = null;
|
||||||
// on initialise l'envoi
|
|
||||||
// on traite chaque liste via une fonction reutilisable ailleurs
|
// on initialise l'envoi
|
||||||
// on passe abonnement a true d'office
|
// on traite chaque liste via une fonction reutilisable ailleurs
|
||||||
$traiter = abomailman_traiter_abonnement($id_abomailman,true);
|
// on passe abonnement a true d'office
|
||||||
$titre = $traiter[0];
|
$traiter = abomailman_traiter_abonnement($id_abomailman,true);
|
||||||
$proprio_email = $traiter[1];
|
$titre = $traiter[0];
|
||||||
$liste_email = $traiter[2];
|
$proprio_email = $traiter[1];
|
||||||
$sujet = $traiter[3];
|
$liste_email = $traiter[2];
|
||||||
$body = "$nom - $email ".$traiter[4];
|
$sujet = $traiter[3];
|
||||||
$headers = $traiter[5];
|
$body = "$nom - $email ".$traiter[4];
|
||||||
|
$headers = $traiter[5];
|
||||||
if (abomailman_mail($nom, $email, $proprio_email, $liste_email, $sujet, $body, $headers)){
|
|
||||||
$message_listes .= "<p><strong>$titre</strong><p>";
|
if (abomailman_mail($nom, $email, $proprio_email, $liste_email, $sujet, $body, $headers)){
|
||||||
} else {
|
$message_listes .= "<p><strong>$titre</strong><p>";
|
||||||
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
|
} else {
|
||||||
$probleme=true;
|
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
|
||||||
}
|
$probleme=true;
|
||||||
|
}
|
||||||
$message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
|
|
||||||
|
$message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
|
||||||
if ($probleme==false) {
|
|
||||||
return array('message_ok' => $message);
|
if ($probleme==false) {
|
||||||
} else {
|
return array('message_ok' => $message);
|
||||||
return array('message_erreur' => $message_listes);
|
} else {
|
||||||
}
|
return array('message_erreur' => $message_listes);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// conditionner l'action au rechargement de la page
|
||||||
|
// https://contrib.spip.net/NoSPAM#S-assurer-que-l-internaute-recharge-la-page-avant-de-lancer-l-action
|
||||||
|
include_spip('inc/nospam');
|
||||||
|
if (function_exists('nospam_confirm_action_html')) {
|
||||||
|
$html_confirm = nospam_confirm_action_html("baz_april_abo", "action abomailmans", $args);
|
||||||
|
$res['message_ok'] .= $html_confirm;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// ICI lancer normalement mafonction()
|
||||||
|
baz_april_abo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user