]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #581 from mariroz/fix-session-livetime
authorNicolas Lœuillet <nicolas@loeuillet.org>
Fri, 21 Mar 2014 13:05:51 +0000 (14:05 +0100)
committerNicolas Lœuillet <nicolas@loeuillet.org>
Fri, 21 Mar 2014 13:05:51 +0000 (14:05 +0100)
fix of issue under nginx and php-fpm

inc/3rdparty/Session.class.php
index.php

index da7a435372d7ad268158963812ba0955c6273734..8c747558e989bd1c903ac89a9d94dc13a00dab8d 100644 (file)
@@ -51,7 +51,7 @@ class Session
     public static function init($longlastingsession = false)
     {
         //check if session name is correct
-        if ( session_id() && session_id()!=self::$sessionName ) {
+        if ( (session_id() && !empty(self::$sessionName) && session_name()!=self::$sessionName) || $longlastingsession ) {
             session_destroy();
         }
 
@@ -71,7 +71,7 @@ class Session
             session_set_cookie_params(self::$longSessionTimeout, $cookiedir, $_SERVER['HTTP_HOST'], $ssl, true);
         }
         else {
-            session_set_cookie_params('', $cookiedir, $_SERVER['HTTP_HOST'], $ssl, true);
+            session_set_cookie_params(0, $cookiedir, $_SERVER['HTTP_HOST'], $ssl, true);
         }
         //set server side valid session timeout
         //WARNING! this may not work in shared session environment. See http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime about min value: it can be set in any application
@@ -183,7 +183,7 @@ class Session
             || (self::$disableSessionProtection === false
                 && $_SESSION['ip'] !== self::_allIPs())
             || time() >= $_SESSION['expires_on']) {
-            self::logout();
+            //self::logout();
 
             return false;
         }
index bc28a19d59299be677a6f547d59b21a0f25d2997..fb13f38d499f3a271083a93e2aff26994991c232 100644 (file)
--- a/index.php
+++ b/index.php
@@ -14,9 +14,7 @@ require_once 'inc/poche/global.inc.php';
 
 # Start session
 Session::$sessionName = 'poche';
-if ( !isset($_GET['login']) ) {
-    Session::init();
-}
+Session::init();
 
 # Start Poche
 $poche = new Poche();
@@ -122,6 +120,7 @@ if (Session::isLogged()) {
 } else {
     $tpl_file = Tools::getTplFile('login');
     $tpl_vars['http_auth'] = 0;
+    Session::logout();
 }
 
 # because messages can be added in $poche->action(), we have to add this entry now (we can add it before)