Commit 58939e1ffeae1828efb0bb9195ea516f47a30a75

Authored by Michael Joseph
1 parent 776b9b6c

#3500 refactored email code to use either a single email address or an array of them


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2804 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 31 additions and 23 deletions
lib/email/Email.inc
... ... @@ -49,7 +49,7 @@ class Email {
49 49 $this->oMailer->WordWrap = 100;
50 50 $this->oMailer->IsHTML(true);
51 51 }
52   -
  52 +
53 53 /**
54 54 * Sends an email to a specified recipient.
55 55 *
... ... @@ -60,34 +60,42 @@ class Email {
60 60 * @param string the sender's name (optional)
61 61 * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]
62 62 */
63   - function send($sToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") {
  63 + function send($mToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") {
64 64 global $default, $lang_err_email;
65 65  
66   - if (strlen($sToEmail) > 0) {
67   - // set defaults for optional params
68   - $sFromEmail = ((strlen($sFromEmail) == 0) || ($sFromEmail == "")) ? $default->system->get("emailFrom") : $sFromEmail;
69   - $sFromName = ((strlen($sFromName) == 0) || ($sFromName == "")) ? $default->system->get("emailFromName") : $sFromName;
70   -
71   - // set optional params
72   - if ((strlen($sFromEmail) > 0) && ($sFromEmail != "")) {
73   - $this->oMailer->From = $sFromEmail;
74   - }
75   - if ((strlen($sFromName) > 0) && ($sFromName != "")) {
76   - $this->oMailer->FromName = $sFromName;
77   - }
78   -
79   - // if there are multiple addresses (; separated)
  66 + // set defaults for optional params
  67 + $sFromEmail = ((strlen($sFromEmail) == 0) || ($sFromEmail == "")) ? $default->system->get("emailFrom") : $sFromEmail;
  68 + $sFromName = ((strlen($sFromName) == 0) || ($sFromName == "")) ? $default->system->get("emailFromName") : $sFromName;
  69 +
  70 + // set optional params
  71 + if ((strlen($sFromEmail) > 0) && ($sFromEmail != "")) {
  72 + $this->oMailer->From = $sFromEmail;
  73 + }
  74 + if ((strlen($sFromName) > 0) && ($sFromName != "")) {
  75 + $this->oMailer->FromName = $sFromName;
  76 + }
  77 +
  78 + if ( (is_string($mToEmail) && (strlen($mToEmail) > 0)) ||
  79 + (is_array($mToEmail) && (count($mToEmail) > 0)) ) {
  80 +
80 81 $aEmailAddresses = array();
81   - if (strpos($sToEmail, ";") > 0) {
82   - // explode them
83   - $aEmailAddresses = explode(";", $sToEmail);
  82 + // just one email address, add it
  83 + if (is_string($mToEmail) && (strpos($mToEmail, ";") === false)) {
  84 + $this->oMailer->AddAddress($mToEmail);
  85 + } else {
  86 + // if we're passed an array, then use it
  87 + if (is_array($mToEmail)) {
  88 + $aEmailAddresses = $mToEmail;
  89 + // if there are multiple addresses (; separated), explode it
  90 + } elseif (strpos($mToEmail, ";") > 0) {
  91 + $aEmailAddresses = explode(";", $mToEmail);
  92 + }
84 93 for ($i=0; $i<count($aEmailAddresses); $i++) {
85 94 $this->oMailer->AddAddress($aEmailAddresses[$i]);
86   - $default->log->info("Email.inc adding " . $aEmailAddresses[$i]);
  95 + $default->log->debug("Email.inc adding " . $aEmailAddresses[$i]);
87 96 }
88   - } else {
89   - $this->oMailer->AddAddress($sToEmail);
90 97 }
  98 +
91 99 $this->oMailer->Subject = stripslashes($sSubject);
92 100 $this->oMailer->Body = stripslashes($sBody);
93 101  
... ... @@ -98,7 +106,7 @@ class Email {
98 106 }
99 107 return true;
100 108 } else {
101   - // no valid email address supplied
  109 + // no valid email addresses supplied
102 110 return false;
103 111 }
104 112 }
... ...