src/AppBundle/Controller/Site/DefaultController.php line 307

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller\Site;
  3. use AppBundle\Entity\Customer\AgentContactForm;
  4. use AppBundle\Entity\Customer\ContactForm;
  5. use AppBundle\Entity\Customer\ContactRequest;
  6. use AppBundle\Entity\Customer\ContactRequestTime;
  7. use AppBundle\Entity\System\BannerClick;
  8. use AppBundle\Form\Customer\AgentContactFormType;
  9. use AppBundle\Form\Customer\ContactFormType;
  10. use AppBundle\Form\Customer\ContactRequestType;
  11. use AppBundle\Utils\ContactFormService;
  12. use AppBundle\Utils\MailerService;
  13. use DateTime;
  14. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  15. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  16. use Symfony\Component\Form\FormError;
  17. use Symfony\Component\Form\FormInterface;
  18. use Symfony\Component\HttpFoundation\JsonResponse;
  19. use Symfony\Component\HttpFoundation\RedirectResponse;
  20. use Symfony\Component\HttpFoundation\Request;
  21. use Symfony\Component\HttpFoundation\Response;
  22. class DefaultController extends Controller
  23. {
  24.     /**
  25.      * @Route("/", name="default_homepage")
  26.      * @return Response
  27.      */
  28.     public function indexAction()
  29.     {
  30.         return $this->render('Site/Default/index/index.html.twig');
  31.     }
  32.     /**
  33.      * @Route("/o-nas", name="default_aboutUs")
  34.      * @return Response
  35.      */
  36.     public function aboutUsAction()
  37.     {
  38.         return $this->render('Site/Default/about-us.html.twig');
  39.     }
  40.     /**
  41.      * @Route("/jak-kupic", name="default_howToBuy")
  42.      * @return Response
  43.      */
  44.     public function howToBuyAction()
  45.     {
  46.         return $this->render('Site/Default/how-to.html.twig');
  47.     }
  48.     /**
  49.      * @Route("/zglos-szkode", name="default_reportDamage")
  50.      * @return Response
  51.      */
  52.     public function reportDamageAction()
  53.     {
  54.         $em $this->getDoctrine()->getManager();
  55.         $tus $em->getRepository('AppBundle:Tu\Tu')->findBy(['inPartners' => 1'deleted' => 0]);
  56.         return $this->render('Site/Default/report-damage.html.twig', array('tus' => $tus));
  57.     }
  58.     /**
  59.      * @Route("/owu", name="default_owu")
  60.      * @return Response
  61.      */
  62.     public function owuAction()
  63.     {
  64.         $em $this->getDoctrine()->getManager();
  65.         $tus $em->getRepository('AppBundle:Tu\Tu')->findAll();
  66.         return $this->render('Site/Default/owu.html.twig', array('tus' => $tus));
  67.     }
  68.     /**
  69.      * @Route("/regulamin", name="default_regulations")
  70.      * @return Response
  71.      */
  72.     public function regulationsAction()
  73.     {
  74.         return $this->render('Site/Default/regulations.html.twig');
  75.     }
  76.     /**
  77.      * @Route("/klauzula-rodo", name="default_rodo")
  78.      * @return Response
  79.      */
  80.     public function rodoAction()
  81.     {
  82.         return $this->render('Site/Default/rodo.html.twig');
  83.     }
  84.     /**
  85.      * @Route("/partnerzy", name="default_partners")
  86.      * @return Response
  87.      */
  88.     public function partnersAction()
  89.     {
  90.         $em $this->getDoctrine()->getManager();
  91.         $tus $em->getRepository('AppBundle:Tu\Tu')->findBy(['inPartners' => 1'deleted' => 0]);
  92.         return $this->render('Site/Default/partners.html.twig', array('tus' => $tus));
  93.     }
  94.     /**
  95.      * @Route("/bezpieczenstwo", name="default_security")
  96.      * @return Response
  97.      */
  98.     public function securityAction()
  99.     {
  100.         return $this->render('Site/Default/security.html.twig');
  101.     }
  102.     /**
  103.      * @Route("/reklama", name="default_advertising")
  104.      * @return Response
  105.      */
  106.     public function advertisingAction()
  107.     {
  108.         return $this->render('Site/Default/advertising.html.twig');
  109.     }
  110.     /**
  111.      * @Route("/kontakt", name="default_contact")
  112.      * @param Request $request
  113.      * @param ContactFormService $contactFormService
  114.      * @return RedirectResponse|Response
  115.      */
  116.     public function contactAction(Request $requestContactFormService $contactFormService)
  117.     {
  118.         $result $contactFormService->handleFormSubmition($request);
  119.         /** @var FormInterface $form */
  120.         $form $result['form'];
  121.         $isValid $result['valid'];
  122.         if($isValid) {
  123.             $this->addFlash(
  124.                 'success',
  125.                 'Dziękujemy za złożenie zapytania. Odpowiemy na nie w ciągu najbliższych 24 godzin.'
  126.             );
  127.             return $this->redirect($request->getUri());
  128.         }
  129.         return $this->render('Site/Default/contact.html.twig',[
  130.             'form' => $form->createView()
  131.         ]);
  132.     }
  133.     /**
  134.      * @Route("/wspolpraca", name="default_partnership")
  135.      * @param Request $request
  136.      * @param ContactFormService $contactFormService
  137.      * @param MailerService $mailerService
  138.      * @return RedirectResponse|Response
  139.      */
  140.     public function partnershipAction(Request $requestContactFormService $contactFormServiceMailerService $mailerService)
  141.     {
  142.         $formData = new AgentContactForm();
  143.         $form $this->createForm(AgentContactFormType::class, $formData, ['method' => 'POST''attr' => ['id' => 'appbundle_customer_contactform']]);
  144.         $form->handleRequest($request);
  145.         if ($form->isSubmitted()) {
  146.             $recaptchaResponse $request->request->get('g-recaptcha-response');
  147.             $request->request->remove('g-recaptcha-response');
  148.             $captcha_success $contactFormService->verifyCaptcha($recaptchaResponse);
  149.             if ($captcha_success->success==false) {
  150.                 $form->addError(new FormError('Formularz wygasł, wyślij go ponownie'));
  151.             }
  152.             if($form->isValid()) {
  153.                 $em $this->getDoctrine()->getManager();
  154.                 $em->persist($formData);
  155.                 $em->flush();
  156.                 $this->addFlash(
  157.                     'success',
  158.                     'Dziękujemy za złożenie zapytania. Odpowiemy na nie w ciągu najbliższych 24 godzin.'
  159.                 );
  160.                 $mailerService->sendCommonSystemMessage('agent@wygodnie.pl'MailerService::AGENT_CONTACT_MAIL, ['formData' => $formData]);
  161.                 return $this->redirect($request->getUri());
  162.             }
  163.         }
  164.         return $this->render('Site/Default/partnership.html.twig',[
  165.             'form' => $form->createView()
  166.         ]);
  167.     }
  168.     /**
  169.      * @Route("/contact-request", name="default_contact_request")
  170.      * @param Request $request
  171.      * @return JsonResponse|RedirectResponse
  172.      */
  173.     public function contactRequest(Request $request)
  174.     {
  175.         $contactRequest = new ContactRequest();
  176.         $contactRequest->setContactRequestDate(new DateTime());
  177.         $form $this->createForm(ContactRequestType::class, $contactRequest);
  178.         $form->handleRequest($request);
  179.         if ($form->isSubmitted() && $form->isValid()) {
  180.             $contactRequest $form->getData();
  181.             $em $this->getDoctrine()->getManager();
  182.             $em->persist($contactRequest);
  183.             $em->flush();
  184.             return new JsonResponse('<p><i class="fa fa-check-circle" aria-hidden="true"></i>Twoje zamówienie rozmowy'
  185.                 ' telefonicznej zostało pomyślnie wysłane. Nasz pracownik oddzwoni do Ciebie w preferowanym terminie.</p>'
  186.                 '<p><b>Dziękujemy</b>, Zespół Wygodnie.pl.</p>');
  187.         }
  188.         return $this->redirectToRoute('default_homepage');
  189.     }
  190.     /**
  191.      * @Route("/partnerzy/allianz", name="default_partners_allianz")
  192.      */
  193.     public function partnersAllianzAction()
  194.     {
  195.         return $this->render('Site/Default/partners/allianz.html.twig');
  196.     }
  197.     /**
  198.      * @Route("/partnerzy/aviva", name="default_partners_aviva")
  199.      */
  200.     public function partnersAvivaAction()
  201.     {
  202.         return $this->render('Site/Default/partners/aviva.html.twig');
  203.     }
  204.     /**
  205.      * @Route("/partnerzy/axa", name="default_partners_axa")
  206.      */
  207.     public function partnersAxaAction()
  208.     {
  209.         return $this->render('Site/Default/partners/axa.html.twig');
  210.     }
  211.     /**
  212.      * @Route("/partnerzy/europa", name="default_partners_europa")
  213.      */
  214.     public function partnersEuropaAction()
  215.     {
  216.         return $this->render('Site/Default/partners/europa.html.twig');
  217.     }
  218.     /**
  219.      * @Route("/partnerzy/hestia", name="default_partners_hestia")
  220.      */
  221.     public function partnersHestiaAction()
  222.     {
  223.         return $this->render('Site/Default/partners/hestia.html.twig');
  224.     }
  225.     /**
  226.      * @Route("/partnerzy/generali", name="default_partners_generali")
  227.      */
  228.     public function partnersGeneraliAction()
  229.     {
  230.         return $this->render('Site/Default/partners/generali.html.twig');
  231.     }
  232.     /**
  233.      * @Route("/partnerzy/signal", name="default_partners_signal")
  234.      */
  235.     public function partnerSignalAction()
  236.     {
  237.         return $this->render('Site/Default/partners/signal.html.twig');
  238.     }
  239.     /**
  240.      * @Route("/partnerzy/uniqa", name="default_partners_uniqa")
  241.      */
  242.     public function partnersUniqaAction()
  243.     {
  244.         return $this->render('Site/Default/partners/uniqa.html.twig');
  245.     }
  246.     /**
  247.      * @Route("/partnerzy/warta", name="default_partners_warta")
  248.      */
  249.     public function partnersWartaAction()
  250.     {
  251.         return $this->render('Site/Default/partners/warta.html.twig');
  252.     }
  253.     /**
  254.      * @Route("/partnerzy/pzu", name="default_partners_pzu")
  255.      */
  256.     public function partnersPzuAction()
  257.     {
  258.         return $this->render('Site/Default/partners/pzu.html.twig');
  259.     }
  260.     /**
  261.      * @Route("/ranking-ubezpieczen-mieszkania", name="default_flat_insurance_rank")
  262.      */
  263.     public function flatInsuranceRankAction()
  264.     {
  265.         return $this->render('Site/Default/flat-insurance-rank.html.twig');
  266.     }
  267.     /**
  268.      * @Route("/banner-redirect", name="default_banner_redirect")
  269.      */
  270.     public function bannerRedirectAction(Request $request)
  271.     {
  272.         $href $request->query->get('href''');
  273.         $href_enc $request->query->get('href_enc''');
  274.         if ($href == '' && $href_enc != '') {
  275.             $href base64_decode($href_enc);
  276.         }
  277.         $banner $request->query->get('banner''');
  278.         $bc = new BannerClick();
  279.         $bc->setBanner($banner);
  280.         $em $this->getDoctrine()->getManager();
  281.         $em->persist($bc);
  282.         $em->flush();
  283.         return $this->redirect($href);
  284.     }
  285. }