From 8f99726eb1a5bd52cf77d26d1fb169cec5d321fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Tue, 21 Feb 2017 15:22:13 +0100 Subject: [PATCH] =?UTF-8?q?Avoid=20using=20references=20on=20session=20var?= =?UTF-8?q?s=20when=20it=E2=80=99s=20not=20useful?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/class_session.inc | 20 +++++++++++++++++--- include/class_userinfo.inc | 4 ++-- include/functions.inc | 4 ++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/include/class_session.inc b/include/class_session.inc index 889104282..e54a922a2 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 a41fbf2d3..f5addc859 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 e176e5cc4..335da34ea 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; -- GitLab