src/Controller/LandingController.php line 55
<?phpnamespace App\Controller;use App\Controller\Traits\HreflangsControllerTrait;use App\Controller\Traits\MetatagsControllerTrait;use App\Controller\Traits\StaticPageHelperTrait;use App\Controller\Traits\ValidateCatpchaControllerTrait;use App\Entity\Magazine;use App\Entity\Newsletter;use App\Entity\Recipe;use App\Entity\StaticPage;use App\Form\CustomerServiceType;use App\Repository\MagazineRepository;use App\Repository\RecipeRepository;use App\Service\EmailService;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\JsonResponse;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Route;use Symfony\Contracts\Translation\TranslatorInterface;class LandingController extends AbstractController{use MetatagsControllerTrait, HreflangsControllerTrait, StaticPageHelperTrait;private $em;private $transalor;public function __construct(EntityManagerInterface $em, TranslatorInterface $translator){$this->em = $em;$this->transalor = $translator;}#[Route(['/landing/mini-cake',// 'en' => '/en',// 'es' => '/es',], name: 'landing_mini_cake')]public function landingMiniCake(Request $request, EntityManagerInterface $em){list ($metatags, $hreflangs) = $this->getStaticPageMetatagsAndHreflangs($request, $em, $this->getParameter('locales'));return $this->render('landing/miniCake.html.twig', ['metatags' => $metatags,'hreflangs' => $hreflangs]);}use ValidateCatpchaControllerTrait;#[Route(['/verdeamore/contact',// 'en' => '/en',// 'es' => '/es',], name: 'verdeamore_contact', methods: ["POST"])]public function landingVerdeAmore(Request $request, EntityManagerInterface $em, EmailService $emailService){list ($metatags, $hreflangs) = $this->getStaticPageMetatagsAndHreflangs($request, $em, $this->getParameter('locales'));$form = $this->createForm(CustomerServiceType::class);if($request->isMethod('POST')){$form->handleRequest($request);/** VALIDATING CAPTCHA */$validCaptcha = false;if ($recaptcha = $request->get('input')['recaptcha']) {if ($this->validateCaptcha($recaptcha,$this->getParameter('app_recaptcha_secret_v3'))) {$validCaptcha = true;}}if ($form->isSubmitted() && $form->isValid() && $validCaptcha) {$data = $form->getData();$email = $data['email'];$name = $data['name'];$surname = $data['surname'];$phone = $data['phone'];$reason = $data['reason'];$agreeType = 0;// if($data['data'] && $data['data2']){// $agreeType = 3;// } elseif($data['data'] && !$data['data2']){// $agreeType = 1;// } elseif(!$data['data'] && $data['data2']){// $agreeType = 2;// } else {// $agreeType = 0;// }if($data['data'])$agreeType = 1;if($agreeType){$newsletter = new Newsletter;$newsletter->setEmail($email);$newsletter->setName($name);$newsletter->setSurname($surname);$newsletter->setPhone($phone);$newsletter->setAgree($agreeType);$em->persist($newsletter);$em->flush();}$emailService->sendContactEmail($data, $request->getLocale());return new JsonResponse('success', 200);}if ($form->isSubmitted() && $form->getErrors() && $validCaptcha) {$errors = [];foreach ($form->getErrors(true) as $e) {// dd($e->getOrigin()->getName());$errors[$e->getOrigin()->getName()] = $e->getMessage();}return new JsonResponse(['errors' => $errors,], 406);}if(!$validCaptcha){return new JsonResponse('captcha not valid', 403);}}return $this->render('landing/verdeAmore.html.twig', ['metatags' => $metatags,'hreflangs' => $hreflangs,'form' => $form->createView()]);}}