| Server IP : 54.233.248.239 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/cartalyst/sentinel/src/Cookies/ |
Upload File : |
<?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 2.0.16
* @author Cartalyst LLC
* @license BSD License (3-clause)
* @copyright (c) 2011-2017, Cartalyst LLC
* @link http://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,
];
/**
* Create a new cookie driver.
*
* @param string|array $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)
{
$this->setCookie($value, $this->minutesToLifetime(2628000));
}
/**
* {@inheritDoc}
*/
public function get()
{
return $this->getCookie();
}
/**
* {@inheritDoc}
*/
public function forget()
{
$this->put(null, -2628000);
}
/**
* Takes a minutes parameter (relative to now)
* and converts it to a lifetime (unix timestamp).
*
* @param int $minutes
* @return int
*/
protected function minutesToLifetime($minutes)
{
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, $lifetime, $path = null, $domain = null, $secure = null, $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']
);
}
}