/** * Initializes the session. If running, through Symfony the session * parameters from Symfony override the session parameter from eZ Publish. */ protected function sessionInit() { if (!isset($this->settings['session']) || !$this->settings['session']['configured']) { // running without Symfony2 or session is not configured // we keep the historic behaviour $ini = eZINI::instance(); if ($ini->variable('Session', 'ForceStart') === 'enabled') { eZSession::start(); } else { eZSession::lazyStart(); } } else { $sfHandler = new ezpSessionHandlerSymfony($this->settings['session']['has_previous'] || $this->settings['session']['started']); $sfHandler->setStorage($this->settings['session']['storage']); eZSession::init($this->settings['session']['name'], $this->settings['session']['started'], $this->settings['session']['namespace'], $sfHandler); } // let session specify if db is required $this->siteBasics['db-required'] = eZSession::getHandlerInstance()->dbRequired(); }