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?
-
+
Zusatzmodul POP2: Bereitstellung, einmalig 438.00 CHF; Jährliche Lizenzkosten 42.00 CHF
-
+
Zusatzmodul Material: Bereitstellung, einmalig 342.00 CHF; Jährliche Lizenzkosten 138.00 CHF
-
+
Zusatzmodul QR-Code: Bereitstellung, einmalig pro Instanz 50.00 CHF; Jährliche Lizenzkosten 36.00 CHF
-
+
Zusatzmodul Perigon: Bereitstellung, einmalig 50.00 CHF
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
- Nein
- Ja, Zusatzmodul POP2 für CHF 1'560
+ Nein
+ Ja, Zusatzmodul POP2: Jährliche Lizenzkosten 240.00 CHF; Bereitstellung, einmalig 1'560.00 CHF
+
@@ -126,8 +127,8 @@ bestellformular = true
- Nein
- Ja, Zusatzmodul QRcode für 240.00 CHF Jährlich, Aufschaltgebühr einmalig 200.00 CHF
+ Nein
+ Ja, Zusatzmodul QR-Code für 240.00 CHF Jährlich, Aufschaltgebühr einmalig 200.00 CHF
@@ -135,12 +136,12 @@ bestellformular = true
- Nein
- Ja, Zusatzmodul Perigon, Aufschaltgebühr einmalig 200.00 CHF
+ Nein
+ Ja, Zusatzmodul Perigon, Aufschaltgebühr einmalig 200.00 CHF
- Anmerkung
+ Bemerkung
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" . "
";