summaryrefslogtreecommitdiff
path: root/modules/user
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user')
-rw-r--r--modules/user/user-profile.tpl.php34
-rw-r--r--modules/user/user.pages.inc13
2 files changed, 11 insertions, 36 deletions
diff --git a/modules/user/user-profile.tpl.php b/modules/user/user-profile.tpl.php
index 809b4c0f7..56cc72996 100644
--- a/modules/user/user-profile.tpl.php
+++ b/modules/user/user-profile.tpl.php
@@ -8,27 +8,13 @@
* This template is used when viewing a registered member's profile page,
* e.g., example.com/user/123. 123 being the users ID.
*
- * By default, all user profile data is printed out with the $user_profile
- * variable. If there is a need to break it up you can use $profile instead.
- * It is keyed to the name of each category or other data attached to the
- * account. If it is a category it will contain all the profile items. By
- * default $profile['summary'] is provided which contains data on the user's
- * history. Other data can be included by modules. $profile['user_picture'] is
- * available by default showing the account picture.
- *
- * Also keep in mind that profile items and their categories can be defined by
- * site administrators. They are also available within $profile. For example,
- * if a site is configured with a category of "contact" with
- * fields for of addresses, phone numbers and other related info, then doing a
- * straight print of $profile['contact'] will output everything in the
- * category. This is useful for altering source order and adding custom
- * markup for the group.
- *
- * To check for all available data within $profile, use the code below.
- *
- * @code
- * print '<pre>'. check_plain(print_r($profile, 1)) .'</pre>';
- * @endcode
+ * Use render($user_profile) to print all profile items, or print a subset
+ * such as render($content['field_example']). Always call render($user_profile)
+ * at the end in order to print all remaining items. If the item is a category,
+ * it will contain all its profile items. By default, $user_profile['summary']
+ * is provided which contains data on the user's history. Other data can be
+ * included by modules. $user_profile['user_picture'] is available
+ * for showing the account picture.
*
* @see user-profile-category.tpl.php
* Where the html is handled for the group.
@@ -36,14 +22,12 @@
* Where the html is handled for each item in the group.
*
* Available variables:
- * - $user_profile: All user profile data. Ready for print.
- * - $profile: Keyed array of profile categories and their items or other data
- * provided by modules.
+ * - $user_profile: An array of profile items. Use render() to print them.
* - TODO D7 : document $FIELD_NAME_rendered variables.
*
* @see template_preprocess_user_profile()
*/
?>
<div class="profile">
- <?php print $user_profile; ?>
+ <?php print render($user_profile); ?>
</div>
diff --git a/modules/user/user.pages.inc b/modules/user/user.pages.inc
index 2547b7bc8..07ad31dce 100644
--- a/modules/user/user.pages.inc
+++ b/modules/user/user.pages.inc
@@ -185,20 +185,11 @@ function user_view($account) {
* The $variables array contains the following arguments:
* - $account
*
- * @see user-picture.tpl.php
+ * @see user-profile.tpl.php
*/
function template_preprocess_user_profile(&$variables) {
$account = $variables['elements']['#account'];
-
- $variables['profile'] = array();
- // Sort sections by weight
- uasort($account->content, 'element_sort');
- // Provide keyed variables so themers can print each section independently.
- foreach (element_children($account->content) as $key) {
- $variables['profile'][$key] = drupal_render($account->content[$key]);
- }
- // Collect all profiles to make it easier to print all items at once.
- $variables['user_profile'] = implode($variables['profile']);
+ $variables['user_profile'] = $account->content;
// Add $FIELD_NAME_rendered variables for fields.
$variables += field_attach_preprocess('user', $account);