+++ /dev/null
-<?php
-$error = NULL;
-if ($_POST) {
- if (!empty($User)) {
- $_REQUEST['login'] = $User['name'];
- }
- $error = mailform($_REQUEST);
- if (!empty($error)) {
- print "<p class=warn>$error</p>\n\n";
- }
-}
-
-function mailform($input = [])
-{
- $source = empty($input['subject']) ? 'reactie' : $input['subject'];
- $rcpt = 'info@'.$_SERVER['HTTP_HOST'];
- $subject = "Formulier {$_SERVER['HTTP_HOST']}: $source";
-
- if (!$input) {
- return 'Geen gegevens ontvangen. Probeer het nog eens.';
- }
-
-switch ($source) {
- case 'bbq':
- if (empty($input['naam']) or empty($input['huis'])) {
- return 'De bedoeling is juist dat je opgeeft wie er komt.';
- }
- $rcpt .= ', Heleen <heleen.terlouw.2910@gmail.com>';
- break;
- default:
- if (empty($input['email']) or !preg_match('/.+@.+\..+/', $input['email'])) {
- return 'Een geldig e-mailadres is verplicht zodat we antwoord kunnen geven.';
- }
- if (isset($input['naam']) and empty($input['naam'])) {
- return 'Geef ook een naam waarmee we u kunnen aanspreken.';
- }
-}
-
- $reply = preg_match('/\A\w+@\w+\.[a-z]+\z/', @$input['email'])
- ? $input['email'] : 'noreply@'.$_SERVER['HTTP_HOST'];
- $header = "From: $reply";
-
- foreach (array(
- 'X-Accept-Language' => 'HTTP_ACCEPT_LANGUAGE',
- 'User-Agent' => 'HTTP_USER_AGENT',
- ) as $mailhdr => $serverhdr) {
- if (!$_SERVER[$serverhdr]) continue;
- $header .= "\r\n$mailhdr: ".$_SERVER[$serverhdr];
- }
-
- $origin = $_SERVER['REMOTE_ADDR'];
- $origin .= sprintf(' (%s)', gethostbyaddr($origin));
- $body = "Ingevuld vanaf $origin:\r\n\r\n";
-
- foreach ($input as $k => $v) {
- $body .= "$k: $v\r\n";
- }
-
- $sent = mail($rcpt, $subject, $body, $header);
- if (!$sent)
- return 'Helaas ging er iets mis bij het doorvoeren. Probeer het later nog eens.';
-
- switch ($source) {
- case 'bestelling':
- print '<p>Bedankt voor uw bestelling. U ontvangt z.s.m. de bevestiging van deze bestelling via uw opgegeven e-mailadres.</p>';
- break;
- case 'bbq':
- print "<p>Bedankt voor je deelname. Tot ziens!</p>";
- break;
- default:
- print '<p>Bedankt voor uw reactie!</p>';
- }
- return;
-}