PATH:
home
/
lab2454c
/
costbloc.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
<?php namespace Illuminate\Session; use Illuminate\Support\InteractsWithTime; use SessionHandlerInterface; class ArraySessionHandler implements SessionHandlerInterface { use InteractsWithTime; /** * The array of stored values. * * @var array */ protected $storage = []; /** * The number of minutes the session should be valid. * * @var int */ protected $minutes; /** * Create a new array driven handler instance. * * @param int $minutes * @return void */ public function __construct($minutes) { $this->minutes = $minutes; } /** * {@inheritdoc} * * @return bool */ public function open($savePath, $sessionName): bool { return true; } /** * {@inheritdoc} * * @return bool */ public function close(): bool { return true; } /** * {@inheritdoc} * * @return string|false */ public function read($sessionId): string|false { if (! isset($this->storage[$sessionId])) { return ''; } $session = $this->storage[$sessionId]; $expiration = $this->calculateExpiration($this->minutes * 60); if (isset($session['time']) && $session['time'] >= $expiration) { return $session['data']; } return ''; } /** * {@inheritdoc} * * @return bool */ public function write($sessionId, $data): bool { $this->storage[$sessionId] = [ 'data' => $data, 'time' => $this->currentTime(), ]; return true; } /** * {@inheritdoc} * * @return bool */ public function destroy($sessionId): bool { if (isset($this->storage[$sessionId])) { unset($this->storage[$sessionId]); } return true; } /** * {@inheritdoc} * * @return int */ public function gc($lifetime): int { $expiration = $this->calculateExpiration($lifetime); $deletedSessions = 0; foreach ($this->storage as $sessionId => $session) { if ($session['time'] < $expiration) { unset($this->storage[$sessionId]); $deletedSessions++; } } return $deletedSessions; } /** * Get the expiration time of the session. * * @param int $seconds * @return int */ protected function calculateExpiration($seconds) { return $this->currentTime() - $seconds; } }
[-] CacheBasedSessionHandler.php
[edit]
[-] composer.json
[edit]
[-] ExistenceAwareInterface.php
[edit]
[-] SymfonySessionDecorator.php
[edit]
[-] FileSessionHandler.php
[edit]
[+]
..
[-] NullSessionHandler.php
[edit]
[-] DatabaseSessionHandler.php
[edit]
[-] SessionManager.php
[edit]
[+]
Middleware
[-] LICENSE.md
[edit]
[+]
Console
[-] ArraySessionHandler.php
[edit]
[-] Store.php
[edit]
[-] TokenMismatchException.php
[edit]
[-] SessionServiceProvider.php
[edit]
[-] EncryptedStore.php
[edit]
[-] CookieSessionHandler.php
[edit]