- Cookie were not working correctly previously, now fixed

This commit is contained in:
Dave Mc Nicoll 2023-05-12 18:56:23 +00:00
parent ad51a435df
commit fd547dc346
1 changed files with 26 additions and 2 deletions

View File

@ -47,7 +47,7 @@ class Cookie {
return false;
}
$expires = ( $expires === 0 ) ? 0 : time() + (int) $expires;
$expires = ! $expires ? 0 : time() + (int) $expires;
$_COOKIE[$name] = $value;
@ -80,10 +80,14 @@ class Cookie {
}
if ( $this->secureHash && ! $skipHash ) {
if (strpos($_COOKIE[$key], '|') === false) {
throw new Exception\CookieInvalidValueException("A cookie value was found which contains no secure hash while a key was provided.");
}
list($hash, $value) = explode('|', $_COOKIE[$key], 2);
if (! $this->isSecure($hash, $value)) {
throw new Exception\CookieInvalidSecureHashException();
throw new Exception\CookieInvalidSecureHashException("Invalid cookie hash value given.");
}
return $value;
@ -126,4 +130,24 @@ class Cookie {
case 2: return $this->set(...$arguments);
}
}
public function __set($key, $value)
{
return static::set($key, $value);
}
public function __get($key)
{
return static::get($key);
}
public function __isset($key)
{
return array_key_exists($key, $_SESSION);
}
public function __unset($key)
{
$this->delete($key);
}
}