summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/mod/pages.php5
-rw-r--r--templates/mod/theme_config.html19
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 %}