From 62f3724acbdf60b7a17c452e74f099b5236d41cb Mon Sep 17 00:00:00 2001 From: Andy Staudacher Date: Tue, 10 Feb 2009 05:37:42 +0000 Subject: Adding UI for site language selection and user language preference. --- core/controllers/admin.php | 1 - core/controllers/admin_languages.php | 53 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 core/controllers/admin_languages.php (limited to 'core/controllers') diff --git a/core/controllers/admin.php b/core/controllers/admin.php index d83a0d6f..f8314007 100644 --- a/core/controllers/admin.php +++ b/core/controllers/admin.php @@ -36,7 +36,6 @@ class Admin_Controller extends Controller { $controller_name = "dashboard"; } $controller_name = "Admin_{$controller_name}_Controller"; - if ($args) { $method = array_shift($args); } else { diff --git a/core/controllers/admin_languages.php b/core/controllers/admin_languages.php new file mode 100644 index 00000000..2ce4eb16 --- /dev/null +++ b/core/controllers/admin_languages.php @@ -0,0 +1,53 @@ +content = new View("admin_languages.html"); + + $locales = locale::available(); + asort($locales, SORT_LOCALE_STRING); + + $form = new Forge("/admin/languages/save", "", "post", array("id" => "gLanguageSettingsForm")); + $group = $form->group("settings") + ->label(t("Please select a language")); + $group->dropdown("locale_selection") + ->options($locales) + ->selected(module::get_var('core', 'default_locale')); + $group->submit("save")->value(t("Save settings")); + + $view->content->form = $form; + + print $view; + } + + public function save() { + $locales = locale::available(); + $selected_locale = $this->input->post('locale_selection'); + if (!isset($locales[$selected_locale])) { + message::error(t("Invalid selection")); + } else { + module::set_var("core", "default_locale", $selected_locale); + message::success(t("Settings saved")); + } + url::redirect("admin/languages"); + } +} + -- cgit v1.2.3