You are here

function user_relationships_rules_action_create_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_create_relationship()

Action Implementation: Create relationship.

File

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

Code

function user_relationships_rules_action_create_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'],
  );
  $existing = user_relationships_load($args);
  if (empty($existing)) {
    user_relationships_request_relationship($args['requester_id'], $args['requestee_id'], $args['rtid'], $settings['approve']);
  }
  elseif ($settings['approve']) {
    $relationship = reset($existing);
    user_relationships_save_relationship($relationship, 'approve');
  }
}