src/Application/Front/Controller/ContactController.php line 25
<?php
declare(strict_types=1);
namespace App\Application\Front\Controller;
use App\Application\Front\Form\ContactType;
use App\Application\Front\Manager\PostTagManager;
use App\Infrastructure\Client\Mailer\MailerManager;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ContactController extends AbstractController
{
public function __construct(
protected readonly MailerManager $mailerManager,)
{
}
#[Route('/contact', name: 'contact')]
public function index(Request $request): Response
{
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
$showSuccess = false;
if($form->isSubmitted() && $form->isValid()) {
$contactFormData = $form->getData();
$this->mailerManager->sendMessageToAdministrator(
name: $contactFormData['name'],
email: $contactFormData['email'],
message: $contactFormData['message']
);
$showSuccess = true;
}
return $this->render('frontend/contact/contact.html.twig', [
'form' => $form->createView(),
'showSuccess' => $showSuccess,
])->setSharedMaxAge(3600);
}
}