function theme_user_relationships_page in User Relationships 5.3
Same name and namespace in other branches
- 5 user_relationships_theme.inc \theme_user_relationships_page()
- 5.2 user_relationships_theme.inc \theme_user_relationships_page()
Categorized list of relationships for a given user
File
- user_relationships_ui/
user_relationships_ui.theme.inc, line 10
Code
function theme_user_relationships_page($uid = NULL, $rtid = NULL) {
global $user;
if (empty($uid) || $uid == $user->uid) {
$viewed_user =& $user;
}
else {
$viewed_user = user_load(array(
'uid' => $uid,
));
}
// Check that the uid is valid, not the anonymous user, and the user exists
if ($viewed_user->uid == 0) {
drupal_not_found();
exit;
}
$args = array(
'user' => $viewed_user->uid,
'approved' => TRUE,
);
if (isset($rtid) && is_numeric($rtid)) {
$relationship_type = user_relationships_type_load($rtid);
$args['rtid'] = $rtid;
}
// To Page or not to Page
$query = _user_relationships_generate_query($args);
if ($relationships_per_page = variable_get('user_relationships_relationships_per_page', 16)) {
$result = pager_query($query['query'], $relationships_per_page, 0, $query['count'], $query['arguments']);
}
else {
$result = db_query($query['query'], $query['arguments']);
}
if (db_num_rows($result)) {
$edit_access = $user->uid == $viewed_user->uid && user_access('maintain relationships') || user_access('administer users');
$online_interval = time() - variable_get('user_block_seconds_online', 180);
while ($relation = db_fetch_object($result)) {
$this_user = $viewed_user->uid == $relation->requestee_id ? 'requester_id' : 'requestee_id';
$this_user = user_load(array(
'uid' => $relation->{$this_user},
));
$rows[] = array(
theme('username', $this_user),
$relation->name,
$this_user->access > $online_interval ? t('online') : t('not online'),
$edit_access ? theme('user_relationships_remove_link', $viewed_user->uid, $relation) : ' ',
);
}
$output .= theme('table', array(), $rows) . theme('pager', NULL, $relationships_per_page);
}
else {
$output .= t('No relationships found');
}
$msg = $relationship_type ? "%username's %relationships" : "All %username's relationships";
drupal_set_title(t($msg, array(
'%username' => $viewed_user->name,
'%relationships' => $relationship_type->plural_name ? $relationship_type->plural_name : $relationship_type->name,
)));
return $output;
}