diff options
Diffstat (limited to 'classes')
-rwxr-xr-x | classes/api.php | 8 | ||||
-rwxr-xr-x | classes/handler/public.php | 3 | ||||
-rw-r--r-- | classes/userhelper.php | 4 |
3 files changed, 11 insertions, 4 deletions
diff --git a/classes/api.php b/classes/api.php index 7ca8ec8ba..3c6795327 100755 --- a/classes/api.php +++ b/classes/api.php @@ -59,8 +59,12 @@ class API extends Handler { } function login() { - @session_destroy(); - @session_start(); + + if (session_status() == PHP_SESSION_ACTIVE) { + session_destroy(); + } + + session_start(); $login = clean($_REQUEST["user"]); $password = clean($_REQUEST["password"]); diff --git a/classes/handler/public.php b/classes/handler/public.php index cc5d35079..bf0160db6 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -390,7 +390,8 @@ class Handler_Public extends Handler { } else { // start an empty session to deliver login error message - @session_start(); + if (session_status() != PHP_SESSION_ACTIVE) + session_start(); if (!isset($_SESSION["login_error_msg"])) $_SESSION["login_error_msg"] = __("Incorrect username or password"); diff --git a/classes/userhelper.php b/classes/userhelper.php index d46d75bf4..8d9d483a8 100644 --- a/classes/userhelper.php +++ b/classes/userhelper.php @@ -87,7 +87,9 @@ class UserHelper { $pdo = Db::pdo(); if (Config::get(Config::SINGLE_USER_MODE)) { - @session_start(); + if (session_status() != PHP_SESSION_ACTIVE) + session_start(); + self::authenticate("admin", null); startup_gettext(); self::load_user_plugins($_SESSION["uid"]); |