Session autostart, #16
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/branches/evo@143 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
This commit is contained in:
@ -42,6 +42,13 @@ class Session
|
||||
*/
|
||||
public static function get($key = null, $default = null)
|
||||
{
|
||||
if (!self::$started) {
|
||||
if (self::isExists()) {
|
||||
self::start();
|
||||
} else {
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
if (null === $key) {
|
||||
return $_SESSION;
|
||||
}
|
||||
@ -57,6 +64,9 @@ class Session
|
||||
*/
|
||||
public static function set($spec, $value = null)
|
||||
{
|
||||
if (!self::$started) {
|
||||
self::start();
|
||||
}
|
||||
if (is_array($spec)) {
|
||||
foreach ($spec as $key => $value) {
|
||||
self::set($key, $value);
|
||||
@ -73,6 +83,13 @@ class Session
|
||||
*/
|
||||
public static function del($key)
|
||||
{
|
||||
if (!self::$started) {
|
||||
if (self::isExists()) {
|
||||
self::start();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (isset($_SESSION[$key])) {
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
@ -141,7 +158,7 @@ class Session
|
||||
|
||||
public static function isExists()
|
||||
{
|
||||
if (ini_get('session.use_cookies') == '1' && isset($COOKIE[session_name()])) {
|
||||
if (isset($_COOKIE[session_name()])) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -149,6 +166,9 @@ class Session
|
||||
|
||||
public static function start()
|
||||
{
|
||||
if (self::$started) {
|
||||
return;
|
||||
}
|
||||
self::$started = true;
|
||||
session_start();
|
||||
self::regenerateId();
|
||||
@ -188,7 +208,7 @@ class Session
|
||||
*/
|
||||
public static function expireSessionCookie()
|
||||
{
|
||||
if (isset($COOKIE[session_name()])) {
|
||||
if (isset($_COOKIE[session_name()])) {
|
||||
$params = session_get_cookie_params();
|
||||
setcookie(
|
||||
session_name(),
|
||||
@ -200,4 +220,4 @@ class Session
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user