'Page expired' prevention rewritten due to caching problems in some browsers.
authorJanusz Dobrowolski <janusz@frontaccouting.eu>
Wed, 19 Dec 2012 09:05:52 +0000 (10:05 +0100)
committerJanusz Dobrowolski <janusz@frontaccouting.eu>
Wed, 19 Dec 2012 09:05:52 +0000 (10:05 +0100)
includes/session.inc

index 9eb70019807a98852d6cb28a5aa76cc687d331fc..37591d3489e8bdbceffdb78b28eece26c6053966 100644 (file)
@@ -354,7 +354,6 @@ foreach ($installed_extensions as $ext)
 // ini_set('session.save_path', dirname(__FILE__).'/../tmp/');
 
 ini_set('session.gc_maxlifetime', 36000); // 10hrs
-ini_set('session.cache_limiter', 'private'); // prevent 'page expired' errors
 
 $Session_manager = new SessionManager();
 $Session_manager->sessionStart('FA'.md5(dirname(__FILE__)));
@@ -452,6 +451,14 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){
                        // Incorrect password
                                login_fail();
                        }
+                       elseif(!$_SESSION['timeout']['post'])
+                       {
+                               // in case of GET request redirect to avoid confirmation dialog 
+                               // after return from menu option
+                               header("HTTP 1.1 303 See Other");
+                               header("Location: ".$_SESSION['timeout']['uri']);
+                               exit();
+                       }
                        $lang = &$_SESSION['language'];
                        $lang->set_language($_SESSION['language']->code);
                }