public function OaEmail::deliver in Open Atrium Core 7.2
Override parent deliver() function.
Overrides MessageNotifierEmail::deliver
File
- modules/
oa_messages/ plugins/ message_notify/ notifier/ oa_email/ OaEmail.class.php, line 19 - Provides a message notifier that extends the default's email capabilities with some Open Atrium specific additions.
Class
- OaEmail
- Email notifier.
Code
public function deliver(array $output = array()) {
$plugin = $this->plugin;
$message = $this->message;
$options = $plugin['options'];
$account = user_load($message->uid);
$mail = !empty($options['mail']) ? $options['mail'] : $account->mail;
$languages = language_list();
if (!$options['language override']) {
$lang = !empty($account->language) && $account->language != LANGUAGE_NONE ? $languages[$account->language] : language_default();
}
else {
$lang = $languages[$message->language];
}
// The subject in an email can't be with HTML, so strip it.
$output['message_notify_email_subject'] = strip_tags($output['message_notify_email_subject']);
// Allow for overriding the 'from' of the message.
$from = isset($options['from']) ? $options['from'] : NULL;
$from_account = !empty($message->user->uid) ? user_load($message->user->uid) : $account;
$mimemail_name = variable_get('mimemail_name', t('Atrium'));
$from = array(
'name' => oa_core_realname($from_account) . ' (' . $mimemail_name . ')',
'mail' => is_array($from) ? $from['mail'] : $from,
);
// Pass the message entity along to hook_drupal_mail().
$output['message_entity'] = $message;
if (!empty($message->email_attachments)) {
$output['attachments'] = isset($output['attachments']) ? $output['attachments'] : array();
$output['attachments'] = array_merge($message->email_attachments, $output['attachments']);
}
return drupal_mail('message_notify', $message->type, $mail, $lang, $output, $from);
}