src/Controller/FrontEnd/ContactController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller\FrontEnd;
  3. use App\classe\Mails;
  4. use App\classe\Search;
  5. use App\Entity\Contact;
  6. use App\Form\ContactType;
  7. use App\Form\SearchType;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. class ContactController extends AbstractController
  14. {
  15.     private $em;
  16.     public function __construct(EntityManagerInterface $em)
  17.     {
  18.       return  $this->em $em;
  19.     }
  20.     #[Route('/front/end/contact'name'frontend_contact')]
  21.     public function index(Request $requestMails $mails): Response
  22.     {
  23.         $contact = new Contact();
  24.         $search = new Search();
  25.         $form $this->createForm(SearchType::class, $search);
  26.         $form->handleRequest($request);
  27.         $formcontact $this->createForm(ContactType::class, $contact);
  28.         $formcontact->handleRequest($request);
  29.         if ($formcontact->isSubmitted() && $formcontact->isValid()){
  30.             //Enregistrer les données dans la base de données
  31.             $date = new \DateTime('now');
  32.             $contact->setCreatedAt($date);
  33.             $this->em->persist($contact);
  34.             $this->em->flush();
  35.             $this->addFlash('success'"Votre message à bien été envoyer nous vous reviendrons très bientôt ");
  36.             //Envoie d'email à l'administracteur en utilisant l'API de MailJet
  37.             $objet "SCI CAWALLY | ".$contact->getSubject();
  38.             $content "<p style='font-size: large;'>Message venant du site internet SCI CAWALLY. <br/> Information sur l'expéditeur: </p>";
  39.             $content .= "<h4></strong>Nom et Prenom: </strong>".$contact->getFullName()."</h4>".
  40.                       "<h4> E-mail: ".$contact->getEmail()."</h4><h4>Sujet: ".$contact->getSubject()."</h4>";
  41.             $content .="<h4><strong>Message:</strong> </h4><br/><p style='font-size: large;'>".$contact->getMessage()."</p>";
  42.             $mails->sendMail($objet$content);
  43.             return $this->redirectToRoute('frontend_contact');
  44.         }
  45.         return $this->render('front_end/contact/index.html.twig', [
  46.             'controller_name' => 'ContactController',
  47.             'Formcontact'=>$formcontact->createView(),
  48.             'Form'=>$form->createView()
  49.         ]);
  50.     }
  51. }