summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2014-01-03 19:02:44 +0100
committerSimon Rettberg2014-01-03 19:02:44 +0100
commitebd2641baa6320dbbe96930e29da963dd7445425 (patch)
tree4e995069fb3dcb338bc989c2af22f3502d061f41
parentRename PXE Menu entries (diff)
downloadslx-admin-ebd2641baa6320dbbe96930e29da963dd7445425.tar.gz
slx-admin-ebd2641baa6320dbbe96930e29da963dd7445425.tar.xz
slx-admin-ebd2641baa6320dbbe96930e29da963dd7445425.zip
Handle default config values better
-rw-r--r--apis/getconfig.inc.php2
-rw-r--r--modules/baseconfig.inc.php7
-rw-r--r--style/default.css6
-rw-r--r--templates/page-baseconfig.html4
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 @@
<form action="?do=baseconfig" method="post">
{{#settings}}
<div class="row well well-sm">
- <div class="col-md-3">{{setting}}</div>
+ <div class="col-md-3">{{setting}}<div class="slx-default">{{defaultvalue}}</div></div>
<div class="col-md-3">
{{#big}}
<textarea name="setting[{{setting}}]" class="form-control" cols="30" rows="3">{{value}}</textarea>
{{/big}}
{{^big}}
- <input type="text" name="setting[{{setting}}]" class="form-control" size="30" value="{{value}}" placeholder="{{defaultvalue}}">
+ <input type="text" name="setting[{{setting}}]" class="form-control" size="30" value="{{value}}">
{{/big}}
</div>
<div class="col-md-6">