Commit 9f2e3358cf3e6e2b97ccfd6ae89833f6dc57969c

Authored by michael
1 parent 171b5561

reformatted, added the phpmailer class to the object, added a constructor that i…

…nitialises with the defaults, and a send method that only takes the necessary params as mandatory


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@813 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 150 additions and 125 deletions
lib/email/Email.inc
1 <?php 1 <?php
2 -  
3 -  
4 /** 2 /**
5 -*  
6 -* Class Email  
7 -*  
8 -* Contains static functions concerned with sending emails  
9 -*  
10 -* @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
11 -* @date 19 January 2003  
12 -* @package lib.email  
13 -*/ 3 + * $Id$
  4 + *
  5 + * Contains static functions concerned with sending emails
  6 + *
  7 + * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
  8 + * @version $Revision$
  9 + * @package lib.email
  10 + */
  11 +class Email {
  12 +
  13 + /**
  14 + * The underlying emailer class
  15 + */
  16 + var $oMailer;
  17 +
  18 + /**
  19 + * Creates an email class, initialising the underlying mailer class
  20 + * with default system information
  21 + *
  22 + * @param string the sender's email address (optional)
  23 + * @param string the sender's name (optional)
  24 + */
  25 + function Email($sFromEmail = "", $sFromName = "") {
  26 + global $default;
  27 + // create a new phpmailer object.
  28 + $this->oMailer = new phpmailer();
  29 + $this->oMailer->isSMTP();
  30 + $this->oMailer->Host = $default->system->get("emailServer");
  31 + $this->oMailer->From = (strlen($sFromEmail) == 0) ? $default->system->get("emailFrom") : $sFromEmail;
  32 + $this->oMailer->FromName = (strlen($sFromName) == 0) ? $default->system->get("emailFromName") : $sFromName;
  33 + $this->oMailer->WordWrap = 100;
  34 + $this->oMailer->IsHTML(true);
  35 + }
  36 +
  37 + /**
  38 + * Sends an email to a specified recipient.
  39 + *
  40 + * @param string the sender's email address (optional)
  41 + * @param string the sender's name (optional)
  42 + * @param string the recipients email address
  43 + * @param string the subject of the email
  44 + * @param string the body of the email
  45 + * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]
  46 + */
  47 + function send($sToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") {
  48 + global $default, $lang_err_email;
  49 +
  50 + // set defaults for optional params
  51 + $sFromEmail = ((strlen($sFromEmail) == 0) || ($sFromEmail == "")) ? $default->system->get("emailFrom") : $sFromEmail;
  52 + $sFromName = ((strlen($sFromName) == 0) || ($sFromName == "")) ? $default->system->get("emailFromName") : $sFromName;
  53 +
  54 + // set optional params
  55 + if ((strlen($sFromEmail) > 0) && ($sFromEmail != "")) {
  56 + $this->oMailer->From = $sFromEmail;
  57 + }
  58 + if ((strlen($sFromName) > 0) && ($sFromName != "")) {
  59 + $this->oMailer->FromName = $sFromName;
  60 + }
  61 + $this->oMailer->AddAddress($sToEmail);
  62 + $this->oMailer->Subject = stripslashes($sSubject);
  63 + $this->oMailer->Body = stripslashes($sBody);
  64 +
  65 + //send the email
  66 + if(!$this->oMailer->Send()) {
  67 + $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;
  68 + return false;
  69 + }
  70 + return true;
  71 + }
  72 +
  73 + /**
  74 + * Sends an email containing a hyperlink to a specified recipient
  75 + *
  76 + * @param The sender's email address
  77 + * @param The sender's Name
  78 + * @param The recipients email address
  79 + * @param The subject heading for the email
  80 + * @param The Body of the email
  81 + * @param The hyperlink that should be sent
  82 + *
  83 + * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]
  84 + *
  85 + * @todo check for special characters (including encoding the link correctly???)
  86 + * @todo need to test this on multiple mail clients, not just Outlook
  87 + */
  88 + function sendHyperLink($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody, $hyperlink) {
  89 + global $default;
  90 +
  91 + //get info from relevant fields.
  92 + $this->oMailer->From = $FromEmail;
  93 + $this->oMailer->FromName = $FromName;
  94 + $this->oMailer->AddAddress($ToEmail);
  95 + $this->oMailer->Subject = stripslashes($Subj);
  96 + $this->oMailer->Body = stripslashes($EmailBody) . ' ' . $hyperlink;
  97 +
  98 + //send the email
  99 + if(!$this->oMailer->Send()) {
  100 + $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;
  101 + return false;
  102 + }
  103 + return true;
  104 + }
  105 + /**
  106 + * Sends an email ment for administration,
  107 + *
  108 + * @param The sender's email address
  109 + * @param The sender's Name
  110 + * @param The recipients email address
  111 + * @param The subject heading for the email
  112 + * @param The Body of the email
  113 + * @param The hyperlink that should be sent
  114 + *
  115 + * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]
  116 + *
  117 + * @todo check for special characters (including encoding the link correctly???)
  118 + * @todo need to test this on multiple mail clients, not just Outlook
  119 + */
  120 + function sendHelpEmail($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody, $hyperlink) {
  121 + global $default;
  122 +
  123 + //get info from relevant fields.
  124 + $this->oMailer->From = $FromEmail;
  125 + $this->oMailer->FromName = $FromName;
  126 + $this->oMailer->AddAddress($ToEmail);
  127 + $this->oMailer->Subject = stripslashes($Subj) . ' ' . $hyperlink; //only difference from above
  128 + $this->oMailer->Body = stripslashes($EmailBody) . " <br>This bug can be found on this page: " . "<a href = ". $hyperlink .">". $hyperlink ."</a>";
  129 +
  130 + //send the email
  131 + if(!$this->oMailer->Send()) {
  132 + $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;
  133 + return false;
  134 + }
  135 + return true;
  136 + }
  137 +
  138 + function sendEmail($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody) {
  139 + global $default;
14 140
15 -Class Email {  
16 - 141 + //get info from relevant fields.
  142 + $this->oMailer->From = $FromEmail;
  143 + $this->oMailer->FromName = $FromName;
  144 + $this->oMailer->AddAddress($ToEmail);
  145 + $this->oMailer->Subject = stripslashes($Subj);
  146 + $this->oMailer->Body = stripslashes($EmailBody);
17 147
18 - /**  
19 - * Sends an email containing a hyperlink to a specified recipient  
20 - *  
21 - * @param The sender's email address  
22 - * @param The sender's Name  
23 - * @param The recipients email address  
24 - * @param The subject heading for the email  
25 - * @param The Body of the email  
26 - * @param The hyperlink that should be sent  
27 - *  
28 - * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]  
29 - *  
30 - * @todo check for special characters (including encoding the link correctly???)  
31 - * @todo need to test this on multiple mail clients, not just Outlook  
32 - */  
33 - function sendHyperLink($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody, $hyperlink)  
34 - {  
35 - global $default;  
36 -  
37 - // create a new phpmailer object.  
38 - $emailHyperlink = new phpmailer();  
39 -  
40 - //set up info  
41 - $emailHyperlink->isSMTP();  
42 - $emailHyperlink->Host = $default->owl_email_server; // SMTP server  
43 -  
44 - //get info from relevant fields.  
45 - $emailHyperlink->From = $FromEmail;  
46 - $emailHyperlink->FromName = $FromName;  
47 - $emailHyperlink->AddAddress($ToEmail);  
48 - $emailHyperlink->Subject = stripslashes($Subj);  
49 - $emailHyperlink->Body = stripslashes($EmailBody) . ' ' . $hyperlink;  
50 - $emailHyperlink->WordWrap = 100;  
51 - $emailHyperlink->IsHTML(true);  
52 -  
53 - //send the email  
54 - if(!$emailHyperlink->Send()) {  
55 - $_SESSION["errorMessage"] = $lang_err_email . " " . $emailHyperlink->ErrorInfo;  
56 - return false;  
57 - }  
58 - return true;  
59 - }  
60 - /**  
61 - * Sends an email ment for administration,  
62 - *  
63 - * @param The sender's email address  
64 - * @param The sender's Name  
65 - * @param The recipients email address  
66 - * @param The subject heading for the email  
67 - * @param The Body of the email  
68 - * @param The hyperlink that should be sent  
69 - *  
70 - * @return boolean true on email successfully sent, false otherwise and set $_SESSION["errorMessage"]  
71 - *  
72 - * @todo check for special characters (including encoding the link correctly???)  
73 - * @todo need to test this on multiple mail clients, not just Outlook  
74 - */  
75 - function sendHelpEmail($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody, $hyperlink)  
76 - {  
77 - global $default;  
78 -  
79 - // create a new phpmailer object.  
80 - $emailHyperlink = new phpmailer();  
81 -  
82 - //set up info  
83 - $emailHyperlink->isSMTP();  
84 - $emailHyperlink->Host = $default->owl_email_server; // SMTP server  
85 -  
86 - //get info from relevant fields.  
87 - $emailHyperlink->From = $FromEmail;  
88 - $emailHyperlink->FromName = $FromName;  
89 - $emailHyperlink->AddAddress($ToEmail);  
90 - $emailHyperlink->Subject = stripslashes($Subj) . ' ' . $hyperlink; //only difference from above  
91 - $emailHyperlink->Body = stripslashes($EmailBody) . " <br>This bug can be found on this page: " . "<a href = ". $hyperlink .">". $hyperlink ."</a>";  
92 - $emailHyperlink->WordWrap = 80;  
93 - $emailHyperlink->IsHTML(true);  
94 -  
95 - //send the email  
96 - if(!$emailHyperlink->Send()) {  
97 - $_SESSION["errorMessage"] = $lang_err_email . " " . $emailHyperlink->ErrorInfo;  
98 - return false;  
99 - }  
100 - return true;  
101 - }  
102 -  
103 - function sendEmail($FromEmail, $FromName, $ToEmail, $Subj, $EmailBody)  
104 - {  
105 - global $default;  
106 -  
107 - // create a new phpmailer object.  
108 - $emailHyperlink = new phpmailer();  
109 -  
110 - //set up info  
111 - $emailHyperlink->isSMTP();  
112 - $emailHyperlink->Host = $default->owl_email_server; // SMTP server  
113 -  
114 - //get info from relevant fields.  
115 - $emailHyperlink->From = $FromEmail;  
116 - $emailHyperlink->FromName = $FromName;  
117 - $emailHyperlink->AddAddress($ToEmail);  
118 - $emailHyperlink->Subject = stripslashes($Subj);  
119 - $emailHyperlink->Body = stripslashes($EmailBody);  
120 - $emailHyperlink->WordWrap = 100;  
121 - $emailHyperlink->IsHTML(true);  
122 -  
123 - //send the email  
124 - if(!$emailHyperlink->Send()) {  
125 - $_SESSION["errorMessage"] = $lang_err_email;  
126 - return false;  
127 - }  
128 - return true;  
129 - } 148 + //send the email
  149 + if(!$this->oMailer->Send()) {
  150 + $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;
  151 + return false;
  152 + }
  153 + return true;
  154 + }
130 } 155 }
131 156
132 ?> 157 ?>