diff --git a/inc/mail.php b/inc/mail.php index b677c2b38a3cdce1288a4ee5c1baf68a038f058a..d908c009c7c8b6694a0ef2dba747a58c60ee6d6d 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -34,11 +34,27 @@ * @see mail() */ function mail_send($to, $subject, $body, $from='', $cc='', $bcc='', $headers=null, $params=null){ + $message = compact('to','subject','body','from','cc','bcc','headers','params'); - trigger_event('MAIL_MESSAGE_SEND',$message,'_mail_send'); + return trigger_event('MAIL_MESSAGE_SEND',$message,'_mail_send_action'); } -function _mail_send($to, $subject, $body, $from='', $cc='', $bcc='', $headers=null, $params=null){ +function _mail_send_action($data) { + + // retrieve parameters from event data, $to, $subject, $body, $from, $cc, $bcc, $headers, $params + $to = $data['to']; + $subject = $data['subject']; + $body = $data['body']; + + // add robustness in case plugin removes any of these optional values + $from = isset($data['from']) ? $data['from'] : ''; + $cc = isset($data['cc']) ? $data['cc'] : ''; + $bcc = isset($data['bcc']) ? $data['bcc'] : ''; + $headers = isset($data['headers']) ? $data['headers'] : null; + $params = isset($data['params']) ? $data['params'] : null; + + // end additional code to support event ... original mail_send() code from here + if(defined('MAILHEADER_ASCIIONLY')){ $subject = utf8_deaccent($subject); $subject = utf8_strip($subject);