<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use MobileDetectBundle\DeviceDetector\MobileDetectorInterface;
use App\Entity\SaquitoPagina;
use App\Entity\SaquitoSlider;
class PaginasController extends AbstractController
{
/**
* Renderiza la página indicada
*
* @Route("/{_locale}/{id}/{slug}", name="saquito_paginas_ver")
*
* @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
*
* @category function
* @param SaquitoPagina $pagina Pagina a mostrar
* @return string Código HTML de la página
*/
public function mostrarPagina(SaquitoPagina $pagina): Response
{
if ( $pagina ) {
if ($pagina->getActiva()){
if ($this->get('security.authorization_checker')->isGranted('ROLE_USER') or ($pagina->isPrivado() == false)) {
return $this->render(
$pagina->getPlantilla()->getDescripcion(),
array('pagina' => $pagina));
} else {
throw new \Exception('Esta información tiene acceso restringido.');
}
} else {
throw new \Exception('La página solicitada no está activa!');
}
} else {
throw new \Exception('No existe la página que solicitaste!');
}
}
/**
* Renderiza el Slider
*
* @Route("/slider", name="saquito_slider_mostrar")
*
* @author Andrés Pieruccioni <andrespieruccioni@gmail.com>
*
* @category function
* @return string Código HTML del slider
*/
public function mostrarSliders(MobileDetectorInterface $dispositivo): Response
{
if ($dispositivo->isMobile()) {
$aparato = "celular";
} elseif ($dispositivo->isTablet()) {
$aparato = "tablet";
} else {
$aparato = "desktop";
}
$repository = $this->getDoctrine()->getRepository(SaquitoSlider::class);
$sliders = $repository->findByDispositivo($aparato);
return $this->render(
'portada/sliders.html.twig',
array('sliders' => $sliders)
);
}
}