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 | 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 | } | ... | ... |