diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-10-03 01:15:34 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-10-03 01:15:34 +0000 |
commit | 8ec40cc27a72e3dec43d80432a3250af7c03aed3 (patch) | |
tree | fcc37f6506cc2e8c511399584a899c40c70e0772 /modules/user/user.module | |
parent | 69e9e3e3a2c2d52a149914565fa451ed967280e1 (diff) | |
download | brdo-8ec40cc27a72e3dec43d80432a3250af7c03aed3.tar.gz brdo-8ec40cc27a72e3dec43d80432a3250af7c03aed3.tar.bz2 |
- Patch #922824 by plach: no way to specify the language to view entities in.
Diffstat (limited to 'modules/user/user.module')
-rw-r--r-- | modules/user/user.module | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/modules/user/user.module b/modules/user/user.module index 53172a83c..e5b9fa26f 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -2389,13 +2389,20 @@ function user_view_page($uid) { * A user object. * @param $view_mode * View mode, e.g. 'full'. + * @param $langcode + * (optional) A language code to use for rendering. Defaults to the global + * content language of the current request. * * @return * An array as expected by drupal_render(). */ -function user_view($account, $view_mode = 'full') { +function user_view($account, $view_mode = 'full', $langcode = NULL) { + if (!isset($langcode)) { + $langcode = $GLOBALS['language_content']->language; + } + // Retrieve all profile fields and attach to $account->content. - user_build_content($account, $view_mode); + user_build_content($account, $view_mode, $langcode); $build = $account->content; // We don't need duplicate rendering info in account->content. @@ -2405,6 +2412,7 @@ function user_view($account, $view_mode = 'full') { '#theme' => 'user_profile', '#account' => $account, '#view_mode' => $view_mode, + '#language' => $langcode, ); // Allow modules to modify the structured user. @@ -2420,18 +2428,25 @@ function user_view($account, $view_mode = 'full') { * A user object. * @param $view_mode * View mode, e.g. 'full'. + * @param $langcode + * (optional) A language code to use for rendering. Defaults to the global + * content language of the current request. */ -function user_build_content($account, $view_mode = 'full') { +function user_build_content($account, $view_mode = 'full', $langcode = NULL) { + if (!isset($langcode)) { + $langcode = $GLOBALS['language_content']->language; + } + // Remove previously built content, if exists. $account->content = array(); // Build fields content. field_attach_prepare_view('user', array($account->uid => $account), $view_mode); entity_prepare_view('user', array($account->uid => $account)); - $account->content += field_attach_view('user', $account, $view_mode); + $account->content += field_attach_view('user', $account, $view_mode, $langcode); // Populate $account->content with a render() array. - module_invoke_all('user_view', $account, $view_mode); + module_invoke_all('user_view', $account, $view_mode, $langcode); } /** |