src/Controller/PaginasController.php line 55

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use MobileDetectBundle\DeviceDetector\MobileDetectorInterface;
  7. use App\Entity\SaquitoPagina;
  8. use App\Entity\SaquitoSlider;
  9. class PaginasController extends AbstractController
  10. {
  11.     /**
  12.      * Renderiza la página indicada
  13.      *
  14.      * @Route("/{_locale}/{id}/{slug}", name="saquito_paginas_ver")
  15.      *
  16.      * @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
  17.      *
  18.      * @category function
  19.      * @param SaquitoPagina $pagina Pagina a mostrar
  20.      * @return string Código HTML de la página
  21.      */
  22.     public function mostrarPagina(SaquitoPagina $pagina): Response
  23.     {
  24.         if ( $pagina ) {
  25.             if ($pagina->getActiva()){
  26.                 if ($this->get('security.authorization_checker')->isGranted('ROLE_USER') or ($pagina->isPrivado() == false)) {
  27.                     return $this->render(
  28.                             $pagina->getPlantilla()->getDescripcion(),
  29.                             array('pagina' => $pagina));
  30.                 } else {
  31.                     throw new \Exception('Esta información tiene acceso restringido.');
  32.                 }
  33.             } else {
  34.                 throw new \Exception('La página solicitada no está activa!');
  35.             }
  36.         } else {
  37.             throw new \Exception('No existe la página que solicitaste!');
  38.         }
  39.     }
  40.     /**
  41.      * Renderiza el Slider
  42.      * 
  43.      * @Route("/slider", name="saquito_slider_mostrar")
  44.      * 
  45.      * @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
  46.      * 
  47.      * @category function
  48.      * @return string Código HTML del slider
  49.      */    
  50.     public function mostrarSliders(MobileDetectorInterface $dispositivo): Response 
  51.     {
  52.        
  53.         if ($dispositivo->isMobile()) {
  54.             $aparato "celular";
  55.         } elseif ($dispositivo->isTablet()) {
  56.                 $aparato "tablet";
  57.             } else {
  58.                 $aparato "desktop";
  59.             }
  60.         $repository $this->getDoctrine()->getRepository(SaquitoSlider::class);    
  61.         $sliders $repository->findByDispositivo($aparato);
  62.         
  63.         return $this->render(
  64.             'portada/sliders.html.twig'
  65.                     array('sliders' => $sliders)
  66.         );            
  67.     }    
  68.     
  69. }