You are here

function user_relationships_ui_request_form in User Relationships 6

Same name and namespace in other branches
  1. 5.3 user_relationships_ui/user_relationships_ui.forms.inc \user_relationships_ui_request_form()
  2. 7 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_alter in user_relationship_invites/user_relationship_invites.module
Implementation of 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_ui_get_requestable_rtypes($requester, $requestee);

  //try to find out desired relationship type
  if (isset($form_values['rtid'])) {

    //given through form
    $default_relationship = $form_values['rtid'];
  }
  elseif (is_numeric(arg(3)) && user_relationships_type_load(arg(3))) {

    //given through URL arguments, e.g. relationship/{uid}/request/{rtid}
    $default_relationship = arg(3);
  }
  elseif (count($relationships) == 1) {

    //preselect the only one.
    $rtids = array_keys($relationships);
    $default_relationship = $rtids[0];
  }

  //verify default relationship may be requested
  $default_relationship = $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('My relationship is'),
        '#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;
}