From efec4b783c4504a454057ea68fb8b2da7f90a633 Mon Sep 17 00:00:00 2001 From: spetznas Date: Wed, 17 Jun 2026 18:56:17 +0200 Subject: [PATCH] debugging rsvp-submit.php --- public/de/categories/index.html | 4 +- public/de/sitemap.xml | 18 +-- public/en/sitemap.xml | 10 +- public/rsvp-submit.php | 9 -- public/ru/sitemap.xml | 10 +- static/rsvp-submit.php | 218 +++++++++++++++++++++++++++++++- 6 files changed, 236 insertions(+), 33 deletions(-) diff --git a/public/de/categories/index.html b/public/de/categories/index.html index 20fd69e..35be0e0 100755 --- a/public/de/categories/index.html +++ b/public/de/categories/index.html @@ -137,14 +137,14 @@ diff --git a/public/de/sitemap.xml b/public/de/sitemap.xml index e5ea9c6..f5b26de 100755 --- a/public/de/sitemap.xml +++ b/public/de/sitemap.xml @@ -3,11 +3,6 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> http://markinstefan.xyz/de/authors/ - - - http://markinstefan.xyz/de/categories/ + + http://markinstefan.xyz/de/categories/ + http://markinstefan.xyz/de/hochzeit/ http://markinstefan.xyz/tags/ - + diff --git a/public/rsvp-submit.php b/public/rsvp-submit.php index a4a3e83..651eff5 100755 --- a/public/rsvp-submit.php +++ b/public/rsvp-submit.php @@ -14,15 +14,6 @@ $dotenv->safeLoad(); file_put_contents('/tmp/rsvp-debug.log', "3\n", FILE_APPEND); -require __DIR__ . '/vendor/autoload.php'; - -use PHPMailer\PHPMailer\PHPMailer; -use PHPMailer\PHPMailer\Exception; -use Dotenv\Dotenv; - -$dotenv = Dotenv::createImmutable(__DIR__ . '/../'); -$dotenv->safeLoad(); - function checkboxArrayToString($value) { if (is_array($value) && count($value) > 0) { diff --git a/public/ru/sitemap.xml b/public/ru/sitemap.xml index 2f0b69a..e465074 100755 --- a/public/ru/sitemap.xml +++ b/public/ru/sitemap.xml @@ -54,6 +54,11 @@ /> http://markinstefan.xyz/ru/tags/ + - http://markinstefan.xyz/ru/contact/ safeLoad(); + +file_put_contents('/tmp/rsvp-debug.log', "3\n", FILE_APPEND); + +function checkboxArrayToString($value) +{ + if (is_array($value) && count($value) > 0) { + return implode(', ', $value); + } + return 'None'; +} + +function yesNo($value) +{ + return !empty($value) ? 'Yes' : 'No'; +} + +// Honeypot spam protection +if (!empty($_POST['website'])) { + exit('Spam detected.'); +} + +// Privacy consent required +if (empty($_POST['privacy'])) { + exit('Privacy consent required.'); +} + +// Personal +$first_name = trim($_POST['first_name'] ?? ''); +$last_name = trim($_POST['last_name'] ?? ''); +$name = trim("$first_name $last_name"); + +$email = trim($_POST['email'] ?? ''); +$phone = trim($_POST['phone'] ?? ''); + +// Attendance +$attendance = $_POST['attendance'] ?? 'Unknown'; + +// Drinks +$drinks = checkboxArrayToString($_POST['drinks'] ?? []); + +// Diet +$diet = $_POST['diet'] ?? 'Not specified'; + +// Allergies +$allergies = checkboxArrayToString($_POST['allergies'] ?? []); +$allergies_other = trim($_POST['allergies_other'] ?? ''); + +// Organization +$parking = yesNo($_POST['parking'] ?? ''); +$ride_needed = yesNo($_POST['ride_needed'] ?? ''); +$ride_offer = yesNo($_POST['ride_offer'] ?? ''); +$hotel = yesNo($_POST['hotel'] ?? ''); +$hotel_booked = yesNo($_POST['hotel_booked'] ?? ''); + +// Memories +$memory_card = yesNo($_POST['memory_card'] ?? ''); +$photo_link = yesNo($_POST['photo_link'] ?? ''); + +// Entertainment +$music_request = trim($_POST['music_request'] ?? ''); +$contribution = checkboxArrayToString($_POST['contribution'] ?? []); + +// Children +$children = $_POST['children'] ?? 'No'; +$children_count = trim($_POST['children_count'] ?? ''); +$children_ages = trim($_POST['children_ages'] ?? ''); + +// Message +$message = trim($_POST['message'] ?? ''); + +// UTF-8 conversion +$fields = [ + &$name, + &$email, + &$phone, + &$attendance, + &$drinks, + &$diet, + &$allergies, + &$allergies_other, + &$music_request, + &$contribution, + &$children, + &$children_count, + &$children_ages, + &$message +]; + +foreach ($fields as &$field) { + $field = mb_convert_encoding($field, 'UTF-8', 'auto'); +} + +file_put_contents('/tmp/rsvp-debug.log', "4\n", FILE_APPEND); +$mail = new PHPMailer(true); + +try { + + $mail->CharSet = 'UTF-8'; + + $mail->isSMTP(); + $mail->Host = $_ENV['SMTP_HOST']; + $mail->SMTPAuth = true; + $mail->Username = $_ENV['SMTP_USER']; + $mail->Password = $_ENV['SMTP_PASS']; + $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; + $mail->Port = (int)$_ENV['SMTP_PORT']; + + $mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']); + $mail->addAddress($_ENV['TO_EMAIL']); + + $mail->Subject = mb_encode_mimeheader( + "Wedding RSVP: $name", + 'UTF-8' + ); + + $body = <<Body = $body; + + file_put_contents('/tmp/rsvp-debug.log', "5\n", FILE_APPEND); + $mail->SMTPDebug = 2; +$mail->Debugoutput = 'error_log'; +$mail->Timeout = 10; +error_log("About to send mail"); + $mail->send(); +error_log("Mail sent"); + file_put_contents('/tmp/rsvp-debug.log', "6\n", FILE_APPEND); + + header('Location: /thank-you/'); + exit; + +} catch (Exception $e) { + + echo "RSVP could not be sent. Mailer Error: {$mail->ErrorInfo}"; +}