diff options
-rw-r--r-- | modules/baseconfig.inc.php | 11 | ||||
-rw-r--r-- | templates/page-baseconfig.html | 50 |
2 files changed, 42 insertions, 19 deletions
diff --git a/modules/baseconfig.inc.php b/modules/baseconfig.inc.php index 4f9bd92f..80dc6cd5 100644 --- a/modules/baseconfig.inc.php +++ b/modules/baseconfig.inc.php @@ -73,18 +73,21 @@ function render_module() } // List global config option $settings = array(); - $res = Database::simpleQuery('SELECT setting.setting, setting.defaultvalue, setting.permissions, setting.description, tbl.value + $res = Database::simpleQuery('SELECT cat_setting.name AS category_name, setting.setting, setting.defaultvalue, setting.permissions, setting.description, tbl.value FROM setting + INNER JOIN cat_setting USING (catid) LEFT JOIN setting_global AS tbl USING (setting) - ORDER BY setting ASC'); // TODO: Add setting groups and sort order + ORDER BY cat_setting.sortval ASC, setting.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; + $settings[$row['category_name']]['settings'][] = $row; + $settings[$row['category_name']]['category_name'] = $row['category_name']; } + $settings = array_values($settings); Render::addTemplate('page-baseconfig', array( - 'settings' => $settings, + 'categories' => $settings, 'token' => Session::get('token'), )); } diff --git a/templates/page-baseconfig.html b/templates/page-baseconfig.html index d5d70df3..2dbe4736 100644 --- a/templates/page-baseconfig.html +++ b/templates/page-baseconfig.html @@ -1,23 +1,43 @@ <div class="container"> <h1>Basiskonfiguration</h1> <form action="?do=baseconfig" method="post"> - {{#settings}} - <div class="row well well-sm"> - <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}}"> - {{/big}} - </div> - <div class="col-md-6"> - <a class="btn btn-default" data-toggle="collapse" data-target="#help-{{setting}}">Hilfe »</a> - <div class="collapse" id="help-{{setting}}">{{{description}}}</div> + {{#categories}} + <div class="panel panel-default"> + <div class="panel-heading">{{category_name}}</div> + <div class="list-group"> + {{#settings}} + <div class="list-group-item"> + <div class="row"> + <div class="col-md-5"> + {{setting}} + <div class="slx-default">{{defaultvalue}}</div> + </div> + <div class="col-md-5"> + {{#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}}"> + {{/big}} + </div> + <div class="col-md-2"> + <a class="btn btn-default" data-toggle="modal" data-target="#help-{{setting}}">Hilfe</a> + </div> + </div> + </div> + <div class="modal fade" id="help-{{setting}}" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{setting}}</div> + <div class="modal-body">{{{description}}}</div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">Schließen</a></div> + </div> + </div> + </div> + {{/settings}} </div> </div> - {{/settings}} + {{/categories}} <input type="hidden" name="token" value="{{token}}"> <button class="btn btn-lg btn-primary" type="submit">Speichern</button> <button class="btn btn-lg btn-primary" type="reset">Zurücksetzen</button> |