function user_relationship_mailer_send_email in User Relationships 5.2
Same name and namespace in other branches
- 5 plugins/user_relationship_mailer/user_relationship_mailer.module \user_relationship_mailer_send_email()
- 6 user_relationship_mailer/user_relationship_mailer.module \user_relationship_mailer_send_email()
- 7 user_relationship_mailer/user_relationship_mailer.module \user_relationship_mailer_send_email()
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_mailer_send_email()
- user_relationship_mailer_user_relationships in plugins/
user_relationship_mailer/ user_relationship_mailer.module - hook_user_relationships()
File
- plugins/
user_relationship_mailer/ user_relationship_mailer.module, line 19
Code
function user_relationship_mailer_send_email($op, $relationship) {
if ($op == 'request' && $relationship->approved || !variable_get("user_relationship_mailer_send_{$op}", TRUE)) {
return;
}
$relationship->requester = $requester = user_load(array(
'uid' => $relationship->requester_id,
));
$relationship->requestee = $requestee = user_load(array(
'uid' => $relationship->requestee_id,
));
$send_to_requestee = isset($requestee->user_relationship_mailer_send_mail) ? $requestee->user_relationship_mailer_send_mail : TRUE;
$send_to_requester = isset($requester->user_relationship_mailer_send_mail) ? $requester->user_relationship_mailer_send_mail : TRUE;
$send_to = array();
switch ($op) {
case 'request':
case 'cancel':
$send_email = $send_to_requestee;
$send_to[] = array(
'address' => $requestee->mail,
'name' => $requestee->name,
);
break;
case 'approve':
case 'disapprove':
$send_email = $send_to_requester;
$send_to[] = array(
'address' => $requester->mail,
'name' => $requester->name,
);
break;
case 'remove':
$send_email = $send_to_requestee && $send_to_requester;
$send_to[] = array(
'address' => $requester->mail,
'uid' => $requester->uid,
'name' => $requester->name,
);
if (!$relationship->is_oneway) {
$send_to[] = array(
'address' => $requestee->mail,
'uid' => $requestee->uid,
'name' => $requestee->name,
);
}
break;
default:
return;
}
$send_email = variable_get('user_relationship_mailer_send_mail', FALSE) ? $send_email : variable_get("user_relationship_mailer_send_{$op}", TRUE);
// sending email has been turned off
if (!$send_email) {
return;
}
$relationship = user_relationships_load($relationship->rid);
$relationship->requester = $requester;
$relationship->requestee = $requestee;
foreach ($send_to as $target) {
$replacements = user_relationship_mailer_replacements($relationship);
if ($op == 'remove') {
$replacements['@profile_uid'] = $target['uid'];
}
$message_function = "user_relationship_mailer_{$op}_default";
$subject = t(variable_get("user_relationship_mailer_{$op}_subject", constant(strtoupper("user_relationship_mailer_{$op}_subject"))), $replacements);
$message = t(variable_get("user_relationship_mailer_{$op}_message", $message_function()), $replacements);
$site_mail = variable_get('site_mail', '');
if (!strlen($site_mail)) {
if (user_access('administer nodes')) {
drupal_set_message(t('You should create an administrator mail address for your site! <a href="!url">Do it here</a>.', array(
'!url' => url('admin/settings/site-information'),
)), 'error');
}
$site_mail = 'nobody@localhost';
}
$replacements = array(
'%type' => $op,
'%username' => $target['name'],
);
if (drupal_mail("user_relationship_mailer_user_{$op}", $target['address'], $subject, $message, $site_mail)) {
watchdog('u_relationship', t('%type message was sent to %username', $replacements));
}
else {
watchdog('u_relationship', t('There was a problem sending the %type message to %username', $replacements), WATCHDOG_WARNING);
}
}
}