summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/siteadminpanel.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/actions/siteadminpanel.php b/actions/siteadminpanel.php
index 6dae12e08..e4deea962 100644
--- a/actions/siteadminpanel.php
+++ b/actions/siteadminpanel.php
@@ -91,8 +91,8 @@ class SiteadminpanelAction extends AdminPanelAction
function saveSettings()
{
static $settings = array('name', 'broughtby', 'broughtbyurl',
- 'email', 'timezone', 'language',
- 'closed', 'inviteonly', 'private');
+ 'email', 'timezone', 'language');
+ static $booleans = array('closed', 'inviteonly', 'private');
$values = array();
@@ -100,6 +100,10 @@ class SiteadminpanelAction extends AdminPanelAction
$values[$setting] = $this->trimmed($setting);
}
+ foreach ($booleans as $setting) {
+ $values[$setting] = ($this->boolean($setting)) ? 1 : 0;
+ }
+
// This throws an exception on validation errors
$this->validate($values);
@@ -110,7 +114,7 @@ class SiteadminpanelAction extends AdminPanelAction
$config->query('BEGIN');
- foreach ($settings as $setting) {
+ foreach (array_merge($settings, $booleans) as $setting) {
Config::save('site', $setting, $values[$setting]);
}