vendor/artibox/middleware/src/EventListener/SubscriptionEventSubscriber.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Service\Subscription\SubscriptionService;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpKernel\Event\RequestEvent;
  6. use Symfony\Component\Security\Core\Security;
  7. class SubscriptionEventSubscriber implements EventSubscriberInterface
  8. {
  9.     private $security;
  10.     private $subscriptionService;
  11.    
  12.     public function __construct(Security $security,SubscriptionService $subscriptionService)
  13.     {
  14.         $this->security $security;
  15.         $this->subscriptionService $subscriptionService;
  16.     }
  17.     public static function getSubscribedEvents(): array
  18.     {
  19.         return [
  20.             RequestEvent::class => 'onKernelRequest',
  21.         ];
  22.     }
  23.     public function onKernelRequest(RequestEvent $event)
  24.     {
  25.         $user $this->security->getUser();
  26.         if($user) {
  27.             if ($user->getCompany()) {
  28.                 $isSubscribed $this->subscriptionService->getCurrentSubscription();
  29.             }
  30.             else {  $isSubscribed $this->subscriptionService->getCurrentCustomerSubscription(); 
  31.             }
  32.             $event->getRequest()->attributes->set('isSubscribed'$isSubscribed);
  33.         }
  34.     }
  35. }