src/Controller/ContactController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use PHPMailer\PHPMailer\PHPMailer;
  8. use PHPMailer\PHPMailer\SMTP;
  9. use PHPMailer\PHPMailer\Exception;
  10. use stdClass;
  11. //use App\Services\ReCaptcha\ReCaptcha;
  12. use ReCaptcha\ReCaptcha;
  13. class ContactController extends AbstractController
  14. {
  15.     #[Route('/contact'name'app_contact'methods: ['POST','GET'])]
  16.     public function index(Request $request): Response
  17.     {
  18.         
  19.         return $this->render('contact/contact.html.twig', [
  20.             'controller_name' => 'ContactController',
  21.         ]);
  22.     }
  23.     #[Route('/contact-traitement'name'app_contact_traitement'methods: ['POST'])]
  24.     public function conctactTraitament(Request $request): Response
  25.     {
  26.        
  27.         define('SITE_KEY'"6Leu25khAAAAAEpiNstG2FzJR6VvDLM4znabOdT_");
  28.         define('SECRET_KEY'"6Leu25khAAAAAIhTz-PXEdiU2YN82rKiGq6lbJLi");
  29.         
  30.         $recaptcha = new ReCaptcha(SECRET_KEY);
  31.         //dd($recaptcha);
  32.         $recaptchaResponse $recaptcha->verify($request->request->get('g-recaptcha-response'), $_SERVER['REMOTE_ADDR']);
  33.         dd('ok');
  34.         if (!$recaptchaResponse->isSuccess()) {
  35.             $output json_encode(array('type' => 'error''text' => '<b>Captcha</b> Validation Required!'));
  36.             echo "<p class='error'>Oups!!! Une erreur c'est produite. Veuillez confirmé que vous n\'etes pas un robot</p>";
  37.             die($output);
  38.         }
  39.         //$response = $request->getContent();
  40.         //Recuperation des informations du formulaire
  41.         $nom $request->request->get('name');
  42.         $prenom $request->request->get('prenom');
  43.         $email $request->request->get('email');
  44.         $telephone $request->request->get('phone');
  45.         $ville $request->request->get('ville');
  46.         $objet $request->request->get('objet');
  47.         $message $request->request->get('message');
  48.         
  49.         $mail = new PHPMailer();
  50.         $user = new stdClass();
  51.         $user->nom $nom;
  52.         $user->prenom $prenom;
  53.         $user->email $email;
  54.         $user->telephone $telephone;
  55.         $user->ville $ville;
  56.         $user->objet $objet;
  57.         $user->message $message;
  58.         $mail->setFrom('no-reply@legrandsoft.com''GL-Contact');
  59.         //$mail->addAddress($email);
  60.         //$mail->addAddress('contact@legrandsoft.com');
  61.         $mail->addAddress('anycerolly@gmail.com');
  62.         $mail->Subject utf8_decode('Contact');
  63.         $mail->msgHTML($this->render('contact/email-contact.html.twig', ['user' => $user])->getContent());
  64.         $mail->send();
  65.         $mail = new PHPMailer();
  66.         $mail->setFrom('no-reply@legrandsoft.com''GL-Contact');
  67.         $mail->addAddress($email);
  68.         $mail->Subject utf8_decode('Accusé de reception');
  69.         $mail->msgHTML($this->render('contact/email-reponse-contact.html.twig', ["user" => $user])->getContent());
  70.         $mail->send();
  71.         // return $this->render('contact/email-contact.html.twig', [
  72.         //     'user' => $user,
  73.         // ]);
  74.         return $this->json(['code'=>200'message'=>'Votre message a bien été envoyé !'],200);
  75.         //return $this->render('contact/email-contact.html.twig',['user'=>$user]);
  76.         
  77.     }
  78.     #[Route('/email'name'app_email'methods: ['POST','GET'])]
  79.     public function email(Request $request): Response
  80.     {
  81.         
  82.         return $this->render('contact/email-contact.html.twig');
  83.     }
  84.     #[Route('/email-reponse'name'app_email_reponse'methods: ['POST','GET'])]
  85.     public function emailReoinse(Request $request): Response
  86.     {
  87.         
  88.         return $this->render('contact/email-reponse-contact.html.twig');
  89.     }
  90. }