diff --git a/include/class_session.inc b/include/class_session.inc index 889104282e7f31207827f066b3189b60784f6b94..e54a922a279cca81d0906eefb9126db0393ad002 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 a41fbf2d37df26eb3ed29899e84645558d2a1a6f..f5addc8593485c781852a59118c2453caf148a4c 100644 --- a/include/class_userinfo.inc +++ b/include/class_userinfo.inc @@ -419,7 +419,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) { @@ -626,7 +626,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 e176e5cc4a3fb88baafc564ef862b77241ac5cd8..335da34ea26d46e4d7413a3e09525dbf93bc5ee6 100644 --- a/include/functions.inc +++ b/include/functions.inc @@ -612,7 +612,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; @@ -685,7 +685,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;