85e58382983c38d80e79f7bb3eb448627d78e8f9
[mtweb] / contact.php
1 <?php
2
3   class mw_forms_contact extends mw_mod{
4
5     function index(&$env){
6       if($env->config("contact_form") && $env->config("email")){
7         if($env->config("captcha")){
8           if(file_exists($env->path("mw_dir")."libs/ptitcaptcha.php")){
9             require $env->path("mw_dir")."libs/ptitcaptcha.php";
10           }
11           else{
12             $env->erreur("fichier du captcha introuvable");
13             return;
14           }
15         }
16         $message = array(
17           "email" => "",
18           "message" => ""
19         );
20         if($_POST){
21           $message["email"] = $_POST["email"];
22           $message["message"] = $_POST["message"];
23           if(
24             $this->__send_form(
25               $env,
26               $message["email"],
27               "[".$env->config("site_name")."] nouveau message",
28               $message["message"],
29               $env->config("email"),
30               $env->config("captcha")
31             )
32           ){
33             $env->redirect(
34               $env->url("index"),
35               "Le message a &eacute;t&eacute; envoy&eacute;",
36               2
37             );
38           }
39         }
40         $env->set_out("message", $message);
41       }
42       else $env->run("index");
43     }
44
45     function __send_form(&$env, $from, $titre, $message, $dest, $captcha){
46       $env->set_out("ENVOYE", false);
47       if(!$captcha || PtitCaptchaHelper::checkCaptcha()){
48         if($from){
49           if($dest){
50             if(filter_var($from, FILTER_VALIDATE_EMAIL)){
51               if(
52                 @mail(
53                   $dest,
54                   $titre,
55                   $message,
56                    "From: ".$from."\r\n"
57                   ."Reply-To: ".$from."\r\n"
58                 )
59               ){
60                 $env->set_out("ENVOYE", true);
61                 return true;
62               }
63               else $env->erreur("Erreur &agrave; l'envoi du mail");
64             }
65             else $env->message("Votre email ne semble pas etre valide");
66           }
67           else $env->erreur("Impossible de trouver l'email du destinataire");
68         }
69         else $env->message("merci de pr&eacute;ciser un email");
70       }
71       else $env->message("anti-spam incorrect");
72       return false;
73     }
74
75   }
76
77 ?>