You are here

function user_relationship_privatemsg_send in User Relationships 5.2

Sends mail to the appropriate user

Parameters

$op: string of action to take [request|delete|cancel|approve|disapprove|remove]

$relationship: object of the relationship

1 call to user_relationship_privatemsg_send()
user_relationship_privatemsg_user_relationships in plugins/user_relationship_privatemsg/user_relationship_privatemsg.module
hook_user_relationships()

File

plugins/user_relationship_privatemsg/user_relationship_privatemsg.module, line 19

Code

function user_relationship_privatemsg_send($op, $relationship) {
  if ($op == 'request' && $relationship->approved || !variable_get("user_relationship_privatemsg_send_{$op}", TRUE)) {
    return;
  }
  !$relationship->requester ? $relationship->requester = user_load(array(
    'uid' => $relationship->requester_id,
  )) : NULL;
  !$relationship->requestee ? $relationship->requestee = user_load(array(
    'uid' => $relationship->requestee_id,
  )) : NULL;
  $requester = $relationship->requester;
  $requestee = $relationship->requestee;
  $send_to = array();
  switch ($op) {
    case 'request':
    case 'cancel':
      $message_to[] = $requestee;
      break;
    case 'approve':
    case 'disapprove':
      $message_to[] = $requester;
      break;
    case 'remove':
      $message_to[] = $requester;
      if (!$relationship->is_oneway) {
        $message_to[] = $requestee;
      }
      break;
    default:
      return;
  }
  $sender = user_load(array(
    'uid' => variable_get('user_relationship_privatemsg_sender', 1),
  ));
  foreach ($message_to as $target) {

    // This prevents possible "You cannot contact" messages from the Privatemsg module
    if ($sender->uid == $target->uid) {
      continue;
    }
    $replacements = user_relationship_privatemsg_replacements($relationship);
    if ($op == 'remove') {
      $replacements['@profile_uid'] = $target->uid;
    }
    $message_function = "user_relationship_privatemsg_{$op}_default";
    $subject = t(variable_get("user_relationship_privatemsg_{$op}_subject", constant(strtoupper("user_relationship_privatemsg_{$op}_subject"))), $replacements);
    $message = t(variable_get("user_relationship_privatemsg_{$op}_message", $message_function()), $replacements);
    _privatemsg_send($sender, $target, $subject, $message, FILTER_FORMAT_DEFAULT, 0, 'user-relationship-notification');
  }
}