src/Controller/ContactsController.php line 34

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Form\ContactFormType;
  4. use App\Request\ContactFormRequest;
  5. use App\Service\EmailService;
  6. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3Validator;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class ContactsController extends AbstractController
  11. {
  12. /**
  13. * @Route("/contact-us", name="contactUs")
  14. */
  15. public function index(Request $request, EmailService $emailService, Recaptcha3Validator $recaptcha3Validator)
  16. {
  17. $contactFormRequest = new ContactFormRequest();
  18. $form = $this->createForm(ContactFormType::class, $contactFormRequest);
  19. $form->handleRequest($request);
  20. if ($form->isSubmitted() && $form->isValid()) {
  21. $score = $recaptcha3Validator->getLastResponse()->getScore();
  22. $emailService->sendContactForm($contactFormRequest);
  23. $this->addFlash('contact-form-success', 'Your message has been sent. Thank you!');
  24. return $this->redirectToRoute('contactUs');
  25. }
  26. return $this->render('contact/index.html.twig', [
  27. 'form' => $form->createView(),
  28. ]);
  29. }
  30. }