src/Controller/DefaultController.php line 32

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