You are here

function user_relationships_ui_get_table_row in User Relationships 7

Builds a table row array from a relationship.

Parameters

$relationship: Relationship object.

$account: User account object for which the relationship is being displayed.

Return value

Array with the table row content.

See also

hok_user_relationships_ui_table_row_alter()

2 calls to user_relationships_ui_get_table_row()
user_relationships_page in user_relationships_ui/user_relationships_ui.pages.inc
Main list of relationships for a specified user
user_relationships_pending_requests_page in user_relationships_ui/user_relationships_ui.pages.inc
List of pending requests from other users

File

user_relationships_ui/user_relationships_ui.pages.inc, line 169
Various user relationships admin and user pages

Code

function user_relationships_ui_get_table_row($relationship, $account) {
  global $user;
  $this_user_str = $account->uid == $relationship->requestee_id ? 'requester' : 'requestee';
  $this_user = $relationship->{$this_user_str};
  $row = array(
    theme('username', array(
      'account' => $this_user,
    )),
    check_plain(user_relationships_type_get_name($relationship, FALSE, $relationship->is_oneway && $this_user_str == 'requester')),
  );
  $permission = $account->uid == $relationship->requestee_id ? 'request' : 'approve';
  $links = array();
  if ($relationship->approved) {
    if (user_relationships_ui_check_access('delete', $account, $relationship)) {
      $links[] = theme('user_relationships_remove_link', array(
        'uid' => $account->uid,
        'rid' => $relationship->rid,
      ));
    }
  }
  elseif (user_relationships_ui_check_access($permission, $account, $relationship)) {
    if ($this_user_str == 'requestee') {

      // Sent requests, display cancel link.
      $links[] = theme('user_relationships_pending_request_cancel_link', array(
        'uid' => $account->uid,
        'rid' => $relationship->rid,
      ));
    }
    else {

      // Received requests, display approve and decline links.
      $links[] = theme('user_relationships_pending_request_approve_link', array(
        'uid' => $account->uid,
        'rid' => $relationship->rid,
      ));
      $links[] = theme('user_relationships_pending_request_disapprove_link', array(
        'uid' => $account->uid,
        'rid' => $relationship->rid,
      ));
    }
  }
  if (!empty($links)) {
    $row[] = implode(' ', $links);
  }
  if (variable_get('user_relationships_show_user_pictures', 0)) {
    array_unshift($row, theme('user_picture', array(
      'account' => $this_user,
    )));
  }
  drupal_alter('user_relationships_ui_table_row', $row, $relationship, $account);
  return $row;
}