function profile_user_view
7.x profile.module | profile_user_view($account) |
Implements hook_user_view().
File
- drupal-7.x/
modules/ profile/ profile.module, line 328 - Support for configurable user profiles.
Code
function profile_user_view($account) {
// Show private fields to administrators and people viewing their own account.
if (user_access('administer users') || $GLOBALS['user']->uid == $account->uid) {
$result = db_query('SELECT * FROM {profile_field} WHERE visibility <> :hidden ORDER BY category, weight', array(':hidden' => PROFILE_HIDDEN));
}
else {
$result = db_query('SELECT * FROM {profile_field} WHERE visibility <> :private AND visibility <> :hidden ORDER BY category, weight', array(':private' => PROFILE_PRIVATE, ':hidden' => PROFILE_HIDDEN));
}
$fields = array();
foreach ($result as $field) {
if ($value = profile_view_field($account, $field)) {
$title = ($field->type != 'checkbox') ? check_plain($field->title) : NULL;
// Create a single fieldset for each category.
if (!isset($account->content[$field->category])) {
$account->content[$field->category] = array(
'#type' => 'user_profile_category',
'#title' => $field->category,
);
}
$account->content[$field->category][$field->name] = array(
'#type' => 'user_profile_item',
'#title' => $title,
'#markup' => $value,
'#weight' => $field->weight,
'#attributes' => array('class' => array('profile-' . $field->name)),
);
}
}
}