diff --git a/content/german/bestellung/zusatzmodule-freiberufliche.md b/content/german/bestellung/zusatzmodule-freiberufliche.md index 3b2d42b..30b2483 100644 --- a/content/german/bestellung/zusatzmodule-freiberufliche.md +++ b/content/german/bestellung/zusatzmodule-freiberufliche.md @@ -73,16 +73,16 @@ bestellformular = true


Welche Erweiterungen möchten Sie hinzubuchen?

- +
- +
- +
- +


diff --git a/content/german/bestellung/zusatzmodule-organisationen.md b/content/german/bestellung/zusatzmodule-organisationen.md index 2f730f3..953b7a0 100644 --- a/content/german/bestellung/zusatzmodule-organisationen.md +++ b/content/german/bestellung/zusatzmodule-organisationen.md @@ -117,8 +117,9 @@ bestellformular = true
@@ -126,8 +127,8 @@ bestellformular = true
@@ -135,12 +136,12 @@ bestellformular = true
- +
diff --git a/static/php/ajaxmail.php b/static/php/ajaxmail.php index 8f6f676..114c0f2 100644 --- a/static/php/ajaxmail.php +++ b/static/php/ajaxmail.php @@ -1,4 +1,5 @@ SMTPDebug = SMTP::DEBUG_SERVER; // Enable this for detailed debugging - $mail->isSMTP(); // Use SMTP - $mail->Host = 'ophelia.kreativmedia.ch'; // Set SMTP server - $mail->SMTPAuth = true; // Enable SMTP authentication - $mail->Username = 'order@verua.swiss'; // SMTP username - $mail->Password = 'Ont2J0s1qQYvX9TQrsx0nQv4Spuhha'; // SMTP password - $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Enable encryption - $mail->Port = 465; // TCP port for the connection - - // Recipients - $mail->setFrom('order@verua.swiss', 'VeruA AG'); // Sender address - $mail->addAddress('support@verua.ch', 'VeruA AG'); // Add another recipient +try +{ + // Receive and validate input data using filter_input() + $name = strip_tags(trim(filter_input(INPUT_POST, 'name') . ' ' . filter_input(INPUT_POST, 'vorname'))); // Add filter_input(INPUT_POST, 'nachname') to $name + $lang = ( isset($_POST['sprache']) && $_POST['sprache'] == "FR" ? "FR" : "DE" ); + $email = filter_var(trim(filter_input(INPUT_POST, 'email')), FILTER_SANITIZE_EMAIL); + // if order is from Organisation, use email on contact-person too + if (isset($_POST['ansprechpartner_email']) && $_POST['ansprechpartner_email'] != "" ) + { + $emailContact = filter_var(trim(filter_input(INPUT_POST, 'ansprechpartner_email')), FILTER_SANITIZE_EMAIL); + } + $subject = strip_tags(trim(filter_input(INPUT_POST, 'formularart'))); + // Construct the message using the function from message.php + $message = constructMessage(); + if (empty($name) || !filter_var($email, FILTER_VALIDATE_EMAIL) || empty($message)) + { + // Invalid input + throw new Exception('Ungültige Eingabedaten.'); + } + // SMTP von Verua verwenden + // Server settings + //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable this for detailed debugging + $mail->isSMTP(); // Use SMTP + $mail->Host = 'ophelia.kreativmedia.ch'; // Set SMTP server + $mail->SMTPAuth = true; // Enable SMTP authentication + $mail->Username = 'order@verua.swiss'; // SMTP username + $mail->Password = 'Ont2J0s1qQYvX9TQrsx0nQv4Spuhha'; // SMTP password + $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Enable encryption + $mail->Port = 465; // TCP port for the connection + // Recipients + $mail->setFrom('order@verua.swiss', 'VeruA AG'); // Sender address + $mail->addAddress('support@verua.ch', 'VeruA AG'); // Add another recipient // $mail->addBCC('ah@mediendesign-hnida.de'); // Add bounce email address as BCC - $mail->addBCC('rabe@verua.swiss'); // Add bounce email address as BCC - - - // Content Mail to support - $mail->isHTML(true); // Email in HTML format - $mail->CharSet = 'UTF-8'; - $encodedSubject = mb_encode_mimeheader($subject, "UTF-8", "Q"); - $mail->Subject = $encodedSubject; + $mail->addBCC('rabe@verua.swiss'); // Add bounce email address as BCC + // Content Mail to support + $mail->isHTML(true); // Email in HTML format + $mail->CharSet = 'UTF-8'; + $encodedSubject = mb_encode_mimeheader($subject, "UTF-8", "Q"); + $mail->Subject = $encodedSubject; // $mail->Body = nl2br(htmlspecialchars($message)); - $mail->Body = $message; - $mail->AltBody = $message; + $mail->Body = $message; + $mail->AltBody = $message; - // Send email - if ($mail->send()) { - // Success response - echo json_encode(['success' => true, 'message' => 'Nachricht wurde gesendet.']); - http_response_code(200); + // Send email + if ($mail->send()) + { + // Success response + echo json_encode(['success' => true, 'message' => 'Nachricht wurde gesendet.']); + http_response_code(200); - // Send a second email to the customer - $customerEmail = $email; - $customerSubject = ($lang == "DE" ? 'Danke für Ihre Bestellung bei der VeruA AG' : 'Merci pour votre commande chez VeruA AG' ); - $encodedSubject = mb_encode_mimeheader($customerSubject, "UTF-8", "Q"); + // Send a second email to the customer + $customerEmail = $email; + $customerSubject = ($lang == "DE" ? 'Danke für Ihre Bestellung bei der VeruA AG' : 'Merci pour votre commande chez VeruA AG' ); + $encodedSubject = mb_encode_mimeheader($customerSubject, "UTF-8", "Q"); - $customerMessage = constructCustomerMessage($message, $lang, $name); + $customerMessage = constructCustomerMessage($message, $lang, $name); - $mail->clearAddresses(); - $mail->ClearBCCs(); - $mail->addAddress($customerEmail); - $mail->Subject = $encodedSubject; + $mail->clearAddresses(); + $mail->ClearBCCs(); + $mail->addAddress($customerEmail); + if ( isset($emailContact) ) + { + $mail->addAddress($customerEmail); + } + $mail->Subject = $encodedSubject; // $mail->Body = nl2br(htmlspecialchars($customerMessage)); - $mail->Body = $customerMessage; + $mail->Body = $customerMessage; // $mail->AltBody = htmlspecialchars($customerMessage); - $mail->AltBody = $customerMessage; + $mail->AltBody = $customerMessage; - $mail->send(); - } -} catch (Exception $e) { - // Error response if an exception occurs - echo json_encode(['success' => false, 'message' => "Nachricht konnte nicht gesendet werden. Mailer Error: {$mail->ErrorInfo}"]); + $mail->send(); + } +} catch (Exception $e) +{ + // Error response if an exception occurs + echo json_encode(['success' => false, 'message' => "Nachricht konnte nicht gesendet werden. Mailer Error: {$mail->ErrorInfo}"]); } ?> diff --git a/static/php/message.php b/static/php/message.php index 1332b6b..89d31ca 100644 --- a/static/php/message.php +++ b/static/php/message.php @@ -153,47 +153,53 @@ function constructMessage() $message .= "
" . $wochenbett . "

"; } -// // Form inputs von Organisation Zusatzmodule -// $zusatzmodulDienstplan = filter_input(INPUT_POST, 'zusatzmodul-dienstplan'); -// if (isset($zusatzmodulDienstplan)) -// { -// $message .= "Zusatzmodul Dienstplan: " . "
" . $zusatzmodulDienstplan . "

"; -// } -// -// $zusatzmodulTourenplan = filter_input(INPUT_POST, 'zusatzmodul-tourenplan'); -// if (isset($zusatzmodulTourenplan)) -// { -// $message .= "Zusatzmodul Tourenplan: " . "
" . $zusatzmodulTourenplan . "

"; -// } -// -// // Form inputs von Zusatzmodule Freiberufliche -// $zusatzmodulPop2 = filter_input(INPUT_POST, 'zusatzmodul-pop2'); -// if (isset($zusatzmodulPop2)) -// { -// $message .= "Zusatzmodul POP2: Jährliche Lizenzkosten 42.00 CHF; Bereitstellung, einmalig 438.00.00 CHF" . "
"; -// } -// -// $zusatzmodulMaterialverwaltung = filter_input(INPUT_POST, 'zusatzmodul-materialverwaltung'); -// if (isset($zusatzmodulMaterialverwaltung)) -// { -// $message .= ( $lang == "FR" ? "Module supplémentaire gestion du matériel our 138.00 CHF par an, frais unique de mise en service 342.00 CHF" -// : "Zusatzmodul Materialverwaltung: Jährliche Lizenzkosten 138.00 CHF; Bereitstellung, einmalig 342.00 CHF"); -// $message .= "
"; -// } -// -// $zusatzmodulQrCode = filter_input(INPUT_POST, 'zusatzmodul-qr-code'); -// if (isset($zusatzmodulQrCode)) -// { -// $message .= ( $lang == "FR" ? "Module supplémentaire code QR pour 36.00 CHF par an, frais unique de mise en service 50.00 CHF" -// : "Zusatzmodul QR-Code: Jährliche Lizenzkosten 36.00 CHF; Bereitstellung, einmalig pro Instanz 50.00 CHF"); -// $message .= "
"; -// } -// -// $zusatzmodulPerigon = filter_input(INPUT_POST, 'zusatzmodul-perigon'); -// if (isset($zusatzmodulPerigon)) -// { -// $message .= "Zusatzmodul Perigon, Bereitstellung, einmalig 50.00 CHF" . "
"; -// } + // Form inputs von Organisation Zusatzmodule + $zusatzmodulDienstplan = filter_input(INPUT_POST, 'zusatzmodul-dienstplan'); + if (isset($zusatzmodulDienstplan)) + { + $message .= "

"; + $message .= "Zusatzmodul Dienstplan: " . "
" . $zusatzmodulDienstplan . "

"; + } + + $zusatzmodulTourenplan = filter_input(INPUT_POST, 'zusatzmodul-tourenplan'); + if (isset($zusatzmodulTourenplan)) + { + $message .= "

"; + $message .= "Zusatzmodul Tourenplan" . $zusatzmodulTourenplan . "

"; + } + + // Form inputs von Zusatzmodule FPP / ORG + $zusatzmodulPop2 = filter_input(INPUT_POST, 'zusatzmodul-pop2'); + if (isset($zusatzmodulPop2)) + { + $message .= "


"; + $message .= "Zusatzmodul POP2
Jährliche Lizenzkosten 42.00 CHF; Bereitstellung, einmalig 438.00.00 CHF" . "

"; + } + + $zusatzmodulMaterialverwaltung = filter_input(INPUT_POST, 'zusatzmodul-materialverwaltung'); + if (isset($zusatzmodulMaterialverwaltung)) + { + $message .= "

"; + $message .= ( $lang == "FR" ? "Module en option pour le matériel" + : "Zusatzmodul Materialverwaltung"); + $message .= "
" . $zusatzmodulMaterialverwaltung . "

"; + } + + $zusatzmodulQrCode = filter_input(INPUT_POST, 'zusatzmodul-qr-code'); + if (isset($zusatzmodulQrCode)) + { + $message .= "

"; + $message .= ( $lang == "FR" ? "Module supplémentaire code QR" + : "Optionales Modul QR-Code"); + $message .= "
" . $zusatzmodulQrCode . "

"; + } + + $zusatzmodulPerigon = filter_input(INPUT_POST, 'zusatzmodul-perigon'); + if (isset($zusatzmodulPerigon)) + { + $message .= "

"; + $message .= "Zusatzmodul Perigon
" . $zusatzmodulPerigon . "

"; + } // // // Form inputs von Schulungstermin // $schulungstermin = filter_input(INPUT_POST, 'schulungstermin'); @@ -224,7 +230,7 @@ function constructCustomerMessage($bestellMessage, $langForm, $name) $infoCheck = "Voici à nouveau vos informations pour vérification. Si vous trouvez encore une erreur, veuillez nous en informer :" . "

"; } else { - $message = "Grüezi " . $name . "
"; + $message = "Grüezi " . $name . "

"; $message .= "Vielen Dank für Ihre Bestellung. Wir werden uns so schnell wie möglich bei Ihnen melden." . "

"; $messageEnd = "Freundliche Grüsse" . "
"; $messageEnd .= "Ihr VeruA Team" . "

";