/*! * GJframework * model/Contact.class.php * v1.2.0 (12/03/2019) * * Created by Guillaume Juncker on 07/09/2018. * Copyright © Guillaume Juncker. All rights reserved. */ /** * Contact * Classe de gestion des fomrulaires de contact */ class Contact { protected $to = "", $Errors = array(); public $Email = NULL; /*------------------------------------------------------------------------------------------------------------------------------*/ /** * __construct * Construit un objet Contact et le configure * @param string $first_name: le prénom de l'utilisateur * @param string $last_name: le nom de famille de l'utilisateur * @param string $email: l'adresse e-mail de l'utilisateur * @return void */ public function __construct(array $vars) { $this->to = $_SESSION['config']['contact']['email']; $name = $vars['first_name']." ".$vars['last_name']; $this->Email = new Email(array("from" => array("name" => $name, "email" => $vars['email']), "signature" => $name."
".$vars['email']."
".$vars['tel']."")); $this->initErrors(); } /*------------------------------------------------------------------------------------------------------------------------------*/ /** * initErrors * Définit les erreurs possibles des fonctions de la classe * @return void */ protected function initErrors() { $this->Errors = array("SUCCESS" => new CustomError("success", "Votre message a bien été envoyé, merci"), "MISSING" => new CustomError("warning", "Veuillez renseigner tous les champs et confirmer que vous n'êtes pas un robot"), "ERROR" => new CustomError("danger", "Erreur lors de l'envoi de votre message")); } /*------------------------------------------------------------------------------------------------------------------------------*/ /** * send * Gestion de l'envoi d'un message via le forulaire de contact * @param string $subject: le sujet du message * @param string $message: le message * @param string $g_recaptcha_response: la réponse donnée par le reCaptcha * @return CustomError: l'erreur déclenchée à l'exécution */ public function send(string $subject, string $message, string $g_recaptcha_response) { if($subject AND $message AND $g_recaptcha_response) { if($GLOBALS['_SITE']->reCaptcha($g_recaptcha_response)) { if($this->Email->send($this->to, $subject, nl2br($message))) { return $this->Errors['SUCCESS']; } else { return $this->Errors['ERROR'];} } else { return $GLOBALS['_SITE']->Errors['RECAPTCHA'];} } else { return $this->Errors['MISSING'];} } }