PluginProbe ʕ •ᴥ•ʔ
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 25.9
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v25.9
27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 19.1 19.10 19.11 19.12 19.13 19.14 19.2 19.3 19.4 19.5 19.5.1 19.6 19.6.1 19.7 19.7.1 19.7.2 19.8 19.9 20.0 20.1 20.10 20.11 20.12 20.13 20.2 20.2.1 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.8.1 21.9 21.9.1 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.8.1 24.9 25.0 25.1 25.2 25.3 25.3.1 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.1.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.1.1 27.2 27.3 27.4
wordpress-seo / vendor_prefixed / guzzlehttp / guzzle / src / Cookie / SessionCookieJar.php
wordpress-seo / vendor_prefixed / guzzlehttp / guzzle / src / Cookie Last commit date
CookieJar.php 2 years ago CookieJarInterface.php 2 years ago FileCookieJar.php 2 years ago SessionCookieJar.php 2 years ago SetCookie.php 2 years ago
SessionCookieJar.php
72 lines
1 <?php
2
3 namespace YoastSEO_Vendor\GuzzleHttp\Cookie;
4
5 /**
6 * Persists cookies in the client session
7 */
8 class SessionCookieJar extends \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar
9 {
10 /**
11 * @var string session key
12 */
13 private $sessionKey;
14 /**
15 * @var bool Control whether to persist session cookies or not.
16 */
17 private $storeSessionCookies;
18 /**
19 * Create a new SessionCookieJar object
20 *
21 * @param string $sessionKey Session key name to store the cookie
22 * data in session
23 * @param bool $storeSessionCookies Set to true to store session cookies
24 * in the cookie jar.
25 */
26 public function __construct(string $sessionKey, bool $storeSessionCookies = \false)
27 {
28 parent::__construct();
29 $this->sessionKey = $sessionKey;
30 $this->storeSessionCookies = $storeSessionCookies;
31 $this->load();
32 }
33 /**
34 * Saves cookies to session when shutting down
35 */
36 public function __destruct()
37 {
38 $this->save();
39 }
40 /**
41 * Save cookies to the client session
42 */
43 public function save() : void
44 {
45 $json = [];
46 /** @var SetCookie $cookie */
47 foreach ($this as $cookie) {
48 if (\YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
49 $json[] = $cookie->toArray();
50 }
51 }
52 $_SESSION[$this->sessionKey] = \json_encode($json);
53 }
54 /**
55 * Load the contents of the client session into the data array
56 */
57 protected function load() : void
58 {
59 if (!isset($_SESSION[$this->sessionKey])) {
60 return;
61 }
62 $data = \json_decode($_SESSION[$this->sessionKey], \true);
63 if (\is_array($data)) {
64 foreach ($data as $cookie) {
65 $this->setCookie(new \YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie($cookie));
66 }
67 } elseif (\strlen($data)) {
68 throw new \RuntimeException('Invalid cookie data');
69 }
70 }
71 }
72