Browse Source

Session autostart, #16

git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/branches/evo@143 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
master
pzinovkin 15 years ago
parent
commit
6e0f302249
  1. 1
      app/FrontController.php
  2. 26
      session/Session.php

1
app/FrontController.php

@ -32,7 +32,6 @@ class FrontController
private function __construct()
{
ErrorHandler::init();
Session::start();
if (DEBUG == true) {
Profiler::getInstance()->start();
}

26
session/Session.php

@ -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
);
}
}
}
}
Loading…
Cancel
Save