src/Aqarmap/Bundle/UserBundle/EventListener/SetUserLanguageListener.php line 18

Open in your IDE?
  1. <?php
  2. namespace Aqarmap\Bundle\UserBundle\EventListener;
  3. use FOS\UserBundle\Event\GetResponseUserEvent;
  4. use FOS\UserBundle\FOSUserEvents;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. class SetUserLanguageListener implements EventSubscriberInterface
  7. {
  8.     public static function getSubscribedEvents()
  9.     {
  10.         return [
  11.             FOSUserEvents::REGISTRATION_INITIALIZE => 'onRegistrationInitiate',
  12.         ];
  13.     }
  14.     public function onRegistrationInitiate(GetResponseUserEvent $event): void
  15.     {
  16.         if ($request $event->getRequest()->request) {
  17.             if ($registrationForm $request->get('fos_user_registration_form')) {
  18.                 $request->set(
  19.                     'fos_user_registration_form',
  20.                     array_merge($registrationForm, ['language' => $event->getRequest()->getLocale()])
  21.                 );
  22.             } elseif ($registrationForm $request->get('register')) {
  23.                 $request->set(
  24.                     'register',
  25.                     array_merge($registrationForm, ['language' => $event->getRequest()->getLocale()])
  26.                 );
  27.             }
  28.         }
  29.     }
  30. }