src/Controller/LinksController.php line 68

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\General;
  4. use App\Entity\Sidebar;
  5. use App\Entity\Sponsors;
  6. use App\Entity\LinksTipus;
  7. use App\Entity\Links;
  8. use App\Entity\Usuari;
  9. use App\Util\Util;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
  13. use Symfony\Component\HttpFoundation\RequestStack;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  17. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  18. use Symfony\Component\Mailer\MailerInterface;
  19. use Symfony\Component\Security\Core\SecurityContext;
  20. use Symfony\Contracts\Translation\TranslatorInterface;
  21. class LinksController extends AbstractController
  22. {
  23.     protected $enSidebar;
  24.     protected $enGeneral;
  25.     protected $enSponsors;
  26.     private $em;
  27.     private $objUtil;
  28.     private $requestStack;
  29.     private $session;
  30.     private $translator;
  31.     private $params;
  32.     private $correuController;
  33.     private $mailer;
  34.     private $sPathUploads;
  35.     public function __construct(EntityManagerInterface $em,RequestStack $requestStack,TranslatorInterface $translatorContainerBagInterface $paramsCorreuController $correuController,MailerInterface $mailer)
  36.     {
  37.         $this->em $em;
  38.         $this->objUtil = new Util($this->em);
  39.         $this->requestStack $requestStack;
  40.         $this->session $this->requestStack->getSession();
  41.         $this->translator $translator;
  42.         $this->params $params;
  43.         $this->correuController $correuController;
  44.         $this->mailer $mailer;
  45.         $this->sPathUploads dirname(__FILE__) . "/../../public/uploads/";
  46.         $this->enSidebar $this->em->getRepository(Sidebar::class)->findBy(
  47.             array(   'general' => 1)
  48.         );
  49.         /////////////////////////
  50.         // Recoger dades generals
  51.         /////////////////////////
  52.         $this->enGeneral $this->em->getRepository(General::class)->findAll();
  53.         ///////////
  54.         // Sponsors
  55.         ///////////
  56.         $this->enSponsors $this->em->getRepository(Sponsors::class)->findBy(
  57.             array( 'visible'   => 1),
  58.             array('ordre' => 'ASC')
  59.         );
  60.     }
  61.     public function indexAction(Request $peticion$slug '')
  62.     {
  63.         $aRequest $peticion->request;
  64.         
  65.         $enLinks '';
  66.         $nomLinkTipus '';
  67.         $enLinksTipus '';
  68.         $aParam = array();
  69.         if ($slug == '')
  70.         {
  71.             $slug $peticion->attributes->get('_slug');
  72.         }
  73.         if ($slug != '')
  74.         {
  75.             $aParam = array('slug_' $peticion->attributes->get('_locale') => $slug);
  76.             $enLinksTipus $this->em->getRepository(LinksTipus::class)->findOneBy($aParam);
  77.             
  78.             $sNomFunction 'getTitol'ucfirst($peticion->attributes->get('_locale'));
  79.             $nomLinkTipus $enLinksTipus->$sNomFunction();
  80.             $aParam = array('linkstipus' => $enLinksTipus->getId());
  81.             
  82.             $enLinks $this->em->getRepository(Links::class)->findBy(
  83.                 $aParam,
  84.                 array(
  85.                     'ordre' => 'ASC'
  86.                 ));
  87.         }
  88.         $enLinksTipus2 $this->em->getRepository(LinksTipus::class)->findBy(
  89.             array(
  90.                 'linkstipus'    => null),
  91.             array(
  92.                 'ordre'         => 'ASC')
  93.         );
  94.         
  95.         return $this->render('links.html.twig', array(
  96.             'enSidebar'     => $this->enSidebar[0],
  97.             'enLinksTipus'  => $enLinksTipus2,
  98.             'entMenu'       => $enLinksTipus,
  99.             'enLinks'       => $enLinks,
  100.             'nomLinkTipus'  => $nomLinkTipus,
  101.             'enGeneral'     => $this->enGeneral,
  102.             'enSponsors'    => $this->enSponsors
  103.         ));
  104.     }
  105.     
  106.     public function linkTipusAction(Request $peticion$id)
  107.     {
  108.         $aRequest $peticion->request;
  109.         $aParam = array('linkstipus' => $id);
  110.         
  111.         $enLinks $this->em->getRepository(Links::class)->findBy(
  112.             $aParam,
  113.             array(
  114.                 'ordre' => 'ASC')
  115.         );
  116.         $sNomFunction 'getTitol'ucfirst($peticion->attributes->get('_locale'));
  117.         return $this->render('_links_detall.html.twig', array(
  118.             'enLinks'       => $enLinks,
  119.             'nomLinkTipus'  => $enLinks[0]->getLinksTipus()->$sNomFunction())
  120.         );
  121.     }
  122. }