X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=inc%2F3rdparty%2FSession.class.php;h=b56e4c545b23fa815d53c63b7c8e2a66e33cd0b7;hb=90a1a78b1e2f4d40e1d9b8e6f46aca129a9d7bcf;hp=da7a435372d7ad268158963812ba0955c6273734;hpb=db41c907aabe6700942d3f68167ef92ffec6c66b;p=github%2Fwallabag%2Fwallabag.git diff --git a/inc/3rdparty/Session.class.php b/inc/3rdparty/Session.class.php index da7a4353..b56e4c54 100644 --- a/inc/3rdparty/Session.class.php +++ b/inc/3rdparty/Session.class.php @@ -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(); } @@ -68,10 +68,10 @@ class Session } if ( $longlastingsession ) { - session_set_cookie_params(self::$longSessionTimeout, $cookiedir, $_SERVER['HTTP_HOST'], $ssl, true); + session_set_cookie_params(self::$longSessionTimeout, $cookiedir, null, $ssl, true); } else { - session_set_cookie_params('', $cookiedir, $_SERVER['HTTP_HOST'], $ssl, true); + session_set_cookie_params(0, $cookiedir, null, $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; } @@ -309,4 +309,38 @@ class Session return true; // User is not banned. } + + + /** + * Tells if a param exists in session + * + * @param $name name of the param to test + * @return bool + */ + public static function isInSession($name) + { + return (isset($_SESSION[$name]) ? : FALSE); + } + + /** + * Returns param in session + * + * @param $name name of the param to return + * @return mixed param or null + */ + public static function getParam($name) + { + return (self::isInSession($name) ? $_SESSION[$name] : NULL); + } + + /** + * Store value in session + * + * @param $name name of the variable to store + * @param $value value to store + */ + public static function setParam($name, $value) + { + $_SESSION[$name] = $value; + } }