src/EventSubscriber/BrandingContextSubscriber.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpKernel\Event\RequestEvent;
  5. use Symfony\Component\HttpKernel\KernelEvents;
  6. class BrandingContextSubscriber implements EventSubscriberInterface
  7. {
  8.     public static function getSubscribedEvents(): array
  9.     {
  10.         return [
  11.             KernelEvents::REQUEST => [['onKernelRequest'10]],
  12.         ];
  13.     }
  14.     public function onKernelRequest(RequestEvent $event)
  15.     {
  16.         if (!$event->isMainRequest()) {
  17.             return;
  18.         }
  19.         $request $event->getRequest();
  20.         $session $request->getSession();
  21.         $path    $request->getPathInfo();
  22.         // 1. Si la URL empieza por /venues, forzamos el contexto de Venues (Verde)
  23.         if (str_starts_with($path'/venues')) {
  24.             $session->set('current_access_type''venues');
  25.         }
  26.         // 2. Si la URL empieza por /catering o /higotrigo, forzamos Catering (Naranja)
  27.         elseif (str_starts_with($path'/catering') || str_starts_with($path'/higotrigo')) {
  28.             $session->set('current_access_type''catering');
  29.         }
  30.         // 3. Si la URL empieza por /avexpress, forzamos AV (Verde agua/Cyan)
  31.         elseif (str_starts_with($path'/avexpress')) {
  32.             $session->set('current_access_type''av');
  33.         }
  34.     }
  35. }