summaryrefslogtreecommitdiffstats
path: root/modules-available/baseconfig/api.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2016-06-14 11:22:53 +0200
committerSimon Rettberg2016-06-14 11:22:53 +0200
commitc8cd280d522a2522c541467b1b84c4a8666b5b38 (patch)
treeb7c8c2475e27dad0859ecf1608164067cc119cba /modules-available/baseconfig/api.inc.php
parent[dashboard] Add submenu feature (diff)
downloadslx-admin-c8cd280d522a2522c541467b1b84c4a8666b5b38.tar.gz
slx-admin-c8cd280d522a2522c541467b1b84c4a8666b5b38.tar.xz
slx-admin-c8cd280d522a2522c541467b1b84c4a8666b5b38.zip
[baseconfig] Reimplement toggle/enabled switch from UFPR, sort properly, make download button honor current module/location
Diffstat (limited to 'modules-available/baseconfig/api.inc.php')
-rw-r--r--modules-available/baseconfig/api.inc.php22
1 files changed, 16 insertions, 6 deletions
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 <module>/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