src/Controller/ContactController.php line 144

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 App\Form\SvsFormContactType;
  8. use App\Form\SvsFormContactReclamationType;
  9. use App\Form\SvsFormContactCandidatureType;
  10. use Symfony\Component\Mailer\MailerInterface// Assurez-vous d'importer cette classe
  11. use Symfony\Component\Mime\Email;
  12. class ContactController extends AbstractController
  13. {
  14.     /**
  15.      * @Route("/contact/reclamation", name="app_contact_reclamation")
  16.      */
  17.     public function reclamation(Request $requestMailerInterface $mailer): Response
  18.     {
  19.         // get form
  20.         $form $this->createForm(SvsFormContactReclamationType::class);
  21.         $form->handleRequest($request);
  22.         // get data from Form if submitted
  23.         if ($form->isSubmitted() && $form->isValid()) 
  24.         {
  25.             $data $form->getData();
  26.             // Send the email
  27.             $email = (new Email())
  28.                 ->from('web@svs-dz.com')
  29.                 ->to('commerciale@svs-dz.com')
  30.                 ->subject('Réclamation')
  31.                 ->text(
  32.                     'name: ' $data['nomcomplet'] . "\n" .
  33.                     'phone: ' $data['phone'] . "\n" .
  34.                     'personne: ' $data['personne'] . "\n" .
  35.                     'activity: ' $data['activite'] . "\n" .
  36.                     'email: ' $data['email'] . "\n" .
  37.                     'objet: ' $data['objet'] . "\n" .
  38.                     'message: ' $data['message'] . "\n"
  39.                 );
  40.             $mailer->send($email);
  41.             $this->addFlash(
  42.                 'notice',
  43.                 'Message envoyée'
  44.             );
  45.             
  46.             return $this->redirectToRoute('app_contact');
  47.         }
  48.         $uri  explode('/'$request->getUri())[3];
  49.         $uri2 explode('/'$request->getUri())[4] ?? '';
  50.         return $this->render('contact/index.html.twig', [
  51.             'controller_name' => 'ContactController',
  52.             'uri'             => $uri,
  53.             'uri2'             => $uri2,
  54.             'formulaire'      => $form->createView(),
  55.         ]);
  56.     }
  57.     /**
  58.      * @Route("/contact/candidature", name="app_contact_candidature")
  59.      */
  60.     public function candidature(Request $requestMailerInterface $mailer): Response
  61.     {
  62.         // get form
  63.         $form $this->createForm(SvsFormContactCandidatureType::class);
  64.         $form->handleRequest($request);
  65.         // get data from Form if submitted
  66.         if ($form->isSubmitted() && $form->isValid()) 
  67.         {
  68.             $data $form->getData();
  69.             // Send the email
  70.             $email = (new Email())
  71.                 ->from('web@svs-dz.com')
  72.                 ->to('commerciale@svs-dz.com')
  73.                 ->subject('Demande de candidature')
  74.                 ->text(
  75.                     'name: ' $data['nomcomplet'] . "\n" .
  76.                     'phone: ' $data['phone'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  77.                     'email: ' $data['email'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  78.                     'niveau: ' $data['niveau'] . "\n" .
  79.                     'taille: ' $data['taille'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  80.                     'dob: ' $data['dob'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  81.                     'message: ' $data['message'] . "\n" // Utilisez la clé 'message' pour cette ligne
  82.                     // Add other fields here
  83.                 );
  84.             $mailer->send($email);
  85.             $this->addFlash(
  86.                 'notice',
  87.                 'Message envoyée'
  88.             );
  89.             
  90.             return $this->redirectToRoute('app_contact');
  91.         }
  92.         $uri  explode('/'$request->getUri())[3];
  93.         $uri2 explode('/'$request->getUri())[4] ?? '';
  94.         return $this->render('contact/index.html.twig', [
  95.             'controller_name' => 'ContactController',
  96.             'uri'             => $uri,
  97.             'uri2'             => $uri2,
  98.             'formulaire'      => $form->createView(),
  99.         ]);
  100.     }
  101.     
  102.     /**
  103.      * @Route("/contact", name="app_contact")
  104.      */
  105.     public function index(Request $requestMailerInterface $mailer): Response
  106.     {
  107.         $session $request->getSession();
  108.         
  109.         // get form
  110.         $form $this->createForm(SvsFormContactType::class);
  111.         $form->handleRequest($request);
  112.         // get data from Form if submitted
  113.         if ($form->isSubmitted() && $form->isValid()) 
  114.         {
  115.             $data $form->getData();
  116.             // Send the email
  117.             $email = (new Email())
  118.                 ->from('web@svs-dz.com')
  119.                 ->to('commerciale@svs-dz.com')
  120.                 ->subject('Demande de devis')
  121.                 ->text(
  122.                     'name: ' $data['nomcomplet'] . "\n" .
  123.                     'phone: ' $data['phone'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  124.                     'prestation: ' $data['prestation'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  125.                     'personne: ' $data['personne'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  126.                     'activity: ' $data['activite'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  127.                     'email: ' $data['email'] . "\n" .// Utilisez la clé 'message' pour cette ligne
  128.                     'message: ' $data['message'] . "\n" // Utilisez la clé 'message' pour cette ligne
  129.                     // Add other fields here
  130.                 );
  131.             $mailer->send($email);
  132.             $this->addFlash(
  133.                 'notice',
  134.                 'Message envoyée'
  135.             );
  136.             
  137.             return $this->redirectToRoute('app_contact');
  138.         }
  139.         $uri  explode('/'$request->getUri())[3];
  140.         $uri2 explode('/'$request->getUri())[4] ?? '';
  141.         return $this->render('contact/index.html.twig', [
  142.             'controller_name' => 'ContactController',
  143.             'uri'             => $uri,
  144.             'uri2'            => $uri2,
  145.             'formulaire'      => $form->createView(),
  146.         ]);
  147.     }
  148. }