Path : /var/www/html/thb_loan_system/vendor/cartalyst/sentinel/src/Cookies/ |
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/Cookies/NativeCookie.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\Cookies; class NativeCookie implements CookieInterface { /** * The cookie options. * * @var array */ protected $options = [ 'name' => 'cartalyst_sentinel', 'domain' => '', 'path' => '/', 'secure' => false, 'http_only' => false, ]; /** * Constructor. * * @param array|string $options * * @return void */ public function __construct($options = []) { if (is_array($options)) { $this->options = array_merge($this->options, $options); } else { $this->options['name'] = $options; } } /** * {@inheritdoc} */ public function put($value): void { $this->setCookie($value, $this->minutesToLifetime(2628000)); } /** * {@inheritdoc} */ public function get() { return $this->getCookie(); } /** * {@inheritdoc} */ public function forget(): void { $this->setCookie(null, $this->minutesToLifetime(-2628000)); } /** * Takes a minutes parameter (relative to now) * and converts it to a lifetime (unix timestamp). * * @param int $minutes * * @return int */ protected function minutesToLifetime(int $minutes): int { return time() + ($minutes * 60); } /** * Returns a PHP cookie. * * @return mixed */ protected function getCookie() { if (isset($_COOKIE[$this->options['name']])) { $value = $_COOKIE[$this->options['name']]; if ($value) { return json_decode($value); } } } /** * Sets a PHP cookie. * * @param mixed $value * @param int $lifetime * @param string $path * @param string $domain * @param bool $secure * @param bool $httpOnly * * @return void */ protected function setCookie($value, int $lifetime, string $path = null, string $domain = null, bool $secure = null, bool $httpOnly = null) { setcookie( $this->options['name'], json_encode($value), $lifetime, $path ?: $this->options['path'], $domain ?: $this->options['domain'], $secure ?: $this->options['secure'], $httpOnly ?: $this->options['http_only'] ); } }