Same name and namespace in other branches
  1. 4.6.x modules/user.module \theme_user_profile()
  2. 4.7.x modules/user.module \theme_user_profile()
  3. 6.x developer/theme.php \theme_user_profile()

Theme a user page

Parameters

$account the user object:

$fields a multidimensional array for the fields, in the form of array (: 'category1' => array(item_array1, item_array2), 'category2' => array(item_array3, .. etc.). Item arrays are formatted as array(array('title' => 'item title', 'value' => 'item value', 'class' => 'class-name'), ... etc.). Module names are incorporated into the CSS class.

Related topics

1 theme call to theme_user_profile()
user_view in modules/user/user.module

File

modules/user/user.module, line 664
Enables the user registration and login system.

Code

function theme_user_profile($account, $fields) {
  $output = '<div class="profile">';
  $output .= theme('user_picture', $account);
  foreach ($fields as $category => $items) {
    if (strlen($category) > 0) {
      $output .= '<h2 class="title">' . check_plain($category) . '</h2>';
    }
    $output .= '<dl>';
    foreach ($items as $item) {
      if (isset($item['title'])) {
        $output .= '<dt class="' . $item['class'] . '">' . $item['title'] . '</dt>';
      }
      $output .= '<dd class="' . $item['class'] . '">' . $item['value'] . '</dd>';
    }
    $output .= '</dl>';
  }
  $output .= '</div>';
  return $output;
}