<?php
namespace Aqarmap\Bundle\AnnouncementBundle\Services\Twig;
use Aqarmap\Bundle\AnnouncementBundle\Entity\Announcement;
use Aqarmap\Bundle\AnnouncementBundle\Repository\AnnouncementRepository;
use Doctrine\ORM\EntityManagerInterface;
class AnnouncementExtension extends \Twig\Extension\AbstractExtension
{
private AnnouncementRepository $announcementRepository;
public function __construct(EntityManagerInterface $entityManager)
{
$this->announcementRepository = $entityManager->getRepository(Announcement::class);
}
/**
* @param array $criteria
*
* @return \Doctrine\ORM\QueryBuilder $activeAnnouncement
*/
public function getActiveAnnouncement($criteria = [])
{
return $this->announcementRepository->getActiveAnnouncement($criteria);
}
public function getFunctions()
{
return [
new \Twig\TwigFunction('active_announcement', [$this, 'getActiveAnnouncement']),
];
}
public function getName()
{
return 'aqarmap_announcement_extension';
}
}