diff --git a/src/Interfaces/Request/IRequest.php b/src/Interfaces/Request/IRequest.php index 0df9507..a31978c 100644 --- a/src/Interfaces/Request/IRequest.php +++ b/src/Interfaces/Request/IRequest.php @@ -4,7 +4,7 @@ use SokoWeb\Interfaces\Authentication\IUser; interface IRequest { - public function setParsedRouteParams(array &$routeParams): void; + public function setParsedRouteParams(array $routeParams): void; public function getBase(): string; diff --git a/src/Request/Request.php b/src/Request/Request.php index 0887e2e..77cd711 100644 --- a/src/Request/Request.php +++ b/src/Request/Request.php @@ -17,23 +17,23 @@ class Request implements IRequest private array $headers; - private Session $session; + private ISession $session; private ?IUser $user = null; public function __construct( string $base, - array &$get, - array &$post, + array $get, + array $post, array $headers, - array &$session, + ISession $session, IUserRepository $userRepository) { $this->base = $base; - $this->get = &$get; - $this->post = &$post; + $this->get = $get; + $this->post = $post; $this->headers = $headers; - $this->session = new Session($session); + $this->session = $session; $userId = $this->session->get('userId'); if ($userId !== null) { @@ -41,9 +41,9 @@ class Request implements IRequest } } - public function setParsedRouteParams(array &$routeParams): void + public function setParsedRouteParams(array $routeParams): void { - $this->routeParams = &$routeParams; + $this->routeParams = $routeParams; } public function getBase(): string diff --git a/src/Session/DatabaseSessionHandler.php b/src/Session/DatabaseSessionHandler.php index 45cab2d..45f0e45 100644 --- a/src/Session/DatabaseSessionHandler.php +++ b/src/Session/DatabaseSessionHandler.php @@ -11,13 +11,16 @@ class DatabaseSessionHandler implements ISessionHandler { private IConnection $dbConnection; + private string $table; + private bool $exists = false; private bool $written = false; - public function __construct(IConnection $dbConnection) + public function __construct(IConnection $dbConnection, string $table) { $this->dbConnection = $dbConnection; + $this->table = $table; } public function open($savePath, $sessionName): bool @@ -32,7 +35,7 @@ class DatabaseSessionHandler implements ISessionHandler public function read($id): string { - $select = new Select($this->dbConnection, 'sessions'); + $select = new Select($this->dbConnection, $this->table); $select->columns(['data']); $select->whereId(substr($id, 0, 32)); @@ -49,7 +52,7 @@ class DatabaseSessionHandler implements ISessionHandler public function write($id, $data): bool { - $modify = new Modify($this->dbConnection, 'sessions'); + $modify = new Modify($this->dbConnection, $this->table); if ($this->exists) { $modify->setId(substr($id, 0, 32)); @@ -68,7 +71,7 @@ class DatabaseSessionHandler implements ISessionHandler public function destroy($id): bool { - $modify = new Modify($this->dbConnection, 'sessions'); + $modify = new Modify($this->dbConnection, $this->table); $modify->setId(substr($id, 0, 32)); $modify->delete(); @@ -101,7 +104,7 @@ class DatabaseSessionHandler implements ISessionHandler return true; } - $modify = new Modify($this->dbConnection, 'sessions'); + $modify = new Modify($this->dbConnection, $this->table); $modify->setId(substr($id, 0, 32)); $modify->set('updated', (new DateTime())->format('Y-m-d H:i:s')); diff --git a/templates/web.php.tpl b/templates/web.php.tpl index 47fe1f7..4b503a6 100644 --- a/templates/web.php.tpl +++ b/templates/web.php.tpl @@ -14,7 +14,7 @@ Container::$routeCollection = new SokoWeb\Routing\RouteCollection(); Container::$routeCollection->get('index', '', [{app}\Controller\HomeController::class, 'getIndex']); if (isset($_COOKIE['COOKIES_CONSENT'])) { - Container::$sessionHandler = new SokoWeb\Session\DatabaseSessionHandler(Container::$dbConnection); + Container::$sessionHandler = new SokoWeb\Session\DatabaseSessionHandler(Container::$dbConnection, 'sessions'); session_set_save_handler(Container::$sessionHandler, true); session_start([