src/Controller/DefaultController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Contracts\Translation\TranslatorInterface;
  8. use Pimcore\Localization\LocaleServiceInterface;
  9. use Pimcore\Model\DataObject\Recipe;
  10. use Pimcore\Model\DataObject\Review;
  11. use Pimcore\Model\DataObject\Commentscount;
  12. use Pimcore\Model\DataObject\Test;
  13. use Pimcore\Model\DataObject\Contactus;
  14. use Pimcore\Model\DataObject\Newsletter;
  15. use Pimcore\Model\DataObject;
  16. class DefaultController extends FrontendController {
  17.     /**
  18.      * @Template
  19.      *
  20.      * @param Request $request
  21.      *
  22.      * @return array
  23.      */
  24.     public function defaultAction(Request $request) {
  25.         return [];
  26.     }
  27.     public function signupviewAction(Request $request) {
  28.         if ($this->get('session')->get('loginUserEmail')) {
  29.             return $this->redirect("/en/dashboard");
  30.         } else {
  31.             $countries \Pimcore::getContainer()->get(LocaleServiceInterface::class)->getDisplayRegions();
  32.             asort($countries);
  33.             return $this->render(
  34.                 'content/signup.html.twig',
  35.                 [
  36.                     'countries' => $countries,
  37.                 ]
  38.             );
  39.         }
  40.     }
  41.     public function contactusviewAction(Request $request) {
  42.         $countries \Pimcore::getContainer()->get(LocaleServiceInterface::class)->getDisplayRegions();
  43.         asort($countries);
  44.         return $this->render(
  45.             'information/contact.html.twig',
  46.             [
  47.                 'countries' => $countries,
  48.             ]
  49.         );
  50.     }
  51.     /**
  52.      * @Route("/contactus_inguary", name = "contactus_inguary")
  53.      */
  54.     public function contactusForm(Request $request) {
  55.         $success 0;
  56.         $message    '';
  57.         $session $request->getSession();
  58.         //dd($session);
  59.         if (empty($_POST['g-recaptcha-response'])) {
  60.             // $this->addFlash('warning', 'Please check the the captcha form.');
  61.             // return $this->redirect($request->headers->get('referer').'#message-alertt');
  62.             $success 1;
  63.             return $this->json(array('success' => $success));
  64.         }
  65.         $secret $secretdev '6LePrpohAAAAANEprm30tyI4ltm2Tcgw8kO_BbEV';
  66.         $url 'https://www.google.com/recaptcha/api/siteverify?secret=' urlencode($secret) .  '&response=' urlencode($_POST['g-recaptcha-response']);
  67.         // $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
  68.         $verifyResponse file_get_contents($url);
  69.         $responseData json_decode($verifyResponse);
  70.         if ($responseData->success == false) {
  71.             $success 1;
  72.             return $this->json(array('success' => $success));
  73.             // $this->addFlash('warning', 'Please check the the captcha form.');
  74.             // return $this->redirect($request->headers->get('referer').'#message-alertt');
  75.         }
  76.         if ($request->get('first_name') && $request->get('last_name') && $request->get('email') && $request->get('message')) {
  77.             $Fname $request->get('first_name');
  78.             $Lname $request->get('last_name');
  79.             $Email $request->get('email');
  80.             $NumberPrefix $request->get('prefix');
  81.             $MobileNmuberWithoutPrefix $request->get('text');
  82.             $country $request->get('country');
  83.             $message $request->get('message');
  84.             $newsletters $request->get('newsletters');
  85.             try {
  86.                 $tick false;
  87.                 if ($request->get('newsletters') == 'on') {
  88.                     $tick true;
  89.                 }
  90.                 $inquary = new Contactus();
  91.                 $inquary->setKey(\Pimcore\File::getValidFilename($request->get('email') . strtotime(date('Y-m-d h:i:s'))));
  92.                 $inquary->setParent(DataObject\Folder::getByPath('/Contactus_inquary/'));
  93.                 $inquary->setFirstname(strip_tags($request->get('first_name')));
  94.                 $inquary->setLastname(strip_tags($request->get('last_name')));
  95.                 $inquary->setEmail(strip_tags($request->get('email')));
  96.                 $inquary->setMobile(strip_tags($request->get('prefix')) . '-' strip_tags($request->get('number')));
  97.                 $inquary->setCountry(strip_tags($request->get('country')));
  98.                 $inquary->setMessage(strip_tags($request->get('message')));
  99.                 $inquary->setNewsletters($tick);
  100.                 $inquary->setPublished(true);
  101.                 if ($inquary->save()) {
  102.                     // $this->addFlash('success', 'Your enquiry has been sent...');
  103.                     // return $this->redirect($request->headers->get('referer').'#message-alertt');
  104.                     $success 2;
  105.                     return $this->json(array('success' => $success));
  106.                 } else {
  107.                     $success 0;
  108.                     return $this->json(array('success' => $success));
  109.                 }
  110.             } catch (\Throwable $th) {
  111.                 // $this->addFlash('warning', 'Some required fields are empty.');
  112.                 // return $this->redirect($request->headers->get('referer').'#message-alertt');
  113.                 $success 3;
  114.                 return $this->json(array('success' => $success));
  115.             }
  116.         } else {
  117.             // $this->addFlash('warning', 'Some required fields are empty.');
  118.             // return $this->redirect($request->headers->get('referer').'#message-alertt');
  119.             $success 3;
  120.             return $this->json(array('success' => $success));
  121.         }
  122.         //    return $this->json(array('success' => $success));
  123.     }
  124.     /**
  125.      * @Route("/newsletter", name = "newsletter")
  126.      */
  127.     public function newsletterForm(Request $request) {
  128.         $success 0;
  129.         $session $request->getSession();
  130.         //$session = $request->getSession();
  131.         //dd($session);
  132.         if ($request->get('first_name') && $request->get('last_name') && $request->get('email')) {
  133.             $Fname $request->get('first_name');
  134.             $Lname $request->get('last_name');
  135.             $Email trim($request->get('email'));
  136.             try {
  137.                 $Newsletter = new Newsletter();
  138.                 $Newsletter->setKey(\Pimcore\File::getValidFilename($Email));
  139.                 $Newsletter->setParent(DataObject\Folder::getByPath('/Newsletter/'));
  140.                 $Newsletter->setFirstname(strip_tags($Fname));
  141.                 $Newsletter->setLastname(strip_tags($Lname));
  142.                 $Newsletter->setEmail(strip_tags($Email));
  143.                 $Newsletter->setPublished(true);
  144.                 if ($Newsletter->save()) {
  145.                     $success 1;
  146.                     // $session->getFlashBag()->add('contactus-message', 'Your enquiry has been sent..');
  147.                     // return $this->redirect($_SERVER['HTTP_REFERER'].'#result');
  148.                 } else {
  149.                     $success 0;
  150.                     // $session->getFlashBag()->add('contactus-warning', 'Oops, something is wrong.');
  151.                     // return $this->redirect($_SERVER['HTTP_REFERER'].'#result');
  152.                 }
  153.             } catch (\Throwable $th) {
  154.                 $session->getFlashBag()->add('contactus-error''something went wrong.');
  155.                 return $this->redirect($_SERVER['HTTP_REFERER']);
  156.             }
  157.         } else {
  158.             $success 2;
  159.             // $session->getFlashBag()->add('contactus-error', 'Some required fields are empty.');
  160.             // return $this->redirect($_SERVER['HTTP_REFERER'].'#result');
  161.         }
  162.         return $this->json(array('success' => $success));
  163.     }
  164.     public function signupmailAction(Request $request) {
  165.         $name $request->get('firstName');
  166.         $url $request->get('url');
  167.         $localeurl $request->get('localeurl');
  168.         return $this->render('emails/signup-email.html.twig', [
  169.             'name' => $name,
  170.             'url' => $url,
  171.             'localeurl' => $localeurl
  172.         ]);
  173.     }
  174.     public function signinviewAction(Request $request) {
  175.         if ($this->get('session')->get('loginUserEmail')) {
  176.             return $this->redirect("/en/dashboard");
  177.         } else {
  178.             return $this->render('content/signin.html.twig');
  179.         }
  180.     }
  181.     // public function resetpasswordmailAction(Request $request)
  182.     // {
  183.     //         return $this->render('emails/reset-password-email.html.twig');
  184.     // }
  185.     public function servereErrorPageAction() {
  186.         return $this->render('information/server-error.html.twig');
  187.     }
  188. }