/var/www/vhosts/ihelp.ro/_OLD/vendor/cakephp/cakephp/src/Http/Session
NameSizeModeActions
CacheSession.php36900644editdlrm
DatabaseSession.php53190644editdlrm
Edit: /var/www/vhosts/ihelp.ro/_OLD/vendor/cakephp/cakephp/src/Http/Session/DatabaseSession.php (5319B)
setTableLocator($config['tableLocator']); } $tableLocator = $this->getTableLocator(); if (empty($config['model'])) { $config = $tableLocator->exists('Sessions') ? [] : ['table' => 'sessions']; $this->_table = $tableLocator->get('Sessions', $config); } else { $this->_table = $tableLocator->get($config['model']); } $this->_timeout = (int)ini_get('session.gc_maxlifetime'); } /** * Set the timeout value for sessions. * * Primarily used in testing. * * @param int $timeout The timeout duration. * @return $this */ public function setTimeout(int $timeout) { $this->_timeout = $timeout; return $this; } /** * Method called on open of a database session. * * @param string $savePath The path where to store/retrieve the session. * @param string $name The session name. * @return bool Success */ public function open($savePath, $name): bool { return true; } /** * Method called on close of a database session. * * @return bool Success */ public function close(): bool { return true; } /** * Method used to read from a database session. * * @param string $id ID that uniquely identifies session in database. * @return string Session data or empty string if it does not exist. */ public function read($id): string { /** @var string $pkField */ $pkField = $this->_table->getPrimaryKey(); $result = $this->_table ->find('all') ->select(['data']) ->where([$pkField => $id]) ->disableHydration() ->first(); if (empty($result)) { return ''; } if (is_string($result['data'])) { return $result['data']; } $session = stream_get_contents($result['data']); if ($session === false) { return ''; } return $session; } /** * Helper function called on write for database sessions. * * @param string $id ID that uniquely identifies session in database. * @param string $data The data to be saved. * @return bool True for successful write, false otherwise. */ public function write($id, $data): bool { if (!$id) { return false; } $expires = time() + $this->_timeout; $record = compact('data', 'expires'); /** @var string $pkField */ $pkField = $this->_table->getPrimaryKey(); $record[$pkField] = $id; $result = $this->_table->save(new Entity($record)); return (bool)$result; } /** * Method called on the destruction of a database session. * * @param string $id ID that uniquely identifies session in database. * @return bool True for successful delete, false otherwise. */ public function destroy($id): bool { /** @var string $pkField */ $pkField = $this->_table->getPrimaryKey(); $this->_table->delete(new Entity( [$pkField => $id], ['markNew' => false] )); return true; } /** * Helper function called on gc for database sessions. * * @param int $maxlifetime Sessions that have not updated for the last maxlifetime seconds will be removed. * @return bool True on success, false on failure. */ public function gc($maxlifetime): bool { $this->_table->deleteAll(['expires <' => time()]); return true; } }