diff --git a/src/Session/DatabaseSessionHandler.php b/src/Session/DatabaseSessionHandler.php index 45f0e45..ae669c2 100644 --- a/src/Session/DatabaseSessionHandler.php +++ b/src/Session/DatabaseSessionHandler.php @@ -13,14 +13,17 @@ class DatabaseSessionHandler implements ISessionHandler private string $table; + private DateTime $shouldBeNewerThan; + private bool $exists = false; private bool $written = false; - public function __construct(IConnection $dbConnection, string $table) + public function __construct(IConnection $dbConnection, string $table, DateTime $shouldBeNewerThan) { $this->dbConnection = $dbConnection; $this->table = $table; + $this->shouldBeNewerThan = $shouldBeNewerThan; } public function open($savePath, $sessionName): bool @@ -38,6 +41,7 @@ class DatabaseSessionHandler implements ISessionHandler $select = new Select($this->dbConnection, $this->table); $select->columns(['data']); $select->whereId(substr($id, 0, 32)); + $select->where('updated', '>=', $this->shouldBeNewerThan->format('Y-m-d H:i:s')); $result = $select->execute()->fetch(IResultSet::FETCH_ASSOC);