diff options
-rw-r--r-- | actions/siteadminpanel.php | 10 |
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]); } |