Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1430293
SessionCookieJar.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
SessionCookieJar.php
View Options
<?php
namespace
GuzzleHttp\Cookie
;
/**
* Persists cookies in the client session
*/
class
SessionCookieJar
extends
CookieJar
{
/**
* @var string session key
*/
private
$sessionKey
;
/**
* @var bool Control whether to persist session cookies or not.
*/
private
$storeSessionCookies
;
/**
* Create a new SessionCookieJar object
*
* @param string $sessionKey Session key name to store the cookie
* data in session
* @param bool $storeSessionCookies Set to true to store session cookies
* in the cookie jar.
*/
public
function
__construct
(
string
$sessionKey
,
bool
$storeSessionCookies
=
false
)
{
parent
::
__construct
();
$this
->
sessionKey
=
$sessionKey
;
$this
->
storeSessionCookies
=
$storeSessionCookies
;
$this
->
load
();
}
/**
* Saves cookies to session when shutting down
*/
public
function
__destruct
()
{
$this
->
save
();
}
/**
* Save cookies to the client session
*/
public
function
save
():
void
{
$json
=
[];
/** @var SetCookie $cookie */
foreach
(
$this
as
$cookie
)
{
if
(
CookieJar
::
shouldPersist
(
$cookie
,
$this
->
storeSessionCookies
))
{
$json
[]
=
$cookie
->
toArray
();
}
}
$_SESSION
[
$this
->
sessionKey
]
=
\json_encode
(
$json
);
}
/**
* Load the contents of the client session into the data array
*/
protected
function
load
():
void
{
if
(!
isset
(
$_SESSION
[
$this
->
sessionKey
]))
{
return
;
}
$data
=
\json_decode
(
$_SESSION
[
$this
->
sessionKey
],
true
);
if
(
\is_array
(
$data
))
{
foreach
(
$data
as
$cookie
)
{
$this
->
setCookie
(
new
SetCookie
(
$cookie
));
}
}
elseif
(
\strlen
(
$data
))
{
throw
new
\RuntimeException
(
'Invalid cookie data'
);
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 18:36 (5 h, 55 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
85/b0/675c6b1b6b4a6fde3cfb3f6ab92e
Default Alt Text
SessionCookieJar.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment