Revision 417
Added by doc almost 18 years ago
class.wb.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// $Id$ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2007, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
/* |
|
27 |
|
|
28 |
wb class |
|
29 |
|
|
30 |
This class is the basis for admin and frontend classes. |
|
31 |
|
|
32 |
*/ |
|
33 |
|
|
34 |
// Include PHPLIB template class |
|
35 |
require_once(WB_PATH."/include/phplib/template.inc"); |
|
36 |
|
|
37 |
require_once(WB_PATH.'/framework/class.database.php'); |
|
38 |
|
|
39 |
// Include new wbmailer class (subclass of PHPmailer) |
|
40 |
require_once(WB_PATH."/framework/class.wbmailer.php"); |
|
41 |
|
|
42 |
class wb |
|
43 |
{ |
|
44 |
// General initialization function |
|
45 |
// performed when frontend or backend is loaded. |
|
46 |
function wb() { |
|
47 |
} |
|
48 |
|
|
49 |
// Check whether we should show a page or not (for front-end) |
|
50 |
function show_page($page) { |
|
51 |
// First check if the page is set to private |
|
52 |
if($page['visibility'] == 'private' OR $page['visibility'] == 'registered') { |
|
53 |
// Check if the user is logged in |
|
54 |
if($this->is_authenticated() == true) { |
|
55 |
// Now check if the user has perms to view it |
|
56 |
$viewing_groups = explode(',', $page['viewing_groups']); |
|
57 |
$viewing_users = explode(',', $page['viewing_users']); |
|
58 |
if(is_numeric(array_search($this->get_group_id(), $viewing_groups)) OR is_numeric(array_search($this->get_user_id(), $viewing_users))) { |
|
59 |
return true; |
|
60 |
} else { |
|
61 |
return false; |
|
62 |
} |
|
63 |
} else { |
|
64 |
return false; |
|
65 |
} |
|
66 |
} elseif($page['visibility'] == 'public') { |
|
67 |
return true; |
|
68 |
} else { |
|
69 |
return false; |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
// Check if the user is already authenticated or not |
|
74 |
function is_authenticated() { |
|
75 |
if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID'])) { |
|
76 |
return true; |
|
77 |
} else { |
|
78 |
return false; |
|
79 |
} |
|
80 |
} |
|
81 |
// Modified addslashes function which takes into account magic_quotes |
|
82 |
function add_slashes($input) { |
|
83 |
if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) { |
|
84 |
return $input; |
|
85 |
} |
|
86 |
$output = addslashes($input); |
|
87 |
return $output; |
|
88 |
} |
|
89 |
|
|
90 |
// Ditto for stripslashes |
|
91 |
function strip_slashes($input) { |
|
92 |
if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) { |
|
93 |
return $input; |
|
94 |
} |
|
95 |
$output = stripslashes($input); |
|
96 |
return $output; |
|
97 |
} |
|
98 |
|
|
99 |
// Escape backslashes for use with mySQL LIKE strings |
|
100 |
function escape_backslashes($input) { |
|
101 |
return str_replace("\\","\\\\",$input); |
|
102 |
} |
|
103 |
|
|
104 |
function page_link($link){ |
|
105 |
// Check for :// in the link (used in URL's) as well as mailto: |
|
106 |
if(strstr($link, '://') == '' AND substr($link, 0, 7) != 'mailto:') { |
|
107 |
return WB_URL.PAGES_DIRECTORY.$link.PAGE_EXTENSION; |
|
108 |
} else { |
|
109 |
return $link; |
|
110 |
} |
|
111 |
} |
|
112 |
|
|
113 |
// Get POST data |
|
114 |
function get_post($field) { |
|
115 |
if(isset($_POST[$field])) { |
|
116 |
return $_POST[$field]; |
|
117 |
} else { |
|
118 |
return null; |
|
119 |
} |
|
120 |
} |
|
121 |
|
|
122 |
// Get POST data and escape it |
|
123 |
function get_post_escaped($field) { |
|
124 |
$result = $this->get_post($field); |
|
125 |
return (is_null($result)) ? null : $this->add_slashes($result); |
|
126 |
} |
|
127 |
|
|
128 |
// Get GET data |
|
129 |
function get_get($field) { |
|
130 |
if(isset($_GET[$field])) { |
|
131 |
return $_GET[$field]; |
|
132 |
} else { |
|
133 |
return null; |
|
134 |
} |
|
135 |
} |
|
136 |
|
|
137 |
// Get SESSION data |
|
138 |
function get_session($field) { |
|
139 |
if(isset($_SESSION[$field])) { |
|
140 |
return $_SESSION[$field]; |
|
141 |
} else { |
|
142 |
return null; |
|
143 |
} |
|
144 |
} |
|
145 |
|
|
146 |
// Get SERVER data |
|
147 |
function get_server($field) { |
|
148 |
if(isset($_SERVER[$field])) { |
|
149 |
return $_SERVER[$field]; |
|
150 |
} else { |
|
151 |
return null; |
|
152 |
} |
|
153 |
} |
|
154 |
|
|
155 |
// Get the current users id |
|
156 |
function get_user_id() { |
|
157 |
return $_SESSION['USER_ID']; |
|
158 |
} |
|
159 |
|
|
160 |
// Get the current users group id |
|
161 |
function get_group_id() { |
|
162 |
return $_SESSION['GROUP_ID']; |
|
163 |
} |
|
164 |
|
|
165 |
// Get the current users group name |
|
166 |
function get_group_name() { |
|
167 |
return $_SESSION['GROUP_NAME']; |
|
168 |
} |
|
169 |
|
|
170 |
// Get the current users username |
|
171 |
function get_username() { |
|
172 |
return $_SESSION['USERNAME']; |
|
173 |
} |
|
174 |
|
|
175 |
// Get the current users display name |
|
176 |
function get_display_name() { |
|
177 |
return ($_SESSION['DISPLAY_NAME']); |
|
178 |
} |
|
179 |
|
|
180 |
// Get the current users email address |
|
181 |
function get_email() { |
|
182 |
return $_SESSION['EMAIL']; |
|
183 |
} |
|
184 |
|
|
185 |
// Get the current users home folder |
|
186 |
function get_home_folder() { |
|
187 |
return $_SESSION['HOME_FOLDER']; |
|
188 |
} |
|
189 |
|
|
190 |
// Get the current users timezone |
|
191 |
function get_timezone() { |
|
192 |
if(!isset($_SESSION['USE_DEFAULT_TIMEZONE'])) { |
|
193 |
return $_SESSION['TIMEZONE']; |
|
194 |
} else { |
|
195 |
return '-72000'; |
|
196 |
} |
|
197 |
} |
|
198 |
|
|
199 |
// Validate supplied email address |
|
200 |
function validate_email($email) { |
|
201 |
if(eregi("^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$", $email)) { |
|
202 |
return true; |
|
203 |
} else { |
|
204 |
return false; |
|
205 |
} |
|
206 |
} |
|
207 |
|
|
208 |
// Print a success message which then automatically redirects the user to another page |
|
209 |
function print_success($message, $redirect = 'index.php') { |
|
210 |
global $TEXT; |
|
211 |
$success_template = new Template(ADMIN_PATH.'/interface'); |
|
212 |
$success_template->set_file('page', 'success.html'); |
|
213 |
$success_template->set_block('page', 'main_block', 'main'); |
|
214 |
$success_template->set_var('MESSAGE', $message); |
|
215 |
$success_template->set_var('REDIRECT', $redirect); |
|
216 |
$success_template->set_var('NEXT', $TEXT['NEXT']); |
|
217 |
$success_template->parse('main', 'main_block', false); |
|
218 |
$success_template->pparse('output', 'page'); |
|
219 |
} |
|
220 |
|
|
221 |
// Print an error message |
|
222 |
function print_error($message, $link = 'index.php', $auto_footer = true) { |
|
223 |
global $TEXT; |
|
224 |
$success_template = new Template(ADMIN_PATH.'/interface'); |
|
225 |
$success_template->set_file('page', 'error.html'); |
|
226 |
$success_template->set_block('page', 'main_block', 'main'); |
|
227 |
$success_template->set_var('MESSAGE', $message); |
|
228 |
$success_template->set_var('LINK', $link); |
|
229 |
$success_template->set_var('BACK', $TEXT['BACK']); |
|
230 |
$success_template->parse('main', 'main_block', false); |
|
231 |
$success_template->pparse('output', 'page'); |
|
232 |
if($auto_footer == true) { |
|
233 |
$this->print_footer(); |
|
234 |
} |
|
235 |
exit(); |
|
236 |
} |
|
237 |
|
|
238 |
// Validate send email |
|
239 |
function mail($fromaddress, $toaddress, $subject, $message) { |
|
240 |
$fromaddress = preg_replace('/[\r\n]/', '', $fromaddress); |
|
241 |
$toaddress = preg_replace('/[\r\n]/', '', $toaddress); |
|
242 |
$subject = preg_replace('/[\r\n]/', '', $subject); |
|
243 |
$message = preg_replace('/[\r\n]/', '<br \>', $message); |
|
244 |
|
|
245 |
/* |
|
246 |
SOME SERVICE PROVIDERS DO NOT SUPPORT SENDING MAIL VIA PHP AS IT DOES NOT PROVIDE SMTP AUTHENTICATION |
|
247 |
NEW WBMAILER CLASS IS ABLE TO SEND OUT MESSAGES USING SMTP WHICH RESOLVE THESE ISSUE |
|
248 |
|
|
249 |
NOTE: |
|
250 |
To use SMTP for sending out mails, you have to specify the SMTP host of your domain |
|
251 |
via the variable "WBMAILER_SMTP_HOST" in the "config.php" file |
|
252 |
If variable is not defined, the WBMAILER class uses the PHP mail() function per default |
|
253 |
|
|
254 |
the mail header is automatically created by PHPMailer and therefore commented out |
|
255 |
UPDATE INTRODUCED BY DOC (C. SOMMER, 22. October 2006) |
|
256 |
*/ |
|
257 |
|
|
258 |
/* |
|
259 |
if ($fromaddress=='') { |
|
260 |
$fromaddress = SERVER_EMAIL; |
|
261 |
} |
|
262 |
|
|
263 |
if(defined('DEFAULT_CHARSET')) { |
|
264 |
$charset = DEFAULT_CHARSET; |
|
265 |
} else { |
|
266 |
$charset='utf-8'; |
|
267 |
} |
|
268 |
|
|
269 |
$headers = "MIME-Version: 1.0\n"; |
|
270 |
$headers .= "Content-type: text/plain; charset=".$charset."\n"; |
|
271 |
$headers .= "X-Priority: 3\n"; |
|
272 |
$headers .= "X-MSMail-Priority: Normal\n"; |
|
273 |
$headers .= "X-Mailer: Website Baker\n"; |
|
274 |
$headers .= "From: ".$fromaddress."\n"; |
|
275 |
$headers .= "Return-Path: ".$fromaddress."\n"; |
|
276 |
$headers .= "Reply-To: ".$fromaddress."\n"; |
|
277 |
$headers .= "\n"; // extra empty line needed?? |
|
278 |
|
|
279 |
if (OPERATING_SYSTEM=='windows') { |
|
280 |
//str_replace("\n","\r\n",$headers); |
|
281 |
str_replace("\n","\r\n",$message); |
|
282 |
} |
|
283 |
|
|
284 |
if(mail($toaddress, $subject, $message, $headers)) { |
|
285 |
return true; |
|
286 |
} else { |
|
287 |
return false; |
|
288 |
} |
|
289 |
*/ |
|
290 |
|
|
291 |
// create PHPMailer object and define default settings |
|
292 |
$myMail = new wbmailer(); |
|
293 |
|
|
294 |
// set user defined from address |
|
295 |
if ($fromaddress!='') { |
|
296 |
$myMail->From = $fromaddress; // FROM: |
|
297 |
$myMail->AddReplyTo($fromaddress); // REPLY TO: |
|
298 |
} |
|
299 |
|
|
300 |
// define recepient and information to send out |
|
301 |
$myMail->AddAddress($toaddress); // TO: |
|
302 |
$myMail->Subject = $subject; // SUBJECT |
|
303 |
$myMail->Body = $message; // CONTENT (HTML) |
|
304 |
$myMail->AltBody = strip_tags($message); // CONTENT (TEXT) |
|
305 |
|
|
306 |
// check if there are any send mail errors, otherwise say successful |
|
307 |
if (!$myMail->Send()) { |
|
308 |
return false; |
|
309 |
} else { |
|
310 |
return true; |
|
311 |
} |
|
312 |
} |
|
313 |
|
|
314 |
} |
|
1 |
<?php |
|
2 |
|
|
3 |
// $Id$ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2007, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
/* |
|
27 |
|
|
28 |
wb class |
|
29 |
|
|
30 |
This class is the basis for admin and frontend classes. |
|
31 |
|
|
32 |
*/ |
|
33 |
|
|
34 |
// Include PHPLIB template class |
|
35 |
require_once(WB_PATH."/include/phplib/template.inc"); |
|
36 |
|
|
37 |
require_once(WB_PATH.'/framework/class.database.php'); |
|
38 |
|
|
39 |
// Include new wbmailer class (subclass of PHPmailer) |
|
40 |
require_once(WB_PATH."/framework/class.wbmailer.php"); |
|
41 |
|
|
42 |
class wb |
|
43 |
{ |
|
44 |
// General initialization function |
|
45 |
// performed when frontend or backend is loaded. |
|
46 |
function wb() { |
|
47 |
} |
|
48 |
|
|
49 |
// Check whether we should show a page or not (for front-end) |
|
50 |
function show_page($page) { |
|
51 |
// First check if the page is set to private |
|
52 |
if($page['visibility'] == 'private' OR $page['visibility'] == 'registered') { |
|
53 |
// Check if the user is logged in |
|
54 |
if($this->is_authenticated() == true) { |
|
55 |
// Now check if the user has perms to view it |
|
56 |
$viewing_groups = explode(',', $page['viewing_groups']); |
|
57 |
$viewing_users = explode(',', $page['viewing_users']); |
|
58 |
if(is_numeric(array_search($this->get_group_id(), $viewing_groups)) OR is_numeric(array_search($this->get_user_id(), $viewing_users))) { |
|
59 |
return true; |
|
60 |
} else { |
|
61 |
return false; |
|
62 |
} |
|
63 |
} else { |
|
64 |
return false; |
|
65 |
} |
|
66 |
} elseif($page['visibility'] == 'public') { |
|
67 |
return true; |
|
68 |
} else { |
|
69 |
return false; |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
// Check if the user is already authenticated or not |
|
74 |
function is_authenticated() { |
|
75 |
if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID'])) { |
|
76 |
return true; |
|
77 |
} else { |
|
78 |
return false; |
|
79 |
} |
|
80 |
} |
|
81 |
// Modified addslashes function which takes into account magic_quotes |
|
82 |
function add_slashes($input) { |
|
83 |
if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) { |
|
84 |
return $input; |
|
85 |
} |
|
86 |
$output = addslashes($input); |
|
87 |
return $output; |
|
88 |
} |
|
89 |
|
|
90 |
// Ditto for stripslashes |
|
91 |
function strip_slashes($input) { |
|
92 |
if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) { |
|
93 |
return $input; |
|
94 |
} |
|
95 |
$output = stripslashes($input); |
|
96 |
return $output; |
|
97 |
} |
|
98 |
|
|
99 |
// Escape backslashes for use with mySQL LIKE strings |
|
100 |
function escape_backslashes($input) { |
|
101 |
return str_replace("\\","\\\\",$input); |
|
102 |
} |
|
103 |
|
|
104 |
function page_link($link){ |
|
105 |
// Check for :// in the link (used in URL's) as well as mailto: |
|
106 |
if(strstr($link, '://') == '' AND substr($link, 0, 7) != 'mailto:') { |
|
107 |
return WB_URL.PAGES_DIRECTORY.$link.PAGE_EXTENSION; |
|
108 |
} else { |
|
109 |
return $link; |
|
110 |
} |
|
111 |
} |
|
112 |
|
|
113 |
// Get POST data |
|
114 |
function get_post($field) { |
|
115 |
if(isset($_POST[$field])) { |
|
116 |
return $_POST[$field]; |
|
117 |
} else { |
|
118 |
return null; |
|
119 |
} |
|
120 |
} |
|
121 |
|
|
122 |
// Get POST data and escape it |
|
123 |
function get_post_escaped($field) { |
|
124 |
$result = $this->get_post($field); |
|
125 |
return (is_null($result)) ? null : $this->add_slashes($result); |
|
126 |
} |
|
127 |
|
|
128 |
// Get GET data |
|
129 |
function get_get($field) { |
|
130 |
if(isset($_GET[$field])) { |
|
131 |
return $_GET[$field]; |
|
132 |
} else { |
|
133 |
return null; |
|
134 |
} |
|
135 |
} |
|
136 |
|
|
137 |
// Get SESSION data |
|
138 |
function get_session($field) { |
|
139 |
if(isset($_SESSION[$field])) { |
|
140 |
return $_SESSION[$field]; |
|
141 |
} else { |
|
142 |
return null; |
|
143 |
} |
|
144 |
} |
|
145 |
|
|
146 |
// Get SERVER data |
|
147 |
function get_server($field) { |
|
148 |
if(isset($_SERVER[$field])) { |
|
149 |
return $_SERVER[$field]; |
|
150 |
} else { |
|
151 |
return null; |
|
152 |
} |
|
153 |
} |
|
154 |
|
|
155 |
// Get the current users id |
|
156 |
function get_user_id() { |
|
157 |
return $_SESSION['USER_ID']; |
|
158 |
} |
|
159 |
|
|
160 |
// Get the current users group id |
|
161 |
function get_group_id() { |
|
162 |
return $_SESSION['GROUP_ID']; |
|
163 |
} |
|
164 |
|
|
165 |
// Get the current users group name |
|
166 |
function get_group_name() { |
|
167 |
return $_SESSION['GROUP_NAME']; |
|
168 |
} |
|
169 |
|
|
170 |
// Get the current users username |
|
171 |
function get_username() { |
|
172 |
return $_SESSION['USERNAME']; |
|
173 |
} |
|
174 |
|
|
175 |
// Get the current users display name |
|
176 |
function get_display_name() { |
|
177 |
return ($_SESSION['DISPLAY_NAME']); |
|
178 |
} |
|
179 |
|
|
180 |
// Get the current users email address |
|
181 |
function get_email() { |
|
182 |
return $_SESSION['EMAIL']; |
|
183 |
} |
|
184 |
|
|
185 |
// Get the current users home folder |
|
186 |
function get_home_folder() { |
|
187 |
return $_SESSION['HOME_FOLDER']; |
|
188 |
} |
|
189 |
|
|
190 |
// Get the current users timezone |
|
191 |
function get_timezone() { |
|
192 |
if(!isset($_SESSION['USE_DEFAULT_TIMEZONE'])) { |
|
193 |
return $_SESSION['TIMEZONE']; |
|
194 |
} else { |
|
195 |
return '-72000'; |
|
196 |
} |
|
197 |
} |
|
198 |
|
|
199 |
// Validate supplied email address |
|
200 |
function validate_email($email) { |
|
201 |
if(eregi("^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$", $email)) { |
|
202 |
return true; |
|
203 |
} else { |
|
204 |
return false; |
|
205 |
} |
|
206 |
} |
|
207 |
|
|
208 |
// Print a success message which then automatically redirects the user to another page |
|
209 |
function print_success($message, $redirect = 'index.php') { |
|
210 |
global $TEXT; |
|
211 |
$success_template = new Template(ADMIN_PATH.'/interface'); |
|
212 |
$success_template->set_file('page', 'success.html'); |
|
213 |
$success_template->set_block('page', 'main_block', 'main'); |
|
214 |
$success_template->set_var('MESSAGE', $message); |
|
215 |
$success_template->set_var('REDIRECT', $redirect); |
|
216 |
$success_template->set_var('NEXT', $TEXT['NEXT']); |
|
217 |
$success_template->parse('main', 'main_block', false); |
|
218 |
$success_template->pparse('output', 'page'); |
|
219 |
} |
|
220 |
|
|
221 |
// Print an error message |
|
222 |
function print_error($message, $link = 'index.php', $auto_footer = true) { |
|
223 |
global $TEXT; |
|
224 |
$success_template = new Template(ADMIN_PATH.'/interface'); |
|
225 |
$success_template->set_file('page', 'error.html'); |
|
226 |
$success_template->set_block('page', 'main_block', 'main'); |
|
227 |
$success_template->set_var('MESSAGE', $message); |
|
228 |
$success_template->set_var('LINK', $link); |
|
229 |
$success_template->set_var('BACK', $TEXT['BACK']); |
|
230 |
$success_template->parse('main', 'main_block', false); |
|
231 |
$success_template->pparse('output', 'page'); |
|
232 |
if($auto_footer == true) { |
|
233 |
$this->print_footer(); |
|
234 |
} |
|
235 |
exit(); |
|
236 |
} |
|
237 |
|
|
238 |
// Validate send email |
|
239 |
function mail($fromaddress, $toaddress, $subject, $message) { |
|
240 |
/* |
|
241 |
INTEGRATED OPEN SOURCE PHPMAILER CLASS FOR SMTP SUPPORT AND MORE |
|
242 |
SOME SERVICE PROVIDERS DO NOT SUPPORT SENDING MAIL VIA PHP AS IT DOES NOT PROVIDE SMTP AUTHENTICATION |
|
243 |
NEW WBMAILER CLASS IS ABLE TO SEND OUT MESSAGES USING SMTP WHICH RESOLVE THESE ISSUE (C. Sommer) |
|
244 |
|
|
245 |
NOTE: |
|
246 |
To use SMTP for sending out mails, you have to specify the SMTP host of your domain |
|
247 |
via the Settings panel in the backend of Website Baker |
|
248 |
*/ |
|
249 |
|
|
250 |
$fromaddress = preg_replace('/[\r\n]/', '', $fromaddress); |
|
251 |
$toaddress = preg_replace('/[\r\n]/', '', $toaddress); |
|
252 |
$subject = preg_replace('/[\r\n]/', '', $subject); |
|
253 |
$message = preg_replace('/[\r\n]/', '<br \>', $message); |
|
254 |
|
|
255 |
// create PHPMailer object and define default settings |
|
256 |
$myMail = new wbmailer(); |
|
257 |
|
|
258 |
// set user defined from address |
|
259 |
if ($fromaddress!='') { |
|
260 |
$myMail->From = $fromaddress; // FROM: |
|
261 |
$myMail->AddReplyTo($fromaddress); // REPLY TO: |
|
262 |
} |
|
263 |
|
|
264 |
// define recepient and information to send out |
|
265 |
$myMail->AddAddress($toaddress); // TO: |
|
266 |
$myMail->Subject = $subject; // SUBJECT |
|
267 |
$myMail->Body = $message; // CONTENT (HTML) |
|
268 |
$myMail->AltBody = strip_tags($message); // CONTENT (TEXT) |
|
269 |
|
|
270 |
// check if there are any send mail errors, otherwise say successful |
|
271 |
if (!$myMail->Send()) { |
|
272 |
return false; |
|
273 |
} else { |
|
274 |
return true; |
|
275 |
} |
|
276 |
} |
|
277 |
|
|
278 |
} |
|
315 | 279 |
?> |
Also available in: Unified diff
Updated some core files to allow the configuration of PHPMailer via the admin settings panel instead of config.php. PHPMailer related settings are now stored in the Website Baker database. The following settings can be configured:
SMTP-host, SMTP-authentification , SMTP-password and SMTP-username.