X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=inc%2F3rdparty%2FSession.class.php;h=b30a31f3a8fef4757349dd6be1e4445f056a8a7a;hb=refs%2Ftags%2F1.5.0;hp=df913a0680f4e5e3c8ed9906a0d57e72429445d3;hpb=705250b93dc71ae91d3c305b51e7a20611873805;p=github%2Fwallabag%2Fwallabag.git diff --git a/inc/3rdparty/Session.class.php b/inc/3rdparty/Session.class.php index df913a06..b30a31f3 100644 --- a/inc/3rdparty/Session.class.php +++ b/inc/3rdparty/Session.class.php @@ -31,7 +31,9 @@ class Session public static $sessionName = ''; // If the user does not access any page within this time, // his/her session is considered expired (3600 sec. = 1 hour) - public static $inactivityTimeout = 3600; + public static $inactivityTimeout = 86400; + // Extra timeout for long sessions (if enabled) (82800 sec. = 23 hours) + public static $longSessionTimeout = 31536000; // If you get disconnected often or if your IP address changes often. // Let you disable session cookie hijacking protection public static $disableSessionProtection = false; @@ -106,6 +108,7 @@ class Session $password, $loginTest, $passwordTest, + $longlastingsession, $pValues = array()) { self::banInit(); @@ -118,7 +121,11 @@ class Session $_SESSION['username'] = $login; // Set session expiration. $_SESSION['expires_on'] = time() + self::$inactivityTimeout; - + if ($longlastingsession) { + $_SESSION['longlastingsession'] = self::$longSessionTimeout; + $_SESSION['expires_on'] += $_SESSION['longlastingsession']; + } + foreach ($pValues as $key => $value) { $_SESSION[$key] = $value; } @@ -136,7 +143,7 @@ class Session */ public static function logout() { - unset($_SESSION['uid'],$_SESSION['ip'],$_SESSION['expires_on'],$_SESSION['tokens'], $_SESSION['login'], $_SESSION['pass'], $_SESSION['poche_user']); + unset($_SESSION['uid'],$_SESSION['ip'],$_SESSION['expires_on'],$_SESSION['tokens'], $_SESSION['login'], $_SESSION['pass'], $_SESSION['longlastingsession'], $_SESSION['poche_user']); } /**