Bonjour,
j'aimerai savoir comment faire pour recevoir les mails uniquement après validation
j'ai ajouter une fonction il y a certainement des choses a amélioré (simplifiés)
voici la fonction
function signalementannonce() {
global $xoopsUser, $isAdmin, $ads, $ads_handler;
//ajout CPascal - 29 avril 2011 - variable pour envoi Email de confirmation
$ads_title = $ads->getVar('ads_title');
$uid = $ads->getVar('uid');
//fin
$ads_id = $ads->getVar('ads_id');
$ok = isset($_POST['ok']) ? intval($_POST['ok']) : 0;
if ($ads->getVar('signalementannonce') == 0) {
//signalé cette annonce comme suspecte
$msgconf = _MD_DIFFUANNONCES_DECLARFRAUDE_CONF;
$msgok = _MD_DIFFUANNONCES_DECLARFRAUDE_OK;
$signalementannonce = 1;
} else {
//déclarer cette annonce non suspecte
$msgconf = _MD_DIFFUANNONCES_DECLARNOFRAUDE_CONF;
$msgok = _MD_DIFFUANNONCES_DECLARNOFRAUDE_OK;
$signalementannonce = 0;
}
if ( $ok == 1 ) {
$ads->setVar('signalementannonce', $signalementannonce);
$update_ads_ok = $ads_handler->insert($ads);
if ($update_ads_ok){
$messagesent = $msgok;
} else {
$messagesent = _MD_DIFFUANNONCES_UPDATE_ERROR;
}
redirect_header("adsitem.php?ads_id=".$ads_id, 3, $messagesent);
} else {
xoops_confirm(array('op' => 'signalementannonce', 'ads_id' => $ads_id, 'ok' => 1), 'adsitem.php', $msgconf);
}
//ajout CPascal - 29 avril 2011 - envoi Email d'information a l'annonceur lorsque une annonce est signaler suspect
if ($signalementannonce == 1) {
global $xoopsDB, $xoopsConfig, $xoopsUser;
//récupéré le nom de l'annonceur
$sql2 = $xoopsDB->query("SELECT uname FROM ".$xoopsDB->prefix("users")." WHERE uid = ".$uid);
list($uname) = $xoopsDB->fetchRow($sql2);
$mail_url_ads = "<a href='".XOOPS_URL."/modules/diffuannonces/adsitem.php?ads_id=".$ads_id."'>".$ads_title."</a>";
$mail_msg_text = str_replace("{X_UNAME}", $uname, _MD_DIFFUANNONCES_MAIL_ADSSUSPECT_TEXT);
$mail_msg_text2 = str_replace("{X_ADS_TITLE}", $ads_title, $mail_msg_text);
$mail_msg_text3 = str_replace("{X_ADS}", $mail_url_ads, $mail_msg_text2);
$mail_msg_text4 = str_replace("{X_SITEURL}", XOOPS_URL, $mail_msg_text3);
$mail_msg_text5 = str_replace("{X_ADMINMAIL}", $xoopsConfig['adminmail'], $mail_msg_text4);
$mail_msg_text6 = str_replace("{X_SITENAME}", $xoopsConfig['sitename'], $mail_msg_text5);
$mail_msg = $mail_msg_text6;
include_once XOOPS_ROOT_PATH."/class/xoopsmailer.php";
$email = $ads->getVar('email');
//$xoopsMailer =& getMailer();
//$xoopsMailer = xoops_getMailer();
$xoopsMailer = getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setToEmails($email);
$xoopsMailer->setSubject(_MD_DIFFUANNONCES_MAIL_ADSSUSPECT_TITLE);
$xoopsMailer->setBody($mail_msg);
$xoopsMailer->usePM();
$xoopsMailer->multimailer->isHTML(true);//encodage html
$xoopsMailer->send();
$xoopsMailer->getErrors();
//pour eviter que le mail soit a nouveau envoyer
$sql = "UPDATE ". $xoopsDB->prefix('diffuannonces_ads')." SET signalementannonce = '0' WHERE ads_id = ".$ads_id;
$result = $xoopsDB->queryF($sql);
}
//ajout CPascal - 29 avril 2011 - envoi Email d'information a l'administrateur/site lorsque une annonce est signaler suspect
if ($signalementannonce == 1) {
global $xoopsDB, $xoopsConfig, $xoopsUser;
$mail_admin_url_ads = "<a href='".XOOPS_URL."/modules/diffuannonces/adsitem.php?ads_id=".$ads_id."'>".$ads_title."</a>";
$mail_admin_msg_text = str_replace("{X_UNAME}", "{X_SITENAME}", _MD_DIFFUANNONCES_MAIL_ADNIM_ADSSUSPECT_TEXT);
$mail_admin_msg_text2 = str_replace("{X_ADS_TITLE}", $ads_title, $mail_admin_msg_text);
$mail_admin_msg_text3 = str_replace("{X_ADS}", $mail_admin_url_ads, $mail_admin_msg_text2);
$mail_admin_msg_text4 = str_replace("{X_SITEURL}", XOOPS_URL, $mail_admin_msg_text3);
$mail_admin_msg_text5 = str_replace("{X_ADMINMAIL}", $xoopsConfig['adminmail'], $mail_admin_msg_text4);
$mail_admin_msg_text6 = str_replace("{X_SITENAME}", $xoopsConfig['sitename'], $mail_admin_msg_text5);
$mail_admin_msg = $mail_admin_msg_text6;
include_once XOOPS_ROOT_PATH."/class/xoopsmailer.php";
$xoopsMailer = getMailer();
$xoopsMailer->useMail();
//$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setToEmails($xoopsConfig['adminmail']);
$xoopsMailer->setSubject(_MD_DIFFUANNONCES_MAIL_ADNIM_ADSSUSPECT_TITLE);
$xoopsMailer->setBody($mail_admin_msg);
$xoopsMailer->usePM();
$xoopsMailer->multimailer->isHTML(true);//encodage html
$xoopsMailer->send();
$xoopsMailer->getErrors();
//pour eviter que le mail soit a nouveau envoyer
$sql = "UPDATE ". $xoopsDB->prefix('diffuannonces_ads')." SET signalementannonce = '0' WHERE ads_id = ".$ads_id;
$result = xoopsDB->queryF($sql);
}
//ajout CPascal - 29 avril 2011 - envoi Email d'information lorsque une annonce n'est plus signaler suspect
elseif ($signalementannonce == 0) {
global $xoopsDB, $xoopsConfig, $xoopsUser;
//récupéré le nom de l'annonceur
$sql2 = $xoopsDB->query("SELECT uname FROM ".$xoopsDB->prefix("users")." WHERE uid = ".$uid);
list($uname) = $xoopsDB->fetchRow($sql2);
//Envoie par email
$mail_url_ads = "<a href='".XOOPS_URL."/modules/diffuannonces/adsitem.php?ads_id=".$ads_id."'>".$ads_title."</a>";
$mail_msg_text = str_replace("{X_UNAME}", $uname, _MD_DIFFUANNONCES_MAIL_ADSNOSUSPECT_TEXT);
$mail_msg_text2 = str_replace("{X_ADS_TITLE}", $ads_title, $mail_msg_text);
$mail_msg_text3 = str_replace("{X_ADS}", $mail_url_ads, $mail_msg_text2);
$mail_msg_text4 = str_replace("{X_SITEURL}", XOOPS_URL, $mail_msg_text3);
$mail_msg_text5 = str_replace("{X_ADMINMAIL}", $xoopsConfig['adminmail'], $mail_msg_text4);
$mail_msg_text6 = str_replace("{X_SITENAME}", $xoopsConfig['sitename'], $mail_msg_text5);
$mail_msg = $mail_msg_text6;
include_once XOOPS_ROOT_PATH."/class/xoopsmailer.php";
$email= $ads->getVar('email');
//$xoopsMailer =& getMailer();
//$xoopsMailer = xoops_getMailer();
$xoopsMailer = getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setToEmails($email);
$xoopsMailer->setSubject(_MD_DIFFUANNONCES_MAIL_ADSNOSUSPECT_TITLE);
$xoopsMailer->setBody($mail_msg);
$xoopsMailer->usePM();
$xoopsMailer->multimailer->isHTML(true);//encodage html
$xoopsMailer->send();
$xoopsMailer->getErrors();
//pour eviter que l'annonce soit a nouveau envoyer
$sql = "UPDATE ". $xoopsDB->prefix('diffuannonces_ads')." SET signalementannonce = '1' WHERE ads_id = ".$ads_id;
$result = $xoopsDB->queryF($sql);
}
//fin
}
quand ont tombe sur 'xoops_confirm' il envoi les mails sans même avoir valider ou même si j'annule cette action
je crois qu'il faut ajouter quelques chose style $_POST etc.. dans
if ($signalementannonce == 1) {
du style:
if (($signalementannonce == 1)&&($_POST['???'] == 1)) {
qui peut m'aider ?