You are here

function user_relationships_ui_request_form in User Relationships 7

Same name and namespace in other branches
  1. 5.3 user_relationships_ui/user_relationships_ui.forms.inc \user_relationships_ui_request_form()
  2. 6 user_relationships_ui/user_relationships_ui.forms.inc \user_relationships_ui_request_form()

Request new user to user relationship

Parameters

$requester user object for the requesting user:

$requestee user object for the target user:

$form_values array $form['values'] when called from form_alter():

2 calls to user_relationships_ui_request_form()
user_relationships_ui_request in user_relationships_ui/user_relationships_ui.forms.inc
Request a new relationship with another user
user_relationship_invites_form_invite_form_alter in user_relationship_invites/user_relationship_invites.module
Implements hook_form_alter().

File

user_relationships_ui/user_relationships_ui.forms.inc, line 15

Code

function user_relationships_ui_request_form($requester, $requestee, $form_values = NULL) {
  $relationships = user_relationships_get_requestable_rtypes($requester, $requestee);

  // Try to find out desired relationship type.
  $default_relationship = NULL;

  // Given through form.
  if (isset($form_values['rtid'])) {
    $default_relationship = $form_values['rtid'];
  }
  elseif (is_numeric(arg(3)) && user_relationships_type_load(arg(3))) {
    $default_relationship = arg(3);
  }
  elseif (count($relationships) == 1) {
    $rtids = array_keys($relationships);
    $default_relationship = $rtids[0];
  }

  // Verify default relationship may be requested.
  $default_relationship = isset($relationships[$default_relationship]) ? $default_relationship : NULL;
  if (count($relationships)) {

    // Hide control if the relationship is chosen.
    if ($default_relationship && variable_get('user_relationships_show_direct_links', 1)) {
      $form['rtid'] = array(
        '#type' => 'hidden',
        '#default_value' => $default_relationship,
      );
    }
    else {
      $form['rtid'] = array(
        '#title' => t('What type of relationship are you requesting with !name?', array(
          '!name' => theme('username', array(
            'account' => $requestee,
          )),
        )),
        '#type' => 'radios',
        '#options' => $relationships,
        '#default_value' => $default_relationship,
      );
    }
  }
  $form['requester'] = array(
    '#type' => 'value',
    '#value' => $requester->uid,
  );
  $form['requestee'] = array(
    '#type' => 'value',
    '#value' => $requestee->uid,
  );
  return $form;
}