. */ include_once 'inc/class.page.php'; /* Make sure we start our own named session and to not let securimage create its own :-p */ page::session_start(); if ($use_captcha) { require_once 'securimage/securimage.php'; $securimage = new Securimage(); } $feedbackpage = page::page_create('Feedback'); $feedbackpage->head(); if (isset($_GET['success'])) { echo '

Thanks

' . PHP_EOL . '

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(); } $subject = '[SlatePermutate] - Feedback'; $ip = $_SERVER['REMOTE_ADDR']; $httpagent = $_SERVER['HTTP_USER_AGENT']; $user_supplied_params = array('fromdom', 'nameis', 'visitormail', 'school', 'feedback', 'rating', 'referrer'); foreach ($user_supplied_params as $var) { if (isset($_POST[$var])) ${$var} = $_POST[$var]; else /* Obviously, the user has not actually */ page::redirect('feedback.php'); } $school_id = isset($_SESSION['school']) ? $_SESSION['school'] : ''; $saved_schedules = array(); if (!empty($_SESSION['saved'])) foreach ($_SESSION['saved'] as $key => $val) $saved_schedules[] = $key; $saved_schedules = implode(', ', $saved_schedules); $reject = FALSE; $messages = ''; if (preg_match('/https?:/i', $feedback)) { $messages .= '

Please do not include URLs in your submission!

' . PHP_EOL; $reject = TRUE; } 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)) { $messages .= '

You must fill in in all of the fields.

' . PHP_EOL; $reject = TRUE; } /** Check the captcha */ if ($use_captcha) { if (empty($_REQUEST['captcha_code']) || !$securimage->check($_REQUEST['captcha_code'])) { $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 <$visitormai> School: $school ($school_id)\n Rating: $rating Feedback: $feedback \n IP = $ip Browser = $httpagent Deployment = $fromdom Referrer = $referrer saved_schedules = $saved_schedules "; $from = "From: $visitormail\r\n"; /* $feedback_emails has its default set in inc/class.page.inc, can be set in config.inc */ foreach($feedback_emails as $toaddr) { $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) { $file = fopen($feedback_disk_log_file,'a') or die("Can't open file."); fwrite($file, $message . "----------------------------------------\n"); fclose($file); } } if ($success) page::redirect('feedback-submit.php?success'); else echo '

Error

' . PHP_EOL . $messages; $repost = array(); foreach ($user_supplied_params as $user_supplied_param) $repost[$user_supplied_param] = $_POST[$user_supplied_param]; echo $feedbackpage->query_formbutton('feedback.php', $repost, $feedbackpage->entities('try again'), '

Consider the error messages, then ', '.

'); $feedbackpage->foot();