diff options
author | root <root@sleepydogs.net> | 2009-09-13 09:01:55 -0700 |
---|---|---|
committer | root <root@sleepydogs.net> | 2009-09-13 09:01:55 -0700 |
commit | c62d1f440f077ba806b7ff0c6b90ef89c79b2fd3 (patch) | |
tree | b64f05e2a7bd8db7200e3c407904e255826b4cf2 /modules/user/helpers/user_event.php | |
parent | b96ac1eb81b7ccd5bd050ffab0ca9ce1feec8f4f (diff) | |
parent | caa2002d7777e0ceb884d4c628650804620ca2b6 (diff) |
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'modules/user/helpers/user_event.php')
-rw-r--r-- | modules/user/helpers/user_event.php | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/modules/user/helpers/user_event.php b/modules/user/helpers/user_event.php index 6515fbfb..ede4e515 100644 --- a/modules/user/helpers/user_event.php +++ b/modules/user/helpers/user_event.php @@ -23,10 +23,30 @@ class user_event_Core { */ static function gallery_ready() { user::load_user(); + self::set_request_locale(); + } + + static function admin_menu($menu, $theme) { + $menu->add_after("appearance_menu", + Menu::factory("link") + ->id("users_groups") + ->label(t("Users/Groups")) + ->url(url::site("admin/users"))); + } - $locale = user::active()->locale; - if (!empty($locale)) { - // TODO(andy_st): Check session data as well. + static function set_request_locale() { + // 1. Check the session specific preference (cookie) + $locale = user::cookie_locale(); + // 2. Check the user's preference + if (!$locale) { + $locale = user::active()->locale; + } + // 3. Check the browser's / OS' preference + if (!$locale) { + $locale = locales::locale_from_http_request(); + } + // If we have any preference, override the site's default locale + if ($locale) { I18n::instance()->locale($locale); } } |