From 0a81a4cb9260aaac4bb8b6a368112d97d383b32f Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Sun, 19 Mar 2017 20:36:02 +0100 Subject: [PATCH] Store.php: getVar() for STORE_LDAP is now case insensitive for keynames. --- extension/qfq/qfq/store/Store.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/extension/qfq/qfq/store/Store.php b/extension/qfq/qfq/store/Store.php index b4723ee3b..c4bee36d3 100644 --- a/extension/qfq/qfq/store/Store.php +++ b/extension/qfq/qfq/store/Store.php @@ -445,19 +445,24 @@ class Store { } while ($useStores !== false) { - $store = substr($useStores, 0, 1); // next store + + $finalKey = $key; + if ($store == STORE_LDAP) { + $finalKey = strtolower($key); // in STORE_LDAP all keys are lowercase + } + $foundInStore = $store; $useStores = substr($useStores, 1); // shift left remaining stores - if (!isset(self::$raw[$store][$key])) { + if (!isset(self::$raw[$store][$finalKey])) { switch ($store) { case STORE_ZERO: return 0; case STORE_EMPTY: return ''; case STORE_VAR: - if ($key === VAR_RANDOM) { + if ($finalKey === VAR_RANDOM) { return Support::randomAlphaNum(RANDOM_LENGTH); } else { continue 2; // no value provided, continue with while loop @@ -469,7 +474,7 @@ class Store { } } - $rawVal = isset(self::$raw[$store][$key]) ? self::$raw[$store][$key] : null; + $rawVal = isset(self::$raw[$store][$finalKey]) ? self::$raw[$store][$finalKey] : null; if (self::$sanitizeStore[$store] && $sanitizeClass != '') { if ($sanitizeClass == SANITIZE_ALLOW_PATTERN || $sanitizeClass == SANITIZE_ALLOW_MIN_MAX || $sanitizeClass == SANITIZE_ALLOW_MIN_MAX_DATE) { // We do not have any pattern or min|max values at this point. For those who be affected, they already checked earlier. So set 'no check' -- GitLab