<?php
namespace App\Twig;
use App\Entity\ExpertisePrive;
use App\Entity\ExpertisePublic;
use App\Entity\ReferencePrive;
use App\Entity\ReferencePublic;
use App\Entity\Solution;
use App\Repository\MetierRepository;
use Cofondateur\SocleTechniqueBundle\Twig\AppExtension as BaseAppExtension;
use Twig\TwigFunction;
class AppExtension extends BaseAppExtension
{
public function getFilters(): array
{
$result = parent::getFilters();
return $result;
}
public function getFunctions(): array
{
$result = parent::getFunctions();
$result[] = new TwigFunction('getExpertisesPrive', array($this, 'getExpertisesPrive'));
$result[] = new TwigFunction('getExpertisesPublic', array($this, 'getExpertisesPublic'));
$result[] = new TwigFunction('getReferencesPrive', array($this, 'getReferencesPrive'));
$result[] = new TwigFunction('getReferencesPublic', array($this, 'getReferencesPublic'));
$result[] = new TwigFunction('getSolutions', array($this, 'getSolutions'));
return $result;
}
public function getExpertisesPrive()
{
/** @var MetierRepository $repo */
$repo = $this->em->getRepository(ExpertisePrive::class);
return $repo->findAll();
}
public function getExpertisesPublic()
{
/** @var MetierRepository $repo */
$repo = $this->em->getRepository(ExpertisePublic::class);
return $repo->findAll();
}
public function getReferencesPrive()
{
/** @var MetierRepository $repo */
$repo = $this->em->getRepository(ReferencePrive::class);
return $repo->findBy(['displayOnMenu' => true]);
}
public function getReferencesPublic()
{
/** @var MetierRepository $repo */
$repo = $this->em->getRepository(ReferencePublic::class);
return $repo->findBy(['displayOnMenu' => true]);
}
public function getSolutions()
{
/** @var MetierRepository $repo */
$repo = $this->em->getRepository(Solution::class);
return $repo->findBy(['isPublished' => true]);
}
}