98 lines
4.1 KiB
PHP
98 lines
4.1 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Script testant les données envoyées lors de l'envoi d'un message à un utilisateur par un internaute
|
||
|
* qui peut être connecté au site ou non
|
||
|
* Ce script peut être appelé en ajax ou directement en php si JS désactivé
|
||
|
*
|
||
|
**/
|
||
|
$form["email"]=strip_tags(trim($_POST["email"]));
|
||
|
$form["pseudo"]=strip_tags(trim($_POST["pseudo"]));
|
||
|
$form["sujet"]=strip_tags(trim($_POST["sujet"]));
|
||
|
$form["message"]=strip_tags(trim($_POST["message"]));
|
||
|
$id_auteur=intval($_POST["id_auteur"]);
|
||
|
if(isset($_POST["id_annonce"]))
|
||
|
$id_annonce=intval($_POST["id_annonce"]);
|
||
|
$ajax_on=false;
|
||
|
if(!empty($_POST["ajax"]))
|
||
|
{
|
||
|
$ajax_on=true;
|
||
|
require_once("../modele/FclFlux_utilisateur.php");
|
||
|
$user=new FclFlux_utilisateur();
|
||
|
$user->test_session(false);// besoin de savoir si utilisateur est connecté ou pas...
|
||
|
//++ les infos du destinataire
|
||
|
$utilisateur=new FclFlux_utilisateur();
|
||
|
$utilisateur->id_utilisateur=$id_auteur;
|
||
|
$utilisateur_infos=$utilisateur->get_infos_cache(CREA_CACHE);
|
||
|
if((empty($utilisateur_infos))||(empty($utilisateur_infos["time_validation"]))||(empty($utilisateur_infos["email"]))||(empty($utilisateur_infos["pseudo"]))||($utilisateur_infos["statut"]=="administrateur"))
|
||
|
$msg_form[]=ERREUR_IMPREVUE;
|
||
|
header('Content-Type: text/html; charset=utf-8');
|
||
|
}
|
||
|
$msg_form=array();$ajout_message="";
|
||
|
if(empty($user->connexion_ok))//internaute non connecté
|
||
|
{
|
||
|
if(empty($_POST["test"])||empty($form["email"])||empty($form["pseudo"])||empty($form["sujet"])||empty($form["message"]))
|
||
|
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
||
|
else
|
||
|
{
|
||
|
if((empty($_SESSION["mot"]))||(empty($_SESSION["lettre"]))||((time()-intval($_SESSION["timeS"]))<FORM_MIN_DUREE))
|
||
|
$msg_form[]=ERREUR_IMPREVUE;
|
||
|
else
|
||
|
{
|
||
|
$mot=$_SESSION["mot"];
|
||
|
$nb_lettre=$_SESSION["lettre"]-1;//puisque index débute à 0...
|
||
|
if((strtolower($_POST["test"]))!=($mot[$nb_lettre]))
|
||
|
$msg_form[]=ERREUR_UTILISA_ANTISPAM.$mot[$nb_lettre];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if(empty($form["sujet"])||empty($form["message"]))
|
||
|
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
||
|
if(empty($msg_form))
|
||
|
{
|
||
|
$ajout_message="<br><br><i>Ce message vous est envoyé par un utilisateur du site <b>".SITE_NOM."</b> (son nom ou pseudo : ".$form["pseudo"].").";
|
||
|
if(!empty($id_annonce))
|
||
|
$ajout_message.="<br><br>Il s'agit d'une réponse à votre annonce située sur cette page : <a href='".PAGE_REPERTOIRE_POST_INFO.$id_annonce."' title='votre annonce'>".PAGE_REPERTOIRE_POST_INFO.$id_annonce."</a>";
|
||
|
$ajout_message.="</i>";
|
||
|
// envoi du message avec PHPMailer
|
||
|
// connexion au serveur smtp si il y a lieu :
|
||
|
require(BASE_REP."../divers/phpmailer-initialise.php");
|
||
|
$Mail_expediteur_email=EMAIL_TRANSACTIONNEL_DE;
|
||
|
$Mail_expediteur_nom=SITE_NOM;
|
||
|
$Mail_reponse_email=$form["email"];
|
||
|
$Mail_reponse_nom=$form["pseudo"];
|
||
|
$Mail_destinataire_email=$utilisateur_infos["email"];
|
||
|
$Mail_destinataire_nom=$utilisateur_infos["pseudo"];
|
||
|
$Mail_sujet=$form["sujet"];
|
||
|
// message alternatif lorsque le html n'est pas lu :
|
||
|
$Mail_boby_txt=$form["message"].strip_tags(str_replace("<br>","\n",$ajout_message));
|
||
|
//-- version html :
|
||
|
//texte invisible (sauf certains webmail ?) :
|
||
|
$Mail_html_sujet="Message de ".$form["pseudo"].".";
|
||
|
//entête avant logo :
|
||
|
$Mail_html_header=$Mail_html_sujet;
|
||
|
//texte du message, hors liste de liens :
|
||
|
$Mail_html_intro=nl2br($form["message"])."$ajout_message";
|
||
|
//footer du mail html :
|
||
|
$Mail_html_footer="<p><a href='".SITE_NOM."'>".SITE_NOM."</a>, ".SITE_SLOGAN."</p>";
|
||
|
$Mail_boby_html="";
|
||
|
ob_start();
|
||
|
include(BASE_REP."../www/".TEMPLATE_REP."/mail/defaut.php");
|
||
|
$Mail_boby_html=ob_get_contents();
|
||
|
ob_end_clean();
|
||
|
$SMTP_CustomHeader["X-Mailin-Tag"]="reponse_annonce";
|
||
|
require(BASE_REP."../divers/phpmailer-envoi.php");
|
||
|
if(!$mail->Send())
|
||
|
{
|
||
|
$ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,ERREUR_EMAIL_ENVOI.$mail->ErrorInfo));
|
||
|
$msg_form[]=ERREUR_UTILISA_ENVOI_MESSAGE_PERSO;
|
||
|
}
|
||
|
else
|
||
|
$msg_form[]=MSG_UTILISA_ENVOI_MESSAGE_VALID;
|
||
|
}
|
||
|
if((!empty($msg_form))&&($ajax_on))
|
||
|
{
|
||
|
if(($msg_form[0]==MSG_UTILISA_ENVOI_MESSAGE_VALID)||($msg_form[0]==ERREUR_UTILISA_ENVOI_MESSAGE_PERSO))
|
||
|
echo str_replace("\"","'",$msg_form[0]);//mise en forme via JS
|
||
|
else
|
||
|
echo get_html_alerte_msg($msg_form);
|
||
|
}
|