Index: modules/blog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/blog.module,v retrieving revision 1.226 diff -u -F^f -r1.226 blog.module --- modules/blog.module 7 Sep 2005 20:17:18 -0000 1.226 +++ modules/blog.module 14 Sep 2005 13:50:30 -0000 @@ -42,7 +42,7 @@ function blog_access($op, $node) { */ function blog_user($type, &$edit, &$user) { if ($type == 'view' && user_access('edit own blog', $user)) { - return array(t('History') => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name)))))); + return array(t('History') => array('blog' => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name))))))); } } Index: modules/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user.module,v retrieving revision 1.506 diff -u -F^f -r1.506 user.module --- modules/user.module 7 Sep 2005 20:56:00 -0000 1.506 +++ modules/user.module 14 Sep 2005 13:50:32 -0000 @@ -467,7 +467,7 @@ function user_search($op = 'search', $ke */ function user_user($type, &$edit, &$user, $category = NULL) { if ($type == 'view') { - return array(t('History') => form_item(t('Member for'), format_interval(time() - $user->created))); + return array(t('History') => array('history'=> form_item(t('Member for'), format_interval(time() - $user->created)))); } if ($type == 'form' && $category == 'account') { @@ -618,10 +618,21 @@ function theme_user_picture($account) { } } +/** + * Theme a user page + * @param $account the user object + * @param $fields an mulidimensional array for the fields, in the form of + * array('category1'=> array('name1' => field1, 'name2' => field2), + * 'category2'=> array('name3' => field3, 'name4' => field4, 'name5' => field5), + * .. etc); + * + * @ingroup themeable + */ function theme_user_profile($account, $fields) { $output = "
\n"; $output .= theme('user_picture', $account); foreach ($fields as $category => $value) { + $value = implode('', $value); $output .= theme('box', $category, $value); } $output .= "
\n"; @@ -1271,11 +1282,10 @@ function user_view($uid = 0) { foreach (module_list() as $module) { if ($data = module_invoke($module, 'user', 'view', '', $account)) { foreach ($data as $category => $content) { - $fields[$category] .= $content; + $fields[$category] = $content; } } } - drupal_set_title($account->name); return theme('user_profile', $account, $fields); } Index: modules/profile.module =================================================================== RCS file: /cvs/drupal/drupal/modules/profile.module,v retrieving revision 1.107 diff -u -F^f -r1.107 profile.module --- modules/profile.module 6 Sep 2005 20:39:10 -0000 1.107 +++ modules/profile.module 14 Sep 2005 13:50:33 -0000 @@ -297,7 +297,7 @@ function profile_view_profile($user) { if ($value = profile_view_field($user, $field)) { $description = ($field->visibility == PROFILE_PRIVATE) ? t('The content of this field is private and only visible to yourself.') : ''; $title = ($field->type != 'checkbox') ? check_plain($field->title) : ''; - $fields[$field->category] .= form_item($title, $value, $description); + $fields[$field->category][$field->name] = form_item($title, $value, $description); } }