You are here

function theme_user_relationships_pending_requests_page in User Relationships 5.3

Same name and namespace in other branches
  1. 5 user_relationships_theme.inc \theme_user_relationships_pending_requests_page()
  2. 5.2 user_relationships_theme.inc \theme_user_relationships_pending_requests_page()

List of pending requests from other users

File

user_relationships_ui/user_relationships_ui.theme.inc, line 78

Code

function theme_user_relationships_pending_requests_page($uid = NULL) {
  global $user;
  if (!$uid) {
    $account =& $user;
  }
  else {
    if (!(is_numeric($uid) && $uid > 0 && ($account = user_load(array(
      'uid' => $uid,
    ))))) {
      drupal_not_found();
      exit;
    }
  }
  drupal_set_title(t("%username's pending relationships", array(
    '%username' => $account->name,
  )));
  $relationships_per_page = variable_get('user_relationships_relationships_per_page', 16);
  foreach (array(
    array(
      0,
      'requester_id',
      t('Sent Requests'),
    ),
    array(
      1,
      'requestee_id',
      t('Received Requests'),
    ),
  ) as $list_args) {
    $query = _user_relationships_generate_query(array(
      $list_args[1] => $account->uid,
      'approved' => FALSE,
    ));
    if ($relationships_per_page = variable_get('user_relationships_relationships_per_page', 16)) {
      $result = pager_query($query['query'], $relationships_per_page, $list_args[0], $query['count'], $query['arguments']);
    }
    else {
      $result = db_query($query['query'], $query['arguments']);
    }
    if (db_num_rows($result)) {
      $rows[] = array(
        array(
          'data' => $list_args[2],
          'header' => true,
          'colspan' => 2,
        ),
      );
      while ($relationship = db_fetch_object($result)) {
        if ($list_args[1] == 'requester_id') {
          $links = theme('user_relationships_pending_request_cancel_link', $account->uid, $relationship->rid);
        }
        else {
          $links = theme('user_relationships_pending_request_approve_link', $uid, $relationship->rid) . ' | ' . theme('user_relationships_pending_request_disapprove_link', $uid, $relationship->rid);
        }
        $related = user_load(array(
          'uid' => $relationship->requester_id == $account->uid ? $relationship->requestee_id : $relationship->requester_id,
        ));
        $rows[] = array(
          t('!username is a @relationship', array(
            '!username' => theme('username', $related),
            '@relationship' => $relationship->name,
          )),
          $links,
        );
      }
      $output .= theme('table', array(), $rows);
      if ($relationships_per_page) {
        $output .= theme('pager', NULL, $relationships_per_page, $list_args[0]);
      }
      unset($rows);
    }
  }
  if ($output == '') {
    $output = t('No pending relationships found');
  }
  return $output;
}