<?php
namespace App\Controller;
use App\Entity\General;
use App\Entity\Noticies;
use App\Entity\Sidebar;
use App\Entity\Sponsors;
use App\Entity\Usuari;
use App\Util\Util;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Contracts\Translation\TranslatorInterface;
class NoticiesController extends AbstractController
{
protected $enSidebar;
protected $enGeneral;
protected $enSponsors;
private $em;
private $objUtil;
private $requestStack;
private $session;
private $translator;
private $params;
private $correuController;
private $mailer;
private $sPathUploads;
public function __construct(EntityManagerInterface $em,RequestStack $requestStack,TranslatorInterface $translator, ContainerBagInterface $params, CorreuController $correuController,MailerInterface $mailer)
{
$this->em = $em;
$this->objUtil = new Util($this->em);
$this->requestStack = $requestStack;
$this->session = $this->requestStack->getSession();
$this->translator = $translator;
$this->params = $params;
$this->correuController = $correuController;
$this->mailer = $mailer;
$this->sPathUploads = dirname(__FILE__) . "/../../public/uploads/";
$this->enSidebar = $this->em->getRepository(Sidebar::class)->findBy(
array( 'general' => 1)
);
/////////////////////////
// Recoger dades generals
/////////////////////////
$this->enGeneral = $this->em->getRepository(General::class)->findAll();
///////////
// Sponsors
///////////
$this->enSponsors = $this->em->getRepository(Sponsors::class)->findBy(
array( 'visible' => 1),
array('ordre' => 'ASC')
);
}
public function indexAction(Request $peticion, $apartat='')
{
$aRequest = $peticion->request;
if ($apartat == '')
{
$apartat = $peticion->attributes->get('_apartat');
//////////////////////////////////////////////////////
// Si no es passa cap apartat el definim com a noticia
//////////////////////////////////////////////////////
if ($apartat == '') $apartat = 'N';
}
$sTitol = '';
switch($apartat)
{
case 'N':
$sTitol = $this->translator->trans("Noticies");
break;
case 'P':
$sTitol = $this->translator->trans("Premsa");
break;
}
$aArray = array();
if ($aRequest->get('apartat'))
{
$aArray = array('apartat' => $aRequest->get('apartat'));
} else if ($apartat != ''){
$aArray = array('apartat' => $apartat);
}
$enNoticies = $this->em->getRepository(Noticies::class)->findBy(
$aArray,
array(
'ordre' => 'ASC',
'id' => 'DESC')
);
return $this->render('noticies.html.twig', array(
'titol' => $sTitol,
'enNoticies' => $enNoticies,
'enSidebar' => isset($this->enSidebar[0])?$this->enSidebar[0]:array(),
'enGeneral' => $this->enGeneral,
'enSponsors' => $this->enSponsors
));
}
}