diff --git a/config/services.yaml b/config/services.yaml index 287cdb8233a..0f2d1ad009b 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -110,6 +110,7 @@ services: - setKernel: [ '@kernel' ] - setMessengerBus: [ '@messenger.bus.default' ] - setValidator: [ '@validator' ] + - setSessionFactory: [ '@session.factory' ] cocur_slugify: lowercase: true diff --git a/public/main/inc/global.inc.php b/public/main/inc/global.inc.php index 67d19305c35..3a91ebfda1a 100644 --- a/public/main/inc/global.inc.php +++ b/public/main/inc/global.inc.php @@ -46,19 +46,21 @@ } $container = $kernel->getContainer(); + Container::setContainer($container); + $session = Container::getLegacyHelper()->getSession(); + $request = Request::create('/'); + $request->setSession($session); + $container->get('request_stack')->push($request); + Container::setLegacyServices($container); $router = $container->get('router'); $context = $router->getContext(); $router->setContext($context); - Database::setManager($container->get('doctrine.orm.entity_manager')); $cliOptions = getopt('', ['url:']); if (!empty($cliOptions['url'])) { $baseUrl = $cliOptions['url']; $context->setBaseUrl($baseUrl); } - - echo "CLI mode: EntityManager initialized.\n"; - } else { $kernel = new Chamilo\Kernel($env, $debug); // Loading Request from Sonata. In order to use Sonata Pages Bundle. diff --git a/src/CoreBundle/ServiceHelper/ContainerHelper.php b/src/CoreBundle/ServiceHelper/ContainerHelper.php index b30e77e9309..dc52986f564 100644 --- a/src/CoreBundle/ServiceHelper/ContainerHelper.php +++ b/src/CoreBundle/ServiceHelper/ContainerHelper.php @@ -6,6 +6,8 @@ namespace Chamilo\CoreBundle\ServiceHelper; +use Symfony\Component\HttpFoundation\Session\SessionFactoryInterface; +use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\HttpKernel\KernelInterface; use Symfony\Component\Messenger\MessageBusInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; @@ -19,6 +21,7 @@ class ContainerHelper private KernelInterface $kernel; private MessageBusInterface $messengerBus; private ValidatorInterface $validator; + private SessionFactoryInterface $sessionFactory; public function getAuthorizationChecker(): AuthorizationCheckerInterface { @@ -69,4 +72,16 @@ public function setValidator(ValidatorInterface $validator): void { $this->validator = $validator; } + + public function getSession(): SessionInterface + { + return $this->sessionFactory->createSession(); + } + + public function setSessionFactory(SessionFactoryInterface $sessionFactory): ContainerHelper + { + $this->sessionFactory = $sessionFactory; + + return $this; + } }