From ebd2641baa6320dbbe96930e29da963dd7445425 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 3 Jan 2014 19:02:44 +0100 Subject: Handle default config values better --- apis/getconfig.inc.php | 2 +- modules/baseconfig.inc.php | 7 +++---- style/default.css | 6 ++++++ templates/page-baseconfig.html | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apis/getconfig.inc.php b/apis/getconfig.inc.php index 2ef02a6b..1e7a4f53 100644 --- a/apis/getconfig.inc.php +++ b/apis/getconfig.inc.php @@ -6,7 +6,7 @@ $res = Database::simpleQuery('SELECT setting.setting, setting.defaultvalue, sett LEFT JOIN setting_global AS tbl USING (setting) ORDER BY setting ASC'); // TODO: Add setting groups and sort order while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - if (empty($row['value'])) $row['value'] = $row['defaultvalue']; + if (is_null($row['value'])) $row['value'] = $row['defaultvalue']; echo $row['setting'] . "='" . str_replace("'", "'\"'\"'", $row['value']) . "'\n"; } // Additional "intelligent" config diff --git a/modules/baseconfig.inc.php b/modules/baseconfig.inc.php index f6f4188f..4f9bd92f 100644 --- a/modules/baseconfig.inc.php +++ b/modules/baseconfig.inc.php @@ -32,12 +32,10 @@ if (isset($_POST['setting']) && is_array($_POST['setting'])) { $qry_values = ', :' . $item['name']; } // Load all existing config options to validate input - $settings = array(); $res = Database::simpleQuery('SELECT setting, validator FROM setting'); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - $settings[$row['setting']] = $row['validator']; - } - foreach ($settings as $key => $validator) { + $key = $row['setting']; + $validator = $row['validator']; $input = (isset($_POST['setting'][$key]) ? $_POST['setting'][$key] : ''); // Validate data first! $value = Validator::validate($validator, $input); @@ -81,6 +79,7 @@ function render_module() ORDER BY setting ASC'); // TODO: Add setting groups and sort order while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $row['description'] = Util::markup($row['description']); + if (is_null($row['value'])) $row['value'] = $row['defaultvalue']; $row['big'] = false; $settings[] = $row; } diff --git a/style/default.css b/style/default.css index af46eff2..c846f261 100644 --- a/style/default.css +++ b/style/default.css @@ -43,3 +43,9 @@ body { border-top-left-radius: 0; border-top-right-radius: 0; } + +.slx-default { + color: #888; + font-size: 90%; + font-style: italic; +} diff --git a/templates/page-baseconfig.html b/templates/page-baseconfig.html index 308461bb..d5d70df3 100644 --- a/templates/page-baseconfig.html +++ b/templates/page-baseconfig.html @@ -3,13 +3,13 @@
{{#settings}}
-
{{setting}}
+
{{setting}}
{{defaultvalue}}
{{#big}} {{/big}} {{^big}} - + {{/big}}
-- cgit v1.2.3-55-g7522