You are here

function user_relationships_rules_action_delete_relationship in User Relationships 7

Same name and namespace in other branches
  1. 6 user_relationships_rules/user_relationships_rules.rules.inc \user_relationships_rules_action_delete_relationship()

Action Implementation: Delete relationship.

File

user_relationships_rules/user_relationships_rules.rules.inc, line 186
Rules integration for the system module

Code

function user_relationships_rules_action_delete_relationship($settings) {
  $args = array(
    'requester_id' => $settings['requester'] instanceof EntityDrupalWrapper ? $settings['requester']
      ->getIdentifier() : $settings['requester']->uid,
    'requestee_id' => $settings['requestee'] instanceof EntityDrupalWrapper ? $settings['requestee']
      ->getIdentifier() : $settings['requestee']->uid,
    'rtid' => $settings['relationship_type'],
  );

  // Finding rid - this method can probably be made better.
  $existing = user_relationships_load($args);
  if ($relationship = reset($existing)) {
    $deleted_by = $settings['requester'] instanceof EntityDrupalWrapper ? user_load($settings['requester']
      ->getIdentifier()) : $settings['requester'];
    user_relationships_delete_relationship($relationship, $deleted_by, 'remove');
  }
}