src/Application/Front/Controller/ContactController.php line 25

  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Application\Front\Controller;
  4. use App\Application\Front\Form\ContactType;
  5. use App\Application\Front\Manager\PostTagManager;
  6. use App\Infrastructure\Client\Mailer\MailerManager;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\RedirectResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class ContactController extends AbstractController
  13. {
  14.     public function __construct(
  15.         protected readonly MailerManager $mailerManager,)
  16.     {
  17.     }
  18.     #[Route('/contact'name'contact')]
  19.     public function index(Request $request): Response
  20.     {
  21.         $form $this->createForm(ContactType::class);
  22.         $form->handleRequest($request);
  23.         $showSuccess false;
  24.         if($form->isSubmitted() && $form->isValid()) {
  25.             $contactFormData $form->getData();
  26.             $this->mailerManager->sendMessageToAdministrator(
  27.                 name$contactFormData['name'],
  28.                 email$contactFormData['email'],
  29.                 message$contactFormData['message']
  30.             );
  31.             $showSuccess true;
  32.         }
  33.         return $this->render('frontend/contact/contact.html.twig', [
  34.             'form' => $form->createView(),
  35.             'showSuccess' => $showSuccess,
  36.         ])->setSharedMaxAge(3600);
  37.     }
  38. }