src/Controller/ContactController.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\FeelBack;
  4. use App\Repository\FeelBackRepository;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Notifier\Notification\Notification;
  10. use Symfony\Component\Notifier\NotifierInterface;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class ContactController extends AbstractController
  13. {
  14.     private FeelBackRepository $feelBackRepository ;
  15.     /**
  16.      * @param FeelBackRepository $feelBackRepository
  17.      */
  18.     public function __construct(FeelBackRepository $feelBackRepository)
  19.     {
  20.         $this->feelBackRepository $feelBackRepository;
  21.     }
  22.     #[Route('/contact'name'app_contact')]
  23.     public function index(Request $request,  EntityManagerInterface $entityManagerNotifierInterface $notifier): Response
  24.     {
  25.         if($request->isMethod("POST")&& ($this->isCsrfTokenValid('contact'$request->request->get('token')))){
  26.             //dd($request);
  27.             $nom $request->request->get('name');    
  28.             $email =  $request->request->get('email');
  29.             $telephone $request->request->get('telephone');
  30.             $sujet$request->request->get('subject');
  31.             $message$request->request->get('message');
  32.             $feelBack = new FeelBack();
  33.             $feelBack->setName($nom);
  34.             $feelBack->setEmail($email);
  35.             $feelBack->setTelephone($telephone);
  36.             $feelBack->setSubject($sujet);
  37.             $feelBack->setMessage($message);
  38.             $entityManager->persist($feelBack);
  39.             $entityManager->flush();
  40.             $notifier->send(new Notification("Merci de nous avoir contacté",['browser']));
  41.            }
  42.         return $this->render('contact/index.html.twig', [
  43.             'controller_name' => 'ContactController',
  44.         ]);
  45.     }
  46. }