![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CoreBundle/EventListener/ |
<?php namespace Mautic\CoreBundle\EventListener; use Mautic\CoreBundle\Helper\CoreParametersHelper; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\HttpKernel\KernelEvents; class EnvironmentSubscriber implements EventSubscriberInterface { public function __construct( private CoreParametersHelper $coreParametersHelper ) { } public static function getSubscribedEvents(): array { return [ KernelEvents::REQUEST => [ // Cannot be called earlier than priority 128 or the session is not populated leading to Doctrine's UTCDateTimeType leaving // entity DateTime values in UTC ['onKernelRequestSetTimezone', 128], // Must be 101 to load after Symfony's default Locale listener ['onKernelRequestSetLocale', 101], ], ]; } public function onKernelRequestSetTimezone(RequestEvent $event): void { $request = $event->getRequest(); if (!$request->hasPreviousSession()) { return; } // Set date/time date_default_timezone_set($request->getSession()->get('_timezone', $this->coreParametersHelper->get('default_timezone'))); } /** * Set default locale. */ public function onKernelRequestSetLocale(RequestEvent $event): void { $request = $event->getRequest(); if (!$request->hasPreviousSession()) { return; } $locale = $request->getSession()->get('_locale'); if (!$locale) { $locale = $this->coreParametersHelper->get('locale'); } $request->setLocale($locale); $request->getSession()->set('_locale', $locale); } }