vendor/appaydin/pd-user/Listener/LocaleListener.php line 25

Open in your IDE?
  1. <?php
  2. /**
  3.  * This file is part of the pd-admin pd-user package.
  4.  *
  5.  * @package     pd-user
  6.  * @license     LICENSE
  7.  * @author      Ramazan APAYDIN <apaydin541@gmail.com>
  8.  * @link        https://github.com/appaydin/pd-user
  9.  */
  10. namespace Pd\UserBundle\Listener;
  11. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  12. use Symfony\Component\HttpKernel\Event\RequestEvent;
  13. use Symfony\Component\HttpKernel\KernelEvents;
  14. /**
  15.  * Localization.
  16.  *
  17.  * @author Ramazan APAYDIN <apaydin541@gmail.com>
  18.  */
  19. class LocaleListener implements EventSubscriberInterface
  20. {
  21.     public function onKernelRequest(RequestEvent $event): void
  22.     {
  23.         $request $event->getRequest();
  24.         if (!$request->hasPreviousSession()) {
  25.             return;
  26.         }
  27.         if ($locale $request->attributes->get('_locale')) {
  28.             $request->getSession()->set('_locale'$locale);
  29.         } else {
  30.             $request->setLocale($request->getSession()->get('_locale'$request->getDefaultLocale()));
  31.         }
  32.     }
  33.     public static function getSubscribedEvents(): array
  34.     {
  35.         return [KernelEvents::REQUEST => [['onKernelRequest'17]]];
  36.     }
  37. }