<?php
namespace App\Controller\Informations;
use App\Form\ContactUsFormType;
use Pimcore\Controller\FrontendController;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Routing\Annotation\Route;
use Pimcore\Localization\LocaleServiceInterface;
use Pimcore\Model\DataObject\ClassDefinition\Service;
use Pimcore\Model\DataObject\Contactform;
use Pimcore\Model\DataObject;
use Symfony\Contracts\Translation\TranslatorInterface;
class contactusController extends FrontendController{
/**
* @Route("/contact-form", name="contact-form")
*/
public function contactAction(Request $request ,TranslatorInterface $translator){
$countries = \Pimcore::getContainer()->get(LocaleServiceInterface::class)->getDisplayRegions();
asort($countries);
$form = $this->createForm(ContactUsFormType::class,null, [
'translator' => $translator,
]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
if(!empty($_POST['g-recaptcha-response'])){
}else{
if($_SERVER['HTTP_HOST'] == 'gfs2.centric.ae'){
$secret = $secretdev = '6LdxNsAgAAAAAOY5GPouinn81p6Vh8sih9o_s0xX';
}elseif ($_SERVER['HTTP_HOST'] == 'goodycs.com') {
$secret = $secretprod = '6Le5OcAgAAAAAIxdbVPc2Y3DN6WMEWzAmE2F85WR';
}
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($secret) . '&response=' . urlencode($_POST['g-recaptcha-response']);
// $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$verifyResponse = file_get_contents($url);
$responseData = json_decode($verifyResponse);
if($responseData->success == false){
return $this->render('Informations/contactus.html.twig', [
'form' => $form->createView(),
'success' => true
]);
}
}
$data = $form->getData();
$contactus = new Contactform();
$contactus->setKey(\Pimcore\File::getValidFilename(strip_tags($data["email"]).'-'.time()));
$contactus->setParent(DataObject\Folder::getByPath('/contactus/'));
$contactus->setFirstname(strip_tags($data["firstname"]));
$contactus->setLastname(strip_tags($data["lastname"]));
$contactus->setEmail(strip_tags($data["email"]));
$contactus->setCountry(strip_tags($data["country"]));
$contactus->setNationality(strip_tags($data["nationality"]));
$contactus->setComments(strip_tags($data["comments"]));
$contactus->setPublished(true);
$contactus->save();
$this->addFlash("success",$translator->trans("Thank you for your query. Our representatives wil respond to your query very soon."));
return $this->redirect($request->getUri());
}
return $this->render('Informations/contactus.html.twig', [
'form' => $form->createView(),
'countries' => $countries,
'success' => false
]);
}
}