vendor/af/admin-bundle/src/EventListener/RequestListener.php line 63

Open in your IDE?
  1. <?php
  2. namespace AF\AdminBundle\EventListener;
  3. use AF\AdminBundle\Enum\LanguageEnum;
  4. use AF\AdminBundle\Util\ExtendsClassLoader;
  5. use AF\AdminBundle\Util\HelpfulUtil;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. class RequestListener
  8. {
  9.     private $helpfulUtil;
  10.     private $setLocale;
  11.     private $languageEnum;
  12.     private $webpHandle false;
  13.     /**
  14.      * RequestListener constructor.
  15.      *
  16.      * @param HelpfulUtil $helpfulUtil
  17.      * @param ExtendsClassLoader $classLoader
  18.      * @param array $config
  19.      */
  20.     public function __construct(HelpfulUtil $helpfulUtilExtendsClassLoader $classLoader, array $config)
  21.     {
  22.         if ( isset($config['webp_handle']) ) {
  23.             $this->webpHandle $config['webp_handle'];
  24.         }
  25.         $this->languageEnum $classLoader->getExtendsClass(LanguageEnum::class);
  26.         $this->setLocale $config['set_locale'];
  27.         $this->helpfulUtil $helpfulUtil;
  28.     }
  29.     /**
  30.      * @param RequestEvent $event
  31.      */
  32.     public function onKernelRequest(RequestEvent $event)
  33.     {
  34.         if ( !$event->isMainRequest() || ( $this->webpHandle == false && $this->setLocale == false ) ) {
  35.             return;
  36.         }
  37.         if ( $this->setLocale == true ) {
  38.             $lang null;
  39.             if ( $event->getRequest()->headers->get('content-language') !== null ) {
  40.                 $lang $event->getRequest()->headers->get('content-language');
  41.             }
  42.             if ( $this->languageEnum::getName($lang) === null ) {
  43.                 $lang $this->languageEnum::POLISH;
  44.             }
  45.             $event->getRequest()->setLocale($lang);
  46.         }
  47.         if ( $this->webpHandle == true ) {
  48.             $session $event->getRequest()->getSession();
  49.             $session->remove('isWebPSupported');
  50.             if ($session->get('isWebPSupported') === null) {
  51.                 $session->set('isWebPSupported'$this->helpfulUtil->checkWebPIsAvailable($event->getRequest()->headers->get('User-Agent')));
  52.             }
  53.         }
  54.         return;
  55.     }
  56. }