| 5 theme.inc | theme_username($object) |
| 6 theme.inc | theme_username( |
| 7 theme.inc | theme_username($variables) |
| 8 user.module | theme_username($variables) |
Format a username.
Parameters
$object: The user object to format, usually returned from user_load().
Return value
A string containing an HTML link to the user's page if the passed object suggests that this is a site user. Otherwise, only the username is returned.
Related topics
29 theme calls to theme_username()
File
- includes/
theme.inc, line 1676 - The theme system, which controls the output of Drupal.
Code
function theme_username($object) {
if ($object->uid && $object->name) {
// Shorten the name when it is too long or it will break many tables.
if (drupal_strlen($object->name) > 20) {
$name = drupal_substr($object->name, 0, 15) . '...';
}
else {
$name = $object->name;
}
if (user_access('access user profiles')) {
$output = l($name, 'user/' . $object->uid, array('attributes' => array('title' => t('View user profile.'))));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
// Sometimes modules display content composed by people who are
// not registered members of the site (e.g. mailing list or news
// aggregator modules). This clause enables modules to display
// the true author of the content.
if (!empty($object->homepage)) {
$output = l($object->name, $object->homepage, array('attributes' => array('rel' => 'nofollow')));
}
else {
$output = check_plain($object->name);
}
$output .= ' (' . t('not verified') . ')';
}
else {
$output = check_plain(variable_get('anonymous', t('Anonymous')));
}
return $output;
}
Login or register to post comments
Comments
$object is not always user
If you want to override this function, remember that template_preprocess_node calls this theme hook, passing it a node object, not a user object. So not all passed objects will have 'name' or 'mail' properties. This is a tiny issue except I was storing my themed usernames in a static variable, it cause problems elsewhere.