src/Services/SecurityCore.php line 33

Open in your IDE?
  1. <?php
  2. namespace App\Services;
  3. use Symfony\Component\HttpKernel\Event\GetResponseEvent;
  4. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Twig\Environment;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\RouterInterface;
  10. use Symfony\Component\HttpFoundation\RedirectResponse;
  11. class SecurityCore
  12. {
  13.     private $token;
  14.     private $entityManager;
  15.     private $request;
  16.     private $template;
  17.     private $router;
  18.     private $redirect;
  19.     public function __construct(EntityManagerInterface $entityManagerTokenStorageInterface $tokenStorageRequestStack $requestStackEnvironment $templatingRouterInterface $router)
  20.     {
  21.         $this->token $tokenStorage;
  22.         $this->em $entityManager;
  23.         $this->request $requestStack;
  24.         $this->template $templating;
  25.         $this->router $router;
  26.     }
  27.     public function validationAccess()
  28.     {
  29.         // var_dump($this->request->getCurrentRequest()->get('_route_params'));exit;
  30.         $accion $this->em->getRepository(\App\Entity\SecAccion::class)->findOneBy(['ruta' => $this->request->getCurrentRequest()->get('_route')]);
  31.         if ($accion) {
  32.             $sesion $this->request->getSession();
  33.             $sesion->start();
  34.             $rutasModalesCCTV = ['app_seg_solicitud_cctv_cargar_reporte''app_seg_solicitud_cctv_validar_reporte'];
  35.             if (in_array($this->request->getCurrentRequest()->get('_route'), $rutasModalesCCTV) && !$this->request->getCurrentRequest()->isXmlHttpRequest()) {
  36.                 $urlDef $this->router->generate($this->request->getCurrentRequest()->get('_route'), $this->request->getCurrentRequest()->get('_route_params'));
  37.                 $sesion->set('loadModalRequest'$urlDef);
  38.                 $response = new RedirectResponse($this->router->generate('app_seg_solicitud_cctv_index'));
  39.                 header('Location: ' $response->getTargetUrl());
  40.                 exit;
  41.             }
  42.             if (in_array($accion->getClass(), ['ajax''ajax2''ajax3']) && !$this->request->getCurrentRequest()->isXmlHttpRequest()) {
  43.                 $funcionalidad $accion->getFuncion();
  44.                 $listar null;
  45.                 $redirect 'app_homepage';
  46.                 if ($funcionalidad->getModulo()) {
  47.                     if ($funcionalidad->getModulo()->getId() == 4) {
  48.                         $response = new RedirectResponse($this->router->generate($redirect));
  49.                         header('Location: ' $response->getTargetUrl());
  50.                         exit;
  51.                     }
  52.                 }
  53.                 foreach ($funcionalidad->getSecAccion() as $acc) {
  54.                     if ($acc->getTipo() == 1) {
  55.                         $redirect $acc->getRuta();
  56.                         break;
  57.                     }
  58.                 }
  59.                 $urlDef $this->router->generate($accion->getRuta(), $this->request->getCurrentRequest()->get('_route_params'));
  60.                 $sesion->set('loadModalRequest'$urlDef);
  61.                 $response = new RedirectResponse($this->router->generate($redirect));
  62.                 header('Location: ' $response->getTargetUrl());
  63.                 exit;
  64.                 return $response;
  65.             }
  66.             else if (in_array($accion->getClass(), ['ajax''ajax2''ajax3']) && $this->request->getCurrentRequest()->isXmlHttpRequest()) {
  67.                 $sesion->set('loadModalRequest'null);
  68.             }
  69.         //        var_dump($this->request->getCurrentRequest()->get('_route'));
  70. //        var_dump($this->request->getCurrentRequest()->get('_route_params'));
  71. //        var_dump($this->request->getCurrentRequest()->get('_controller'));
  72.         /*
  73.          *     return new RedirectResponse($this->router->generate($actbodusu[0]['nombreRuta'], array(
  74.          'idSubModulo' => $actbodusu[0]['idSubModulo'],
  75.          'idFun' => $actbodusu[0]['idFun'],
  76.          'idEntidad' => $ordenTrabajo->getId(),
  77.          'idOTActBodUsu' => $actbodusu[0]['id'],)), 301);
  78.          }
  79.          *///        echo "ya estoy validando;";         //                 //        exit;        }
  80.     }
  81. }
  82. }