Linux altar53.supremepanel53.com 4.18.0-553.8.1.lve.el8.x86_64 #1 SMP Thu Jul 4 16:24:39 UTC 2024 x86_64
/ home/ bdapparelinfo/ dhakazone.com/ system/ library/ |
|
<?php /** * @package OpenCart * @author Daniel Kerr * @copyright Copyright (c) 2005 - 2017, OpenCart, Ltd. (https://www.opencart.com/) * @license https://opensource.org/licenses/GPL-3.0 * @link https://www.opencart.com */ /** * Session class */ class Session { protected $adaptor; protected $session_id; public $data = array(); /** * Constructor * * @param string $adaptor * @param object $registry */ public function __construct($adaptor, $registry = '') { $class = 'Session\\' . $adaptor; if (class_exists($class)) { if ($registry) { $this->adaptor = new $class($registry); } else { $this->adaptor = new $class(); } register_shutdown_function(array($this, 'close')); } else { trigger_error('Error: Could not load cache adaptor ' . $adaptor . ' session!'); exit(); } } /** * * * @return string */ public function getId() { return $this->session_id; } /** * * * @param string $session_id * * @return string */ public function start($session_id = '') { if (!$session_id) { if (function_exists('random_bytes')) { $session_id = substr(bin2hex(random_bytes(26)), 0, 26); } else { $session_id = substr(bin2hex(openssl_random_pseudo_bytes(26)), 0, 26); } } if (preg_match('/^[a-zA-Z0-9,\-]{22,52}$/', $session_id)) { $this->session_id = $session_id; } else { exit('Error: Invalid session ID!'); } $this->data = $this->adaptor->read($session_id); return $session_id; } /** * */ public function close() { $this->adaptor->write($this->session_id, $this->data); } /** * */ public function __destroy() { $this->adaptor->destroy($this->session_id); } }