Path : /var/www/html/thb_loan_system/vendor/cartalyst/sentinel/src/Sessions/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/thb_loan_system/vendor/cartalyst/sentinel/src/Sessions/NativeSession.php |
<?php /* * Part of the Sentinel package. * * NOTICE OF LICENSE * * Licensed under the 3-clause BSD License. * * This source file is subject to the 3-clause BSD License that is * bundled with this package in the LICENSE file. * * @package Sentinel * @version 6.0.0 * @author Cartalyst LLC * @license BSD License (3-clause) * @copyright (c) 2011-2022, Cartalyst LLC * @link https://cartalyst.com */ namespace Cartalyst\Sentinel\Sessions; class NativeSession implements SessionInterface { /** * The session key. * * @var string */ protected $key = 'cartalyst_sentinel'; /** * Constructor. * * @param string $key * * @return void */ public function __construct(string $key = null) { $this->key = $key; $this->startSession(); } /** * Called upon destruction of the native session handler. * * @return void */ public function __destruct() { $this->writeSession(); } /** * {@inheritdoc} */ public function put($value): void { $this->setSession($value); } /** * {@inheritdoc} */ public function get() { return $this->getSession(); } /** * {@inheritdoc} */ public function forget(): void { $this->forgetSession(); } /** * Starts the session if it does not exist. * * @return void */ protected function startSession(): void { // Check that the session hasn't already been started if (session_status() != PHP_SESSION_ACTIVE && ! headers_sent()) { session_start(); } } /** * Writes the session. * * @return void */ protected function writeSession(): void { session_write_close(); } /** * Unserializes a value from the session and returns it. * * @return mixed */ protected function getSession() { if (isset($_SESSION[$this->key])) { $value = $_SESSION[$this->key]; if ($value) { return unserialize($value); } } } /** * Interacts with the $_SESSION global to set a property on it. * The property is serialized initially. * * @param mixed $value * * @return void */ protected function setSession($value): void { $_SESSION[$this->key] = serialize($value); } /** * Forgets the Sentinel session from the global $_SESSION. * * @return void */ protected function forgetSession(): void { if (isset($_SESSION[$this->key])) { unset($_SESSION[$this->key]); } } }