Commit 58939e1ffeae1828efb0bb9195ea516f47a30a75
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,7 +49,7 @@ class Email { | ||
| 49 | $this->oMailer->WordWrap = 100; | 49 | $this->oMailer->WordWrap = 100; |
| 50 | $this->oMailer->IsHTML(true); | 50 | $this->oMailer->IsHTML(true); |
| 51 | } | 51 | } |
| 52 | - | 52 | + |
| 53 | /** | 53 | /** |
| 54 | * Sends an email to a specified recipient. | 54 | * Sends an email to a specified recipient. |
| 55 | * | 55 | * |
| @@ -60,34 +60,42 @@ class Email { | @@ -60,34 +60,42 @@ class Email { | ||
| 60 | * @param string the sender's name (optional) | 60 | * @param string the sender's name (optional) |
| 61 | * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"] | 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 | global $default, $lang_err_email; | 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 | $aEmailAddresses = array(); | 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 | for ($i=0; $i<count($aEmailAddresses); $i++) { | 93 | for ($i=0; $i<count($aEmailAddresses); $i++) { |
| 85 | $this->oMailer->AddAddress($aEmailAddresses[$i]); | 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 | $this->oMailer->Subject = stripslashes($sSubject); | 99 | $this->oMailer->Subject = stripslashes($sSubject); |
| 92 | $this->oMailer->Body = stripslashes($sBody); | 100 | $this->oMailer->Body = stripslashes($sBody); |
| 93 | 101 | ||
| @@ -98,7 +106,7 @@ class Email { | @@ -98,7 +106,7 @@ class Email { | ||
| 98 | } | 106 | } |
| 99 | return true; | 107 | return true; |
| 100 | } else { | 108 | } else { |
| 101 | - // no valid email address supplied | 109 | + // no valid email addresses supplied |
| 102 | return false; | 110 | return false; |
| 103 | } | 111 | } |
| 104 | } | 112 | } |