function user_relationship_service_approve in User Relationships 7
Same name and namespace in other branches
- 5.2 plugins/user_relationship_service/user_relationship_service.module \user_relationship_service_approve()
- 6 user_relationship_service/user_relationship_service.inc \user_relationship_service_approve()
Approve a relationship.
Parameters
$data: An object containing the relationship items. The $data object should contain: -rid (relationship id to approve. [GET] {endpoint}/relationships/ or @see user_relationships_load())
Return value
The relationship object of the newly created relationship.
See also
user_relationships_save_relationship()
1 string reference to 'user_relationship_service_approve'
- _user_relationship_service_definition in user_relationship_service/
user_relationship_service.module
File
- user_relationship_service/
user_relationship_service.inc, line 84 - Link general user relationship functionalities to services module.
Code
function user_relationship_service_approve($data) {
if (!$data['rid']) {
return services_error(t('Missing required field "rid".'), 404);
}
// Maintain compability with original code.
$rid = $data['rid'];
// Start of Darren Ferguson's code.
try {
global $user;
$rels = user_relationships_load(array(
'rid' => $rid,
'requestee_id' => $user->uid,
'approved' => 0,
));
if (!$rels || !is_array($rels) || count($rels) != 1) {
throw new Exception("User relationship load failed");
}
$rel = array_shift($rels);
if ($rel->requestee_id != $user->uid) {
throw new Exception("Access denied");
}
user_relationships_save_relationship($rel, 'approve');
return $rel;
} catch (Exception $ex) {
return services_error(t('Error approving relationship: @msg', array(
'@msg' => $ex
->getMessage(),
)));
}
}