From c8cd280d522a2522c541467b1b84c4a8666b5b38 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 14 Jun 2016 11:22:53 +0200 Subject: [baseconfig] Reimplement toggle/enabled switch from UFPR, sort properly, make download button honor current module/location --- modules-available/baseconfig/api.inc.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'modules-available/baseconfig/api.inc.php') diff --git a/modules-available/baseconfig/api.inc.php b/modules-available/baseconfig/api.inc.php index 3aac322f..000015f5 100644 --- a/modules-available/baseconfig/api.inc.php +++ b/modules-available/baseconfig/api.inc.php @@ -45,18 +45,28 @@ foreach (glob('modules/*/baseconfig/getconfig.inc.php') as $file) { $defaults = BaseConfigUtil::getVariables(); // Dump global config from DB -$res = Database::simpleQuery('SELECT setting, value FROM setting_global'); +$res = Database::simpleQuery('SELECT setting, value, enabled FROM setting_global'); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - if (isset($configVars[$row['setting']]) || !isset($defaults[$row['setting']])) + if (isset($configVars[$row['setting']]) // Already set by a hook above, ignore + || !isset($defaults[$row['setting']])) // Setting is not defined in any /baseconfig/settings.json continue; - $configVars[$row['setting']] = $row['value']; + if ($row['enabled'] != 1) { + // Setting is disabled + $configVars[$row['setting']] = false; + } else { + $configVars[$row['setting']] = $row['value']; + } } // Fallback to default values from json files foreach ($defaults as $setting => $value) { - if (isset($configVars[$setting])) - continue; - $configVars[$setting] = $value; + if (isset($configVars[$setting])) { + if ($configVars[$setting] === false) { + unset($configVars[$setting]); + } + } else { + $configVars[$setting] = $value['defaultvalue']; + } } // All done, now output -- cgit v1.2.3-55-g7522