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