diff --git a/include/class_session.inc b/include/class_session.inc index e466be12a2dc80527620b5660ba1cdc93cfc41e0..b9e0f6012df15e5c3d35bf3ee2471f4f3dfa683a 100644 --- a/include/class_session.inc +++ b/include/class_session.inc @@ -134,11 +134,25 @@ class session { } /*! - * \brief Accessor of a session + * \brief Accessor of a session var * - * \param string $name Name of the session + * \param string $name Name of the session var + */ + public static function global_get($name) + { + if (isset($_SESSION[$name])) { + return $_SESSION[$name]; + } else { + return NULL; + } + } + + /*! + * \brief Accessor of a session var by reference + * + * \param string $name Name of the session var */ - public static function &global_get($name) + public static function &global_get_ref($name) { $ret = &$_SESSION[$name]; return $ret; diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc index 081ef3b59716b113eb543343a5c85d8643143883..16aa80affe9b39bc6cce5481a35455391a840ecb 100644 --- a/include/class_userinfo.inc +++ b/include/class_userinfo.inc @@ -428,7 +428,7 @@ class userinfo } /* Push cache answer? */ - $ACL_CACHE = &session::global_get('ACL_CACHE'); + $ACL_CACHE = &session::global_get_ref('ACL_CACHE'); if (isset($ACL_CACHE["$dn+$object+$attribute"])) { $ret = $ACL_CACHE["$dn+$object+$attribute"]; if ($skip_write) { @@ -635,7 +635,7 @@ class userinfo } /* Use cached results if possilbe */ - $ACL_CACHE = &session::global_get('ACL_CACHE'); + $ACL_CACHE = &session::global_get_ref('ACL_CACHE'); if (!is_array($module)) { $module = array($module); diff --git a/include/functions.inc b/include/functions.inc index 91fd8434f8f4781bf69b7df571867e2957578d8c..92c0f97cc8d064d0369ef40bdbf0a78c1f40d67a 100644 --- a/include/functions.inc +++ b/include/functions.inc @@ -637,7 +637,7 @@ function add_lock($object, $user) return; } - $cache = &session::global_get('LOCK_CACHE'); + $cache = &session::global_get_ref('LOCK_CACHE'); if (isset($_POST['open_readonly'])) { $cache['READ_ONLY'][$object] = TRUE; return; @@ -710,7 +710,7 @@ function del_lock ($object) skip removing the lock entry, there wasn't any lock created. */ if (session::global_is_set('LOCK_CACHE')) { - $cache = &session::global_get('LOCK_CACHE'); + $cache = &session::global_get_ref('LOCK_CACHE'); if (isset($cache['READ_ONLY'][$object])) { unset($cache['READ_ONLY'][$object]); return;