src/Controller/Front/HomeController.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use App\Form\ContactType as FormContactType;
  4. use App\Repository\EventRepository;
  5. use Doctrine\ORM\NonUniqueResultException;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Mailer\MailerInterface;
  10. use Symfony\Component\Mime\Email;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class HomeController extends AbstractController
  13. {
  14.     /**
  15.      * @throws NonUniqueResultException
  16.      */
  17.     #[Route('/'name'home')]
  18.     public function sendContactMail(
  19.         Request $request,
  20.         MailerInterface $mailer,
  21.         EventRepository $eventRepository,
  22.     ): Response
  23.     {
  24.         $form $this->createForm(FormContactType::class);
  25.         
  26.         $form->handleRequest($request);
  27.         if ($form->isSubmitted() && $form->isValid()) {
  28.             $email = (new Email())
  29.             ->from($request->get('contact')['email'])
  30.             ->to()
  31.             ->subject('Formulaire de contact - Magneux')
  32.             ->html('
  33.                 Message de : ' $request->get('contact')['name'] . '</br></br>''Numéro de téléphone : ' 
  34.                 $request->get('contact')['telephone'] . '</br></br>'  .  'Adresse mail: ' 
  35.                 $request->get('contact')['email'] . '</br></br>'   'Contenu du message : ' $request->get('contact')['message']
  36.             );
  37.             $mailer->send($email);
  38.             
  39.             $response = new Response();
  40.             if ($response->getStatusCode() == "200"){
  41.                 $this->addFlash('success''Votre email a bien été envoyé !');
  42.             }
  43.             return $this->redirectToRoute('home');
  44.         }
  45.         return $this->render('front/page/home/index.html.twig', [
  46.             'last_event' => $eventRepository->getLast(),
  47.             'form' => $form->createView(),
  48.         ]);
  49.     }
  50. }