src/Aqarmap/Bundle/AnnouncementBundle/Services/Twig/AnnouncementExtension.php line 25

Open in your IDE?
  1. <?php
  2. namespace Aqarmap\Bundle\AnnouncementBundle\Services\Twig;
  3. use Aqarmap\Bundle\AnnouncementBundle\Entity\Announcement;
  4. use Aqarmap\Bundle\AnnouncementBundle\Repository\AnnouncementRepository;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. class AnnouncementExtension extends \Twig\Extension\AbstractExtension
  7. {
  8.     private AnnouncementRepository $announcementRepository;
  9.     public function __construct(EntityManagerInterface $entityManager)
  10.     {
  11.         $this->announcementRepository $entityManager->getRepository(Announcement::class);
  12.     }
  13.     /**
  14.      * @param array $criteria
  15.      *
  16.      * @return \Doctrine\ORM\QueryBuilder $activeAnnouncement
  17.      */
  18.     public function getActiveAnnouncement($criteria = [])
  19.     {
  20.         return $this->announcementRepository->getActiveAnnouncement($criteria);
  21.     }
  22.     public function getFunctions()
  23.     {
  24.         return [
  25.             new \Twig\TwigFunction('active_announcement', [$this'getActiveAnnouncement']),
  26.         ];
  27.     }
  28.     public function getName()
  29.     {
  30.         return 'aqarmap_announcement_extension';
  31.     }
  32. }