<?php namespace MailPoet\Util; if (!defined('ABSPATH')) exit; use InvalidArgumentException; class Cookies { const DEFAULT_OPTIONS = [ 'expires' => 0, 'path' => '', 'domain' => '', 'secure' => false, 'httponly' => false, ]; public function set($name, $value, array $options = []) { $options = $options + self::DEFAULT_OPTIONS; $value = json_encode($value, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $error = json_last_error(); if ($error || ($value === false)) { throw new InvalidArgumentException(); } // on PHP_VERSION_ID >= 70300 we'll be able to simply setcookie($name, $value, $options); setcookie( $name, $value, $options['expires'], $options['path'], $options['domain'], $options['secure'], $options['httponly'] ); } public function get($name) { if (!array_key_exists($name, $_COOKIE)) { return null; } $value = json_decode(stripslashes($_COOKIE[$name]), true); $error = json_last_error(); if ($error) { return null; } return $value; } public function delete($name) { unset($_COOKIE[$name]); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
License | Folder | 0700 |
|
|
Notices | Folder | 0700 |
|
|
pQuery | Folder | 0700 |
|
|
CdnAssetUrl.php | File | 482 B | 0644 |
|
ConflictResolver.php | File | 7.57 KB | 0644 |
|
Cookies.php | File | 1.15 KB | 0644 |
|
DBCollationChecker.php | File | 1.24 KB | 0644 |
|
DOM.php | File | 1.42 KB | 0644 |
|
DateConverter.php | File | 2.78 KB | 0644 |
|
FreeDomains.php | File | 2.82 KB | 0644 |
|
Helpers.php | File | 2.85 KB | 0644 |
|
Installation.php | File | 903 B | 0644 |
|
ProgressBar.php | File | 2.23 KB | 0644 |
|
SecondLevelDomainNames.php | File | 262 B | 0644 |
|
Security.php | File | 2.89 KB | 0644 |
|
Url.php | File | 1.5 KB | 0644 |
|
index.php | File | 0 B | 0644 |
|