src/Controller/ContactController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Contact;
  4. use App\Form\ContactType
  5. use App\Service\MailTransport;
  6. use Doctrine\ORM\EntityManager;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Mime\Email;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Symfony\Component\Mailer\MailerInterface;
  12. use PHPMailer\PHPMailer\PHPMailer;
  13. use PHPMailer\PHPMailer\SMTP;
  14. use PHPMailer\PHPMailer\Exception;
  15. use Symfony\Bridge\Twig\Mime\TemplatedEmail;
  16. use Doctrine\ORM\EntityManagerInterface;
  17. class ContactController extends AbstractController
  18. {
  19.     #[Route('/contact'name'app_contact')]
  20.     public function index(Request $requestMailTransport $mailTransportEntityManagerInterface $entityManager)
  21.     {
  22.         $contact = new Contact;
  23.         $form $this->createForm(ContactType::class, $contact);
  24.         $form->handleRequest($request);
  25.         if($form->isSubmitted() && $form->isValid()) {
  26.             $contactFormData $form->getData();
  27.             $from "Contact UBPhotographies";
  28.             $to "contact@ubphotographies.com";
  29.             $subject 'Contact ubphotographies';
  30.             $email =  $contact->getEmail();
  31.             $type =  $contact->getType();
  32.             $phone =  $contact->getPhone();
  33.             $fullname =  $contact->getName();
  34.             $firstName =  $contact->getFirstname();
  35.             $message =  $contact->getMessage();
  36.             $message "Bonjour,
  37.             \r\nVous avez un nouveau message reçu depuis le formulaire contact :
  38.             \r\n- Type de demande : $type\r\n- Email : $email\r\n- Téléphone : $phone\r\n- Nom : $fullname\r\n- Prénom : $firstName\r\n- Message :\r\n$message
  39.             ";
  40.             $mail $mailTransport->send($from$to$subject$message);
  41.             if ($mail == true) {
  42.                 $this->addFlash('success''Votre message a bien été envoyé');
  43.             } else {
  44.                 $this->addFlash('error'"Votre message n'a pas pu être envoyé, veuillez réessayer.");
  45.             }
  46.             $contact->setCreationDate(date('d-m-Y H:i:s'));
  47.             $entityManager->persist($contact);
  48.             $entityManager->flush();
  49.             return $this->redirectToRoute('app_contact');
  50.         }
  51.         return $this->render('contact/index.html.twig', [
  52.             'contact_form' => $form->createView()
  53.         ]);
  54.     }
  55.     
  56. }