summaryrefslogtreecommitdiff
path: root/modules/user/helpers
diff options
context:
space:
mode:
authorAndy Staudacher <andy.st@gmail.com>2009-02-10 05:37:42 +0000
committerAndy Staudacher <andy.st@gmail.com>2009-02-10 05:37:42 +0000
commit62f3724acbdf60b7a17c452e74f099b5236d41cb (patch)
treebcf7ad27946413681c1774bad65e754001f37777 /modules/user/helpers
parentfe5240730a0f281db1ed6ad3be0a3c63c72868bc (diff)
Adding UI for site language selection and user language preference.
Diffstat (limited to 'modules/user/helpers')
-rw-r--r--modules/user/helpers/user.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php
index 4eedae06..c923bab4 100644
--- a/modules/user/helpers/user.php
+++ b/modules/user/helpers/user.php
@@ -29,6 +29,7 @@ class user_Core {
$group = $form->group("edit_user")->label(t("Edit User"));
$group->input("name")->label(t("Name"))->id("gName")->value($user->name);
$group->input("full_name")->label(t("Full Name"))->id("gFullName")->value($user->full_name);
+ self::add_locale_dropdown($group, $user);
$group->password("password")->label(t("Password"))->id("gPassword");
$group->password("password2")->label(t("Confirm Password"))->id("gPassword2")
->matches($group->password);
@@ -47,6 +48,7 @@ class user_Core {
$group->inputs["name"]->error_messages(
"in_use", t("There is already a user with that name"));
$group->input("full_name")->label(t("Full Name"))->id("gFullName")->value($user->full_name);
+ self::add_locale_dropdown($group, $user);
$group->password("password")->label(t("Password"))->id("gPassword");
$group->password("password2")->label(t("Confirm Password"))->id("gPassword2")
->matches($group->password);
@@ -69,12 +71,22 @@ class user_Core {
->matches($group->password);
$group->input("email")->label(t("Email"))->id("gEmail");
$group->input("url")->label(t("URL"))->id("gUrl")->value($user->url);
+ self::add_locale_dropdown($group);
$group->submit("")->value(t("Add User"));
$user = ORM::factory("user");
$form->add_rules_from($user);
return $form;
}
+ private static function add_locale_dropdown(&$form, $user=null) {
+ $available_locales = locale::available();
+ asort($available_locales, SORT_LOCALE_STRING);
+ $locales['none'] = t("Language Preference");
+ $locales = array_merge($locales, $available_locales);
+ $selected_locale = ($user && $user->locale) ? $user->locale : "none";
+ $form->dropdown("locale")->options($locales)->selected($selected_locale);
+ }
+
static function get_delete_form_admin($user) {
$form = new Forge("admin/users/delete_user/$user->id", "", "post", array("id" => "gDeleteUserForm"));
$group = $form->group("delete_user")->label(