summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
Diffstat (limited to 'actions')
-rw-r--r--actions/siteadminpanel.php13
1 files changed, 12 insertions, 1 deletions
diff --git a/actions/siteadminpanel.php b/actions/siteadminpanel.php
index f66aa855c..2da26e4bd 100644
--- a/actions/siteadminpanel.php
+++ b/actions/siteadminpanel.php
@@ -90,7 +90,8 @@ class SiteadminpanelAction extends AdminPanelAction
function saveSettings()
{
- static $settings = array('name', 'broughtby', 'broughtbyurl', 'email', 'timezone');
+ static $settings = array('name', 'broughtby', 'broughtbyurl',
+ 'email', 'timezone', 'language');
$values = array();
@@ -143,6 +144,12 @@ class SiteadminpanelAction extends AdminPanelAction
$this->clientError(_('Timezone not selected.'));
return;
}
+
+ // Validate language
+
+ if (!is_null($language) && !in_array($language, array_keys(get_nice_language_list()))) {
+ $this->clientError(sprintf(_('Unknown language "%s"'), $language));
+ }
}
}
@@ -209,6 +216,10 @@ class SiteAdminPanelForm extends Form
$this->out->dropdown('timezone', _('Default timezone'),
$timezones, _('Default timezone for the site; usually UTC.'),
true, $this->value('timezone'));
+
+ $this->out->dropdown('language', _('Language'),
+ get_nice_language_list(), _('Default site language'),
+ false, $this->value('language'));
}
/**