src/PortalBundle/Controller/UnicomersController.php line 26

Open in your IDE?
  1. <?php
  2. namespace PortalBundle\Controller;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Entity\Dealer;
  5. use CoreBundle\Model\Vehicles\Repository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use PortalBundle\Services\ServiceService;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\RequestStack;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  13. use Symfony\Component\Mailer\MailerInterface;
  14. use Symfony\Component\Mime\Email;
  15. use Symfony\Component\Routing\RouterInterface;
  16. class UnicomersController extends BaseController
  17. {
  18.     public function __construct(CoreFormFactory $coreFormFactoryRequestStack $requestStackRouterInterface $router,
  19.                                 Repository      $vehicleRepositoryServiceService $serviceService)
  20.     {
  21.         parent::__construct($coreFormFactory$requestStack$router$vehicleRepository$serviceService);
  22.     }
  23.     public function unicomers(SessionInterface $session): Response
  24.     {
  25.         $token md5(time().'bftsalterk75per');
  26.         $session->set('uni_form_token'$token);
  27.         return $this->basePortalRender('@Portal/Unicomers/unicomers.html.twig', [
  28.             'unicomersForm' => $this->CoreFormFactory()->feedbackForm()->createView(),
  29.             'formToken' => $token,
  30.         ]);
  31.     }
  32.     public function ambulance(SessionInterface $session): Response
  33.     {
  34.         $token md5(time().'bftsaltyjn43shy');
  35.         $session->set('uni_form_token'$token);
  36.         return $this->basePortalRender('@Portal/Unicomers/ambulance.html.twig',[
  37.             'formToken' => $token,
  38.         ]);
  39.     }
  40.     public function cashCollectionCars(SessionInterface $session): Response
  41.     {
  42.         $token md5(time().'bftsaltdre94sdw');
  43.         $session->set('uni_form_token'$token);
  44.         return $this->basePortalRender('@Portal/Unicomers/cash-collection-cars.html.twig',[
  45.             'formToken' => $token,
  46.         ]);
  47.     }
  48. //    public function boxerCars()
  49. //    {
  50. //        $token = md5(time().'bftsaltdre94sdw');
  51. //        $this->get('session')->set('uni_form_token', $token);
  52. //        return $this->basePortalRender('@Portal/Unicomers/boxer.html.twig',[
  53. //            'formToken' => $token,
  54. //        ]);
  55. //    }
  56.     public function armoredCars(): Response
  57.     {
  58.         return $this->basePortalRender('@Portal/Unicomers/armored-cars.html.twig');
  59.     }
  60.     public function medykoSanitarneAuto(): Response
  61.     {
  62.         return $this->basePortalRender('@Portal/Unicomers/medyko-sanitarne-auto.html.twig');
  63.     }
  64.     public function gpsTreker(SessionInterface $session): Response
  65.     {
  66.         $token md5(time().'bftsaltder79sfe');
  67.         $session->set('uni_form_token'$token);
  68.         return $this->basePortalRender('@Portal/Unicomers/gps-treker.html.twig',[
  69.             'formToken' => $token,
  70.         ]);
  71.     }
  72.     public function aboutUnicomers(SessionInterface $sessionEntityManagerInterface $em): Response
  73.     {
  74.         $dealers $em->getRepository(Dealer::class)->findBy([],['position' => 'ASC']);
  75.         $logos = [];
  76.         foreach ($dealers as $dealer) {
  77.             $Brand $dealer->getBrand();
  78.             if(!$Brand) {
  79.                 continue;
  80.             }
  81.             if(isset($brands[$Brand->getId()])) {
  82.                 continue;
  83.             }
  84.             $logos[] = [
  85.                 'image' => $Brand->getLogo(),
  86.                 'name' => $Brand->getName(),
  87.             ];
  88.         }
  89.         $token md5(time().'bftsaltyjn43shy');
  90.         $session->set('uni_form_token'$token);
  91.         return $this->basePortalRender('@Portal/Unicomers/about-unicomers.html.twig',[
  92.             'logos' => $logos,
  93.             'formToken' => $token,
  94.         ]);
  95.     }
  96.     public function unicomersProjects(SessionInterface $sessionEntityManagerInterface $em): Response
  97.     {
  98.         $dealers $em->getRepository(Dealer::class)->findBy([],['position' => 'ASC']);
  99.         $logos = [];
  100.         foreach ($dealers as $dealer) {
  101.             $Brand $dealer->getBrand();
  102.             if(!$Brand) {
  103.                 continue;
  104.             }
  105.             if(isset($brands[$Brand->getId()])) {
  106.                 continue;
  107.             }
  108.             $logos[] = [
  109.                 'image' => $Brand->getLogo(),
  110.                 'name' => $Brand->getName(),
  111.             ];
  112.         }
  113.         $token md5(time().'bftsaltyjn43shy');
  114.         $session->set('uni_form_token'$token);
  115.         return $this->basePortalRender('@Portal/Unicomers/about-projects.html.twig',[
  116.             'logos' => $logos,
  117.             'formToken' => $token,
  118.         ]);
  119.     }
  120.     public function unicomersSave(Request $requestMailerInterface $mailer): JsonResponse
  121.     {
  122.         $data $request->request->all();
  123.         $message = (new Email())
  124.             ->subject('Нова заявка vidi.ua')
  125.             ->from('info@vidi.ua''Форма зворотнього зв\'язку')
  126.             ->html(
  127.                 $this->basePortalRender('@Portal/Mail/unicomers.html.twig', [
  128.                     'data' => $data,
  129.                 ]),
  130.                 'text/html'
  131.             )
  132.             ->to($this->getParameter('email_unicomers'));
  133.         $mailer->send($message);
  134.         return new JsonResponse(['success' => true]);
  135.     }
  136. }