function user_relationships_request in User Relationships 5.2
Same name and namespace in other branches
- 5 user_relationships_forms.inc \user_relationships_request()
Request a new relationship with another user
2 string references to 'user_relationships_request'
- user_relationships_menu in ./
user_relationships_hooks.inc - Menu
- user_relationship_direct_form_alter in plugins/
user_relationship_direct/ user_relationship_direct.module
File
- ./
user_relationships_forms.inc, line 197
Code
function user_relationships_request($requestee_id) {
global $user;
$requester = user_load(array(
'uid' => $user->uid,
));
$requestee = user_load(array(
'uid' => $requestee_id,
));
if (empty($requestee->name)) {
drupal_set_message(user_relationships_get_message('non_existant_user'));
}
else {
if (!user_access('can have relationship', $requestee)) {
drupal_set_message(user_relationships_get_message('not_accepting_requests'));
}
else {
if ($user->uid == $requestee_id) {
drupal_set_message(user_relationships_get_message('self_request'));
}
else {
$form = user_relationships_request_form($requester, $requestee);
if (!$form['rtid']['#options']) {
drupal_set_message(user_relationships_get_message('too_many_relationships'), 'error');
}
else {
if (sizeof($relations = user_relationships_types_load()) < 2) {
foreach ($relations as $relation) {
$rtid = $relation->rtid;
}
if (user_access('can have relationship', $requestee)) {
if ($current_relationships = user_relationships_load(array(
'between' => array(
$requester->uid,
$user->uid,
),
))) {
drupal_set_message(user_relationships_get_message('too_many_relationships'), 'error');
drupal_goto();
}
}
else {
drupal_set_message(user_relationships_get_message('not_accepting_requests'));
drupal_goto();
}
$relationship_type = user_relationships_type_load(array(
'rtid' => $rtid,
));
$relationship = user_relationships_request_relationship($user->uid, $requestee_id, $relationship_type);
if ($relationship === FALSE) {
drupal_set_message(user_relationships_get_message('unknown_error', $relationship));
}
$relationship->requester = $requester;
$relationship->requestee = $requestee;
$relationship->type = $relationship_type;
drupal_set_message(user_relationships_get_message($relationship->approved ? 'pre_approved' : 'submitted', $relationship));
drupal_goto(drupal_get_path_alias('user/' . $form_values['requestee']));
}
else {
$form = confirm_form($form, t('How do you relate to %name?', array(
'%name' => $requestee->name,
)), "user/{$requestee->uid}", '', t('Create'), t('Cancel'), 'user_relationships_request_confirm');
return $form;
}
}
}
}
}
drupal_goto();
}