Project

General

Profile

« Previous | Next » 

Revision 1573

Added by Dietmar over 12 years ago

+ add automatically generated e-mail language form variable
! send confirmation mail with details to superadmin from SERVER_EMAIL
! send confirmation mail without details to sender from SERVER_EMAIL

View differences:

view.php
27 27
// load module language file
28 28
$lang = (dirname(__FILE__)) . '/languages/' . LANGUAGE . '.php';
29 29
require_once(!file_exists($lang) ? (dirname(__FILE__)) . '/languages/EN.php' : $lang );
30

  
31
include_once(WB_PATH .'/framework/functions.php');
30 32
/*
31 33
function removebreaks($value) {
32 34
	return trim(preg_replace('=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i', null, $value));
......
35 37
	return $value === removebreaks($value);
36 38
}
37 39
*/
40

  
41
if (!function_exists('emailAdmin')) {
42
	function emailAdmin() {
43
		global $database,$admin;
44
        $retval = $admin->get_email();
45
        if($admin->get_user_id()!='1') {
46
			$sql  = 'SELECT `email` FROM `'.TABLE_PREFIX.'users` ';
47
			$sql .= 'WHERE `user_id`=\'1\' ';
48
	        $retval = $database->get_one($sql);
49

  
50
        }
51
		return $retval;
52
	}
53
}
54

  
38 55
// Function for generating an optionsfor a select field
39 56
if (!function_exists('make_option')) {
40 57
	function make_option(&$n, $k, $values) {
......
268 285
			if($query_settings->numRows() > 0) {
269 286
				$fetch_settings = $query_settings->fetchRow(MYSQL_ASSOC);
270 287

  
271
				$email_to = $fetch_settings['email_to'];
288
				// $email_to = $fetch_settings['email_to'];
289
				$email_to = (($fetch_settings['email_to'] != '') ? $fetch_settings['email_to'] : emailAdmin());
272 290
				$email_from = $fetch_settings['email_from'];
273 291
				if(substr($email_from, 0, 5) == 'field') {
274 292
					// Set the email from field to what the user entered in the specified field
......
279 297
					// Set the email_fromname to field to what the user entered in the specified field
280 298
					$email_fromname = htmlspecialchars($wb->add_slashes($_POST[$email_fromname]));
281 299
				}
282
				$email_subject = $fetch_settings['email_subject'];
300
				$email_subject = (($fetch_settings['email_subject'] != '') ? $fetch_settings['email_subject'] : $MOD_FORM['EMAIL_SUBJECT']);
283 301
				$success_page = $fetch_settings['success_page'];
284
				$success_email_to = $fetch_settings['success_email_to'];
302
				$success_email_to = (($fetch_settings['success_email_to'] != '') ? $fetch_settings['success_email_to'] : '');
285 303
				if(substr($success_email_to, 0, 5) == 'field') {
286 304
					// Set the success_email to field to what the user entered in the specified field
287 305
					$success_email_to = htmlspecialchars($wb->add_slashes($_POST[$success_email_to]));
......
290 308
				$success_email_fromname = $fetch_settings['success_email_fromname'];
291 309
				$success_email_text = htmlspecialchars($wb->add_slashes($fetch_settings['success_email_text']));
292 310
				$success_email_text = (($success_email_text != '') ? $success_email_text : $MOD_FORM['SUCCESS_EMAIL_TEXT']);
293
				$success_email_subject = $fetch_settings['success_email_subject'];
311
				$success_email_subject = (($fetch_settings['success_email_subject'] != '') ? $fetch_settings['success_email_subject'] : $MOD_FORM['SUCCESS_EMAIL_SUBJECT']);
294 312
				$max_submissions = $fetch_settings['max_submissions'];
295 313
				$stored_submissions = $fetch_settings['stored_submissions'];
296 314
				$use_captcha = $fetch_settings['use_captcha'];
......
306 324
		// Captcha
307 325
		if($use_captcha) {
308 326
			if(isset($_POST['captcha']) AND $_POST['captcha'] != ''){
309
				// Check for a mismatch
327
				// Check for a mismatch get email user_id
310 328
				if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) {
311
					$captcha_error = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
329
					$replace = array('webmaster_email' => emailAdmin() );
330
					$captcha_error = replace_vars($MOD_FORM['INCORRECT_CAPTCHA'], array('webmaster_email'=>emailAdmin()));
312 331
				}
313 332
			} else {
314
				$captcha_error = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
333
				$replace = array('webmaster_email'=>emailAdmin() );
334
				$captcha_error = replace_vars($MOD_FORM['INCORRECT_CAPTCHA'],$replace );
315 335
			}
316 336
		}
317 337
		if(isset($_SESSION['captcha'])) { unset($_SESSION['captcha']); }
......
334 354
								$_SESSION['field'.$field['field_id']] = str_replace(array("[[", "]]"), array("&#91;&#91;", "&#93;&#93;"), htmlspecialchars($_POST['field'.$field['field_id']]));
335 355
							}
336 356
							if($field['type'] == 'email' AND $admin->validate_email($_POST['field'.$field['field_id']]) == false) {
337
								$email_error = $MESSAGE['USERS']['INVALID_EMAIL'];
357
								$email_error = $MESSAGE['USERS_INVALID_EMAIL'];
338 358
							}
339 359
							if($field['type'] == 'heading') {
340 360
								$email_body .= $_POST['field'.$field['field_id']]."\n\n";
......
401 421
					} else {
402 422
						// Adding the IP to the body and try to send the email
403 423
						// $email_body .= "\n\nIP: ".$_SERVER['REMOTE_ADDR'];
424

  
404 425
						$recipient = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $email_fromname );
405 426
						$email_fromname = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $recipient );
406 427
						$email_body = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $email_body );
407 428
						if($email_to != '') {
408 429
							if($email_from != '') {
409
								if($wb->mail($email_from,$email_to,$email_subject,$email_body,$email_fromname)) {
430
								if($wb->mail(SERVER_EMAIL,$email_to,$email_subject,$email_body,$email_fromname)) {
410 431
									$success = true;
411 432
								}
412 433
							} else {
......
421 442
						$success_email_text = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $success_email_text );
422 443
						if($success_email_to != '') {
423 444
							if($success_email_from != '') {
424
								if($wb->mail($success_email_from,$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
445
								if($wb->mail($success_email_from,$success_email_to,$success_email_subject,($success_email_text).$MOD_FORM['SUCCESS_EMAIL_TEXT_GENERATED'],$success_email_fromname)) {
425 446
									$success = true;
426 447
								}
427 448
							} else {
428
								if($wb->mail('',$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
449
								if($wb->mail('',$success_email_to,$success_email_subject,($success_email_text).$MOD_FORM['SUCCESS_EMAIL_TEXT_GENERATED'],$success_email_fromname)) {
429 450
									$success = true;
430 451
								}
431 452
							}
......
478 499
	// Now check if the email was sent successfully
479 500
	if(isset($success) AND $success == true) {
480 501
	   if ($success_page=='none') {
481
			echo str_replace("\n","<br />",$success_email_text);
502
			echo str_replace("\n","<br />",($success_email_text));
503
				echo '<p>&nbsp;</p>'.PHP_EOL.'<p><a href="'.htmlspecialchars(strip_tags($_SERVER['SCRIPT_NAME'])).'">'.$TEXT['BACK'].'</a></p>'.PHP_EOL;
482 504
  		} else {
483 505
			$query_menu = $database->query("SELECT link,target FROM ".TABLE_PREFIX."pages WHERE `page_id` = '$success_page'");
484 506
			if($query_menu->numRows() > 0) {

Also available in: Unified diff