Ekdant-Online-Store/admininistrator/controller/startup/session.php

41 lines
1.3 KiB
PHP
Raw Normal View History

2024-08-06 12:21:00 +00:00
<?php
namespace Opencart\Admin\Controller\Startup;
/**
* Class Session
*
* @package Opencart\Admin\Controller\Startup
*/
class Session extends \Opencart\System\Engine\Controller {
/**
* @return void
* @throws \Exception
*/
public function index(): void {
$session = new \Opencart\System\Library\Session($this->config->get('session_engine'), $this->registry);
$this->registry->set('session', $session);
if (isset($this->request->cookie[$this->config->get('session_name')])) {
$session_id = $this->request->cookie[$this->config->get('session_name')];
} else {
$session_id = '';
}
$session->start($session_id);
// Update the session lifetime
if ($this->config->get('config_session_expire')) {
$this->config->set('session_expire', $this->config->get('config_session_expire'));
}
// Require higher security for session cookies
$option = [
'expires' => $this->config->get('config_session_expire') ? time() + (int)$this->config->get('config_session_expire') : 0,
'path' => $this->config->get('session_path'),
'secure' => $this->request->server['HTTPS'],
'httponly' => false,
'SameSite' => $this->config->get('config_session_samesite')
];
setcookie($this->config->get('session_name'), $session->getId(), $option);
}
}