<?php
namespace App\Controller;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\General;
use App\Entity\Pistes;
use App\Entity\Sponsors;
use App\Util\Util;
use App\Entity\Usuari;
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\Security\Core\SecurityContext;
use Symfony\Component\Translation\LocaleSwitcher;
class FootController extends AbstractController
{
private $em;
/**
* @param LocaleSwitcher $localeSwitcher
* @param EntityManagerInterface $em
*/
public function __construct(private LocaleSwitcher $localeSwitcher, EntityManagerInterface $em)
{
$this->em = $em;
}
/**
* @param Request $peticion
* @return Response
*/
public function indexAction(Request $peticion): Response
{
$objUtil = new Util($this->em);
$objGeneral = $this->em->getRepository(General::class)->findAll();
$aGeneral['iMin'] = $aGeneral['iMax'] = $objGeneral[0]->getMasellaCm();
if ($objGeneral[0]->getBoscCm() != '')
{
if ($objGeneral[0]->getBoscCm() > $aGeneral['iMax']) $aGeneral['iMax'] = $objGeneral[0]->getBoscCm();
if ($objGeneral[0]->getBoscCm() < $aGeneral['iMin']) $aGeneral['iMin'] = $objGeneral[0]->getBoscCm();
}
if ($objGeneral[0]->getTosaCm() != '')
{
if ($objGeneral[0]->getTosaCm() > $aGeneral['iMax']) $aGeneral['iMax'] = $objGeneral[0]->getTosaCm();
if ($objGeneral[0]->getTosaCm() < $aGeneral['iMin']) $aGeneral['iMin'] = $objGeneral[0]->getTosaCm();
}
$query = $this->em->createQuery(
'SELECT p
FROM App\Entity\Pistes p
WHERE (p.estatDia = :estat_dia
OR p.estatNit = :estat_nit)
AND p.pista_relacionada is null
'
)->setParameter('estat_dia', '1')->setParameter('estat_nit', '1');
$enPistes = $query->getResult();
$query = $this->em->createQuery(
'SELECT p
FROM App\Entity\Remuntadors p
WHERE p.estatDia = :estat_dia
OR p.estatNit = :estat_nit
'
)->setParameter('estat_dia', '1')->setParameter('estat_nit', '1');
$enRemuntadors = $query->getResult();
// Sponsors
$enSponsors = $this->em->getRepository(Sponsors::class)->findBy(
array(
'visible' => 1
),
array(
'ordre' => 'ASC'
)
);
$aValors = $objUtil->aValors;
$sUrl = $_SERVER['REQUEST_URI'];
$bEscola = false;
if (strpos($sUrl, 'pagina') !== false)
{
foreach ($aValors as $sValor)
{
if (strpos($sUrl, $sValor) !== false)
{
$bEscola = true;
break;
}
}
}
return $this->render(
'foot.html.twig',
array(
'aGeneral' => $aGeneral,
'general' => $objGeneral[0],
'totalPistes' => count($enPistes),
'totalRemuntadors' => count($enRemuntadors),
'enSponsors' => $enSponsors,
'bEscola' => $bEscola
)
);
}
/**
* @param Request $peticion
* @return Response
*/
public function meteoAction(Request $peticion)
{
$objGeneral = $this->em->getRepository(General::class)->findAll();
$aGeneral['iMin'] = $aGeneral['iMax'] = $objGeneral[0]->getMasellaCm();
if ($objGeneral[0]->getBoscCm() != '')
{
if ($objGeneral[0]->getBoscCm() > $aGeneral['iMax']) $aGeneral['iMax'] = $objGeneral[0]->getBoscCm();
if ($objGeneral[0]->getBoscCm() < $aGeneral['iMin']) $aGeneral['iMin'] = $objGeneral[0]->getBoscCm();
}
if ($objGeneral[0]->getTosaCm() != '')
{
if ($objGeneral[0]->getTosaCm() > $aGeneral['iMax']) $aGeneral['iMax'] = $objGeneral[0]->getTosaCm();
if ($objGeneral[0]->getTosaCm() < $aGeneral['iMin']) $aGeneral['iMin'] = $objGeneral[0]->getTosaCm();
}
$query = $this->em->createQuery(
'SELECT p
FROM App\Entity\Pistes p
WHERE (p.estatDia = :estat_dia
OR p.estatNit = :estat_nit)
AND p.pista_relacionada is null
'
)->setParameter('estat_dia', '1')->setParameter('estat_nit', '1');
$enPistes = $query->getResult();
$query = $this->em->createQuery(
'SELECT p
FROM App\Entity\Remuntadors p
WHERE p.estatDia = :estat_dia
OR p.estatNit = :estat_nit
'
)->setParameter('estat_dia', '1')->setParameter('estat_nit', '1');
$enRemuntadors = $query->getResult();
// Sponsors
$enSponsors = $this->em->getRepository(Sponsors::class)->findBy(
array(
'visible' => 1
),
array(
'ordre' => 'ASC'
)
);
return $this->render(
'foot_meteo.html.twig',
array(
'aGeneral' => $aGeneral,
'general' => $objGeneral[0],
'totalPistes' => count($enPistes),
'totalRemuntadors' => count($enRemuntadors),
'enSponsors' => $enSponsors,
)
);
}
}