src/Controller/Informations/contactusController.php line 71

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Informations;
  3. use App\Form\ContactUsFormType;
  4. use Pimcore\Controller\FrontendController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Pimcore\Localization\LocaleServiceInterface;
  9. use Pimcore\Model\DataObject\ClassDefinition\Service;
  10. use Pimcore\Model\DataObject\Contactform;
  11. use Pimcore\Model\DataObject;
  12. use Symfony\Contracts\Translation\TranslatorInterface;
  13. class contactusController extends FrontendController{
  14.     /**
  15.      * @Route("/contact-form", name="contact-form")
  16.     */
  17.     public function contactAction(Request $request ,TranslatorInterface $translator){
  18.         $countries \Pimcore::getContainer()->get(LocaleServiceInterface::class)->getDisplayRegions();
  19.         asort($countries);
  20.         $form $this->createForm(ContactUsFormType::class,null, [
  21.             'translator' => $translator,
  22.         ]);
  23.         
  24.         
  25.    
  26.         $form->handleRequest($request);
  27.         
  28.         if ($form->isSubmitted() && $form->isValid()) {
  29.             if(!empty($_POST['g-recaptcha-response'])){
  30.                 
  31.             }else{
  32.                 if($_SERVER['HTTP_HOST'] == 'gfs2.centric.ae'){
  33.                     $secret $secretdev '6LdxNsAgAAAAAOY5GPouinn81p6Vh8sih9o_s0xX';
  34.                 }elseif ($_SERVER['HTTP_HOST'] == 'goodycs.com') {
  35.                     $secret $secretprod '6Le5OcAgAAAAAIxdbVPc2Y3DN6WMEWzAmE2F85WR';
  36.                 }
  37.             
  38.                 $url 'https://www.google.com/recaptcha/api/siteverify?secret=' urlencode($secret) .  '&response=' urlencode($_POST['g-recaptcha-response']);
  39.                // $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
  40.                 $verifyResponse file_get_contents($url);
  41.                 $responseData json_decode($verifyResponse);
  42.                 if($responseData->success == false){
  43.                     return $this->render('Informations/contactus.html.twig', [
  44.                         'form' => $form->createView(),
  45.                         'success' => true
  46.                     ]);
  47.                 }
  48.             }
  49.             $data $form->getData();
  50.            
  51.             $contactus = new Contactform();
  52.             $contactus->setKey(\Pimcore\File::getValidFilename(strip_tags($data["email"]).'-'.time()));
  53.             $contactus->setParent(DataObject\Folder::getByPath('/contactus/'));
  54.             $contactus->setFirstname(strip_tags($data["firstname"]));
  55.             $contactus->setLastname(strip_tags($data["lastname"]));
  56.             $contactus->setEmail(strip_tags($data["email"]));
  57.             $contactus->setCountry(strip_tags($data["country"]));
  58.             $contactus->setNationality(strip_tags($data["nationality"]));
  59.             $contactus->setComments(strip_tags($data["comments"]));
  60.             $contactus->setPublished(true);
  61.             $contactus->save();
  62.             $this->addFlash("success",$translator->trans("Thank you for your query. Our representatives wil respond to your query very soon."));
  63.             return $this->redirect($request->getUri());
  64.         }
  65.         return $this->render('Informations/contactus.html.twig', [
  66.             'form' => $form->createView(),
  67.             'countries' => $countries,
  68.             'success' => false
  69.         ]);
  70.     }
  71. }