diff --git a/feedback-submit.php b/feedback-submit.php --- a/feedback-submit.php +++ b/feedback-submit.php @@ -31,23 +31,30 @@ if ($use_captcha) $feedbackpage = page::page_create('Feedback'); $feedbackpage->head(); -$subject = '[SlatePermutate] - Feedback'; -?> -
Thanks for helping make SlatePermutate better. Your feedback is greatly appreciated.
' . PHP_EOL + . 'We will attempt to respond via email if your feedback lends itself to a response.
' . PHP_EOL; + $feedbackpage->foot(); + exit(); + } -Please do not include URLs in your submission! Please click "back" and try again.'; + $messages .= 'Please do not include URLs in your submission!
' . PHP_EOL; $reject = TRUE; } -if (empty($visitormail) || !preg_match('/^[^@]+@[^@]+\.[^@]+$/', $visitormail)) { - echo 'Please click "back" and enter valid e-mail address.
'; +if (empty($visitormail) || !preg_match('/^[^@]+@[^@]+\.[^@]+$/', $visitormail) + || !($visitormail = filter_var($visitormail, FILTER_VALIDATE_EMAIL))) + { + $messages .= 'Please enter a valid e-mail address.
' . PHP_EOL; $reject = TRUE; } if(empty($nameis) || empty($feedback) || empty($visitormail)) { - echo 'Please click "back" and fill in all fields.
'; + $messages .= 'You must fill in in all of the fields.
' . PHP_EOL; $reject = TRUE; } /** Check the captcha */ if ($use_captcha) { - if (!$securimage->check($_REQUEST['captcha_code'])) + if (empty($_REQUEST['captcha_code']) + || !$securimage->check($_REQUEST['captcha_code'])) { - echo 'Your captcha response was incorrect or expired. Please try again.
'; + $messages .= 'Your captcha response was incorrect or expired.
'; $reject = TRUE; } } +$success = FALSE; if (!$reject) { $feedback = stripcslashes($feedback); $message = gmdate('l, F j, Y, g:i a') ." -From: $nameis ($visitormail) +From: $nameis <$visitormai> School: $school ($school_id)\n Rating: $rating Feedback: $feedback @@ -102,7 +114,11 @@ saved_schedules = $saved_schedules /* $feedback_emails has its default set in inc/class.page.inc, can be set in config.inc */ foreach($feedback_emails as $toaddr) { - mail($toaddr, $subject, $message, $from); + $success = mail($toaddr, $subject, $message, $from); + if (!$success) + { + $messages .= 'This Slate Permutate installation is misconfigured and unable to send email. Please contact the administrator of this website using a more direct means if possible.
' . PHP_EOL; + } } if($feedback_disk_log) { @@ -110,7 +126,16 @@ saved_schedules = $saved_schedules fwrite($file, $message . "----------------------------------------\n"); fclose($file); } - echo 'Thanks for helping make SlatePermutate better. Your feedback is greatly appreciated.
'; - echo 'We will attempt to respond via email if your feedback lends itself to a response.
'; } - $feedbackpage->foot(); +if ($success) + page::redirect('feedback-submit.php?success'); +else + echo 'Consider the error messages, then ', '.
'); + +$feedbackpage->foot();