recipient in toIndividual() can be a string

This commit is contained in:
Uwe Steinmann 2017-03-10 09:27:50 +01:00
parent 2fca40953d
commit d61e77cd35

View File

@ -69,10 +69,14 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
* @return false or -1 in case of error, otherwise true * @return false or -1 in case of error, otherwise true
*/ */
function toIndividual($sender, $recipient, $subject, $message, $params=array()) { /* {{{ */ function toIndividual($sender, $recipient, $subject, $message, $params=array()) { /* {{{ */
if ($recipient->isDisabled() || $recipient->getEmail()=="") return 0; if(is_object($recipient) && !strcasecmp(get_class($recipient), $this->_dms->getClassname('user')) && !$recipient->isDisabled() && $recipient->getEmail()!="") {
$to = $recipient->getEmail();
if(!is_object($recipient) || strcasecmp(get_class($recipient), $this->_dms->getClassname('user'))) { $lang = $recipient->getLanguage();
return -1; } elseif(is_string($recipient) && trim($recipient) != "") {
$to = $recipient;
$lang = 'en_GB';
} else {
return false;
} }
if(is_object($sender) && !strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) { if(is_object($sender) && !strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) {
@ -83,14 +87,13 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
$from = $this->from_address; $from = $this->from_address;
} }
$lang = $recipient->getLanguage();
$message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang); $message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang);
$message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang); $message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang);
$headers = array (); $headers = array ();
$headers['From'] = $from; $headers['From'] = $from;
$headers['To'] = $recipient->getEmail(); $headers['To'] = $to;
$preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8"); $preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8");
$encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, "", $lang), $preferences); $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, "", $lang), $preferences);
$headers['Subject'] = substr($encoded_subject, strlen('Subject: ')); $headers['Subject'] = substr($encoded_subject, strlen('Subject: '));
@ -113,7 +116,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
$mail = Mail::factory('mail', $mail_params); $mail = Mail::factory('mail', $mail_params);
} }
$result = $mail->send($recipient->getEmail(), $headers, $message); $result = $mail->send($to, $headers, $message);
if (PEAR::isError($result)) { if (PEAR::isError($result)) {
return false; return false;
} else { } else {