diff options
| -rw-r--r-- | inc/mod/pages.php | 5 | ||||
| -rw-r--r-- | templates/mod/theme_config.html | 19 |
2 files changed, 18 insertions, 6 deletions
diff --git a/inc/mod/pages.php b/inc/mod/pages.php index fe55b513..887be16b 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -2155,7 +2155,10 @@ function mod_theme_configure($theme_name) { $query = prepare("INSERT INTO ``theme_settings`` VALUES(:theme, :name, :value)"); $query->bindValue(':theme', $theme_name); $query->bindValue(':name', $conf['name']); - $query->bindValue(':value', $_POST[$conf['name']]); + if ($conf['type'] == 'checkbox') + $query->bindValue(':value', isset($_POST[$conf['name']]) ? 1 : 0); + else + $query->bindValue(':value', $_POST[$conf['name']]); $query->execute() or error(db_error($query)); } diff --git a/templates/mod/theme_config.html b/templates/mod/theme_config.html index 2dbb8397..d85b5df1 100644 --- a/templates/mod/theme_config.html +++ b/templates/mod/theme_config.html @@ -7,12 +7,21 @@ <tr> <th>{{ conf.title }}</th> <td> - <input type="text" name="{{ conf.name }}" - {% if settings[conf.name] %}value="{{ settings[conf.name] }}"{% else %}{% if conf.default %}value="{{ conf.default }}"{% endif %}{% endif %} - {% if conf.size %} - size="{{ conf.size }}" + {% if conf.type == 'checkbox' %} + <input type="checkbox" name="{{ conf.name }}" + {% if settings[conf.name] or (not settings[conf.name] is defined and conf.default) %} + checked + {% endif %}> + {% else %} + <input type="text" name="{{ conf.name }}" + {% if settings[conf.name] %} + value="{{ settings[conf.name] }}" + {% else %} + {% if conf.default %}value="{{ conf.default }}"{% endif %}{% endif %} + {% if conf.size %} + size="{{ conf.size }}" + {% endif %}> {% endif %} - /> {% if conf.comment %} <span class="unimportant">{{ conf.comment }}</span> {% endif %} |
