<?php
namespace App\EventSubscriber;
use App\Croqvacances\CookieConsentBundle\Storage\CookieConsentSessionStorage;
use App\Repository\FrontOptionRepository;
use App\Repository\ArticleRepository;
use App\Repository\SeoRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Twig\Environment;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Form\FormFactoryInterface;
use App\Form\MainFormType;
use App\Repository\AgeRepository;
use App\Repository\CountryRepository;
use App\Repository\SaisonRepository;
use App\Repository\SejourRepository;
use App\Repository\ThemeRepository;
use App\Repository\NotificationRepository;
use App\Entity\Notification;
use App\Repository\VilleDesservieRepository;
use App\Croqvacances\CookieConsentBundle\Repository\Cook2Repository;
use App\Entity\EnterpriseContactPosition;
use App\Repository\EnterpriseContactPositionRepository;
use App\Repository\SejourSessionRepository;
use Symfony\Component\Security\Core\Security;
class TwigEventSubscriber implements EventSubscriberInterface
{
private Environment $twig;
private Security $security;
private EnterpriseContactPositionRepository $ecpr;
public function __construct(
Environment $twig,
Security $security,
EnterpriseContactPositionRepository $ecpr
){
$this->twig = $twig;
$this->security = $security;
$this->ecpr = $ecpr;
}
public function onKernelController(ControllerEvent $event)
{
$user = $this->security->getUser();
$enterprises = ($user !==null && $user->getContact()!==null) ? $this->ecpr->getEnterprises($user->getContact()):[];
$this->twig->addGlobal('enterprises', $enterprises);
}
public static function getSubscribedEvents()
{
return [
'kernel.controller' => 'onKernelController',
];
}
}