--- /dev/null
+<?php
+
+ class mw_forms_contact extends mw_mod{
+
+ function index(&$env){
+ if($env->config("contact_form") && $env->config("email")){
+ if($env->config("captcha")){
+ if(file_exists($env->path("mw_dir")."libs/ptitcaptcha.php")){
+ require $env->path("mw_dir")."libs/ptitcaptcha.php";
+ }
+ else{
+ $env->erreur("fichier du captcha introuvable");
+ return;
+ }
+ }
+ $message = array(
+ "email" => "",
+ "message" => ""
+ );
+ if($_POST){
+ $message["email"] = $_POST["email"];
+ $message["message"] = $_POST["message"];
+ if(
+ $this->__send_form(
+ $env,
+ $message["email"],
+ "[".$env->config("site_name")."] nouveau message",
+ $message["message"],
+ $env->config("email"),
+ $env->config("captcha")
+ )
+ ){
+ $env->redirect(
+ $env->url("index"),
+ "Le message a été envoyé",
+ 2
+ );
+ }
+ }
+ $env->set_out("message", $message);
+ }
+ else $env->run("index");
+ }
+
+ function __send_form(&$env, $from, $titre, $message, $dest, $captcha){
+ $env->set_out("ENVOYE", false);
+ if(!$captcha || PtitCaptchaHelper::checkCaptcha()){
+ if($from){
+ if($dest){
+ if(filter_var($from, FILTER_VALIDATE_EMAIL)){
+ if(
+ @mail(
+ $dest,
+ $titre,
+ $message,
+ "From: ".$from."\r\n"
+ ."Reply-To: ".$from."\r\n"
+ )
+ ){
+ $env->set_out("ENVOYE", true);
+ return true;
+ }
+ else $env->erreur("Erreur à l'envoi du mail");
+ }
+ else $env->message("Votre email ne semble pas etre valide");
+ }
+ else $env->erreur("Impossible de trouver l'email du destinataire");
+ }
+ else $env->message("merci de préciser un email");
+ }
+ else $env->message("anti-spam incorrect");
+ return false;
+ }
+
+ }
+
+?>
\ No newline at end of file