From 852d2c4c24c9999c8babcc739f8856e942bbc2c0 Mon Sep 17 00:00:00 2001 From: Kenji ITO Date: Sat, 31 Dec 2016 15:11:39 +0900 Subject: [PATCH] Fixed a bug where Configuration search doesn't always take you to the correct configuration item (bug #722) --- system/classes/config.class.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/system/classes/config.class.php b/system/classes/config.class.php index 4b1c5b506..f0a1be41f 100644 --- a/system/classes/config.class.php +++ b/system/classes/config.class.php @@ -247,12 +247,14 @@ public function &initConfig() // continue; } + $autoCompleteData = $row[0]; + if ($row[1] !== 'unset') { if (!array_key_exists($row[2], $this->config_array) || !array_key_exists($row[0], $this->config_array[$row[2]]) ) { $value = @unserialize($row[1]); - if (($value === false) && ($row[1] != $false_str)) { + if (($value === false) && ($row[1] !== $false_str)) { if (function_exists('COM_errorLog')) { COM_errorLog("Unable to unserialize {$row[1]} for {$row[2]}:{$row[0]}"); } @@ -261,21 +263,17 @@ public function &initConfig() if (strpos($row[3], '@') === 0) { // if @ if (is_array($value) && !empty($value)) { - $this->conf_tab_arr[$row[2]][$row[4]] - [$tabs[$row[2]][$row[4]][$row[5]]][$row[5]][$row[0]] = array_keys($value); + $autoCompleteData = array_keys($value); } - } else { - $this->conf_tab_arr[$row[2]][$row[4]] - [$tabs[$row[2]][$row[4]][$row[5]]][$row[5]][$row[0]] = $row[0]; } } } - } else { - // set to autocomplete only - $this->conf_tab_arr[$row[2]][$row[4]] - [$tabs[$row[2]][$row[4]][$row[5]]][$row[5]][$row[0]] = $row[0]; } + + // set to auto complete + $this->conf_tab_arr[$row[2]][$row[4]][$tabs[$row[2]][$row[4]][$row[5]]][$row[5]][$row[0]] = $autoCompleteData; } + $this->_post_initconfig(); $this->_post_configuration();