edit and style mails after order
All checks were successful
Build and Deploy Hugo Site / buildAndDeploy (push) Successful in 1m2s

This commit is contained in:
bettina 2024-06-28 10:03:57 +02:00
commit eaf9d12b67
8 changed files with 233 additions and 63 deletions

View file

@ -12,7 +12,7 @@ bestellformular = true
## VeruA App
### infirmiers indépendants
### Infirmiers indépendants
<br>
@ -24,7 +24,7 @@ bestellformular = true
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<div id="formPartOne">
<input type="hidden" name="formularart" value="Formulaire de commande infirmier indépendant">
<input type="hidden" name="formularart" value="Commande VeruA App - infirmiers indépendants">
<div>
<label class="hidden" for="gender">Genre</label>
<select id="gender" name="gender" requir >

View file

@ -12,7 +12,7 @@ bestellformular = true
## VeruA App
### infirmiers indépendants module supplementaire
### Module supplementaire infirmiers indépendants
<br>
@ -23,7 +23,7 @@ bestellformular = true
{{% /aligncenter %}}
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<input type="hidden" name="formularart" value="Modules supplémentaires Indépendants">
<input type="hidden" name="formularart" value="Commande module supplémentaires VeruA App - infirmiers indépendants">
<div>
<label class="hidden" for="gender">Sexe</label>
<select id="gender" name="gender" requir >

View file

@ -26,7 +26,7 @@ kommentar = 'age und hobbies sind honeypots'
<!-- TODO Make Link relative in Production -->
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<div id="formPartOne">
<input type="hidden" name="formularart" value="Bestellformular Freiberufliche Pflegefachperson">
<input type="hidden" name="formularart" value="Bestellung VeruA App - Freiberufliche Pflegefachperson">
<div>
<label class="hidden" for="gender">Geschlecht</label>
<select id="gender" name="gender" required >

View file

@ -23,7 +23,7 @@ bestellformular = true
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<div id="formPartOne">
<input type="hidden" name="formularart" value="Bestellformular Spitex-Organisation">
<input type="hidden" name="formularart" value="Bestellung VeruA App - Spitex-Organisation">
<h5>Bitte tragen Sie die Daten Ihrer Spitex-Organisation ein</h5>
<div>
<label for="organisation">Name der Organisation</label>
@ -94,7 +94,7 @@ bestellformular = true
</div>
</div>
## Paket 1 Basisversion
## Paket 1: Basisversion
**VeruA App** als Organisations-Version
@ -114,7 +114,7 @@ Vierstündige Schulung bei Ihnen vor Ort.
Einführung in den grundlegenden Umgang mit der **VeruA App**. Gemeinsame Prüfung der individuellen Konfiguration der Organisationsdaten.
Spesen werden separat berechnet.
## Paket 2 Basisversion mit Zusatzmodul POP2
## Paket 2: Basisversion mit Zusatzmodul POP2
**VeruA App** als Organisations-Version
@ -143,8 +143,8 @@ Spesen werden separat berechnet.
<h5>Bitte wählen Sie, welches Paket Sie wünschen:</h5>
<div>
<select id="organisation-paket" name="organisation-paket" required >
<option value="Paket 1">Paket 1 - 7'400.00 CHF</option>
<option value="Paket 2">Paket 2 - 9'200.00 CHF</option>
<option value="Paket 1: Basisversion - 7'400.00 CHF">Paket 1: Basisversion - 7'400.00 CHF</option>
<option value="Paket 2: Basisversion mit Zusatzmodul POP2 - 9'200.00 CHF">Paket 2: Basisversion mit Zusatzmodul POP2 - 9'200.00 CHF</option>
</select>
</div>
<div>
@ -152,7 +152,7 @@ Spesen werden separat berechnet.
<input type="text" id="servername" name="servername" placeholder="name" required >
</div>
<div>
<label for="anmerkung">Anmerkung</label>
<label for="anmerkung">Bemerkung</label>
<textarea id="anmerkung" name="anmerkung" rows="4"></textarea>
</div>
</div>

View file

@ -23,7 +23,7 @@ bestellformular = true
{{% /aligncenter %}}
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<input type="hidden" name="formularart" value="Zusatzmodule Freiberufliche">
<input type="hidden" name="formularart" value="Bestellung Zusatzmodule VeruA App - Freiberufliche Pflegefachperson">
<div>
<label class="hidden" for="gender">Geschlecht</label>
<select id="gender" name="gender" required >

View file

@ -23,7 +23,7 @@ bestellformular = true
<form action="/php/ajaxmail.php" method="POST" id="bestellformular">
<div id="formPartOne">
<input type="hidden" name="formularart" value="Bestellformular Organisation Zusatzmodule">
<input type="hidden" name="formularart" value="Bestellung Zusatzmodule VeruA App - Spitex-Organisation">
<h5>Bitte tragen Sie die Daten Ihrer Spitex-Organisation ein</h5>
<div>
<label for="organisation">Name der Organisation</label>

View file

@ -19,6 +19,7 @@ try {
$email = filter_var(trim(filter_input(INPUT_POST, 'email')), FILTER_SANITIZE_EMAIL);
$subject = strip_tags(trim(filter_input(INPUT_POST, 'formularart')));
// Construct the message using the function from message.php
$messageHD = constructMessageHelpDesk();
$message = constructMessage();
if (empty($name) || !filter_var($email, FILTER_VALIDATE_EMAIL) || empty($message)) {
// Invalid input
@ -46,8 +47,8 @@ try {
$mail->CharSet = 'UTF-8';
$encodedSubject = mb_encode_mimeheader($subject, "UTF-8", "Q");
$mail->Subject = $encodedSubject;
$mail->Body = nl2br(htmlspecialchars($message));
$mail->AltBody = htmlspecialchars($message);
$mail->Body = nl2br(htmlspecialchars($messageHD));
$mail->AltBody = htmlspecialchars($messageHD);
// Send email
if ($mail->send()) {
@ -62,8 +63,10 @@ try {
$customerMessage = constructCustomerMessage($message, $lang);
$adressReplyTo = ($lang == "FR" ? "contact@verua.ch" : "kontakt@verua.ch");
$mail->clearAddresses();
$mail->ClearBCCs();
$mail->addReplyTo($adressReplyTo, 'VeruA AG - Support-Team'); // Sender address
$mail->addBCC('rabe@verua.swiss'); // Add bounce email address as BCC
$mail->addAddress($customerEmail);
$mail->Subject = $encodedSubject;

View file

@ -7,81 +7,71 @@ function constructMessage()
{
$lang = ( isset($_POST['sprache']) && $_POST['sprache'] == "FR" ? "FR" : "DE" );
$message = ($lang == "FR" ? "Demande par formulaire: " : "Anfrage über Formular: ");
$message .= "\n" . filter_input(INPUT_POST, 'formularart') . "\n\n\n\n";
$message = ($lang == "FR" ? "<p><b>Vos coordonnées</b></p>"
: "<p>Sie haben folgende Angaben bei Ihrer Bestellung <b>VeruA App</b> gemacht:</p><hr/>");
$organisation = filter_input(INPUT_POST, 'organisation');
if (isset($organisation))
{
$message .= "Organisation: " . "\n" . $organisation . "\n\n";
$message .= "<p><b>";
$message .= ( $lang == "FR" ? "Vos données d'organisation" : "Ihre Organisations-Daten");
$message .= "</b></p>";
$message .= "<p>" . $organisation . "<br/>";
} else
{
$message = ($lang == "FR" ? "<p><b>Vos coordonnées</b></p>" : "<p><b>Ihre Angaben</b></p>");
if ( isset( $_POST['gender'] ) )
{
$message .= ( $lang == "FR" ? "Titre: " : "Anrede: " );
$message .= "\n" . filter_input(INPUT_POST, 'gender') . "\n\n";
}
if (isset($_POST['vorname']))
{
$message .= ( $lang == "FR" ? "Prénom: " : "Vorname: ");
$message .= "\n" . filter_input(INPUT_POST, 'vorname') . "\n\n";
}
if (isset($_POST['name']))
{
$message .= ( $lang == "FR" ? "Nom: " : "Nachname: ");
$message .= "\n" . filter_input(INPUT_POST, 'name') . "\n\n";
$message .= "<p>" . filter_input(INPUT_POST, 'gender') . " " . filter_input(INPUT_POST, 'vorname') . " " . filter_input(INPUT_POST, 'vorname') . "<br/>";
}
}
if (isset($_POST['strasse']))
{
$message .= ( $lang == "FR" ? "Rue: " : "Strasse: ");
$message .= "\n" . filter_input(INPUT_POST, 'strasse') . "\n\n";
$message .= filter_input(INPUT_POST, 'strasse') . "<br/>";
}
if (isset($_POST['plz_ort']))
{
$message .= ( $lang == "FR" ? "NPA localité: " : "PLZ Ort: ");
$message .= "\n" . filter_input(INPUT_POST, 'plz_ort') . "\n\n";
$message .= filter_input(INPUT_POST, 'plz_ort') . "<br/>";
}
if (isset($_POST['telefon']))
{
$message .= ( $lang == "FR" ? "Téléphone: " : "Telefon: ");
$message .= "\n" . filter_input(INPUT_POST, 'telefon') . "\n\n";
$message .= filter_input(INPUT_POST, 'telefon') . "<br/>";
}
if (isset($_POST['email']))
{
$message .= ( $lang == "FR" ? "E-mail : " : "E-Mail: ");
$message .= "\n" . filter_input(INPUT_POST, 'email') . "\n\n\n";
$message .= filter_input(INPUT_POST, 'email') . "<br/>";
}
if (isset($_POST['zsr_nummer']))
{
$message .= ( $lang == "FR" ? "Nr. RCC : " : "ZSR Nummer: ");
$message .= "\n" . filter_input(INPUT_POST, 'zsr_nummer') . "\n\n";
$message .= filter_input(INPUT_POST, 'zsr_nummer') . "<br/>";
}
if (isset($_POST['ean_nummer']))
{
$message .= ( $lang == "FR" ? "Nr. EAN/GLN : " : "EAN / GLN-Nr : ");
$message .= filter_input(INPUT_POST, 'ean_nummer') . "<br/>";
}
if (isset($organisation))
{
if (isset($_POST['gender']))
{
$message .= ( $lang == "FR" ? "Titre: " : "Anrede: ");
$message .= "\n" . filter_input(INPUT_POST, 'gender') . "\n\n";
}
if (isset($_POST['vorname']))
{
$message .= ( $lang == "FR" ? "Prénom: " : "Vorname: ");
$message .= "\n" . filter_input(INPUT_POST, 'vorname') . "\n\n";
}
if (isset($_POST['name']))
{
$message .= ( $lang == "FR" ? "Nom: " : "Nachname: ");
$message .= "\n" . filter_input(INPUT_POST, 'name') . "\n\n";
$message .= "<hr/><p><b>";
$message .= ( $lang == "FR" ? "Personne de contact pour la commande" : "Kontaktperson für die Bestellung");
$message .= "</b></p>";
$message .= "<p>" . filter_input(INPUT_POST, 'gender') . " " . filter_input(INPUT_POST, 'vorname') . " " . filter_input(INPUT_POST, 'vorname') . "<br/>";
}
if (isset($_POST['ansprechpartner_telefon']))
{
$message .= ( $lang == "FR" ? "Personne à contacter Téléphone: " : "Ansprechpartner Telefon: ");
$message .= "\n" . filter_input(INPUT_POST, 'ansprechpartner_telefon') . "\n\n";
$message .= ( $lang == "FR" ? "Téléphone: " : "Telefon: ");
$message .= filter_input(INPUT_POST, 'ansprechpartner_telefon') . "<br/>";
}
if (isset($_POST['ansprechpartner_email']))
{
$message .= ( $lang == "FR" ? "Personne à contacter email: " : "Ansprechpartner E-Mail: ");
$message .= "\n" . filter_input(INPUT_POST, 'ansprechpartner_email') . "\n\n";
$message .= ( $lang == "FR" ? "E-mail: " : "E-Mail: ");
$message .= filter_input(INPUT_POST, 'ansprechpartner_email') . "<br/>";
}
}
@ -96,7 +86,9 @@ function constructMessage()
$organisationPaket = filter_input(INPUT_POST, 'organisation-paket');
if (isset($organisationPaket))
{
$message .= "Organisation Paket: " . "\n" . $organisationPaket . "\n\n";
$message .= "<hr/><p><b>";
$message .= ( $lang = "FR" ? "Le package que vous avez choisi" : "Ihr gewähltes Paket" );
$message .= "</b></p><p>" . $organisationPaket . "</p>";
}
// Form inputs von Organisation Zusatzmodule
$zusatzmodulDienstplan = filter_input(INPUT_POST, 'zusatzmodul-dienstplan');
@ -115,22 +107,26 @@ function constructMessage()
$bestehend = filter_input(INPUT_POST, 'bestehend');
if (isset($bestehend))
{
$message .= ( $lang == "FR" ? "Souhaitez-vous un nouveau serveur ou l'accès à un serveur d'équipe existant: " : "Wünschen Sie einen neuer Server oder den Zugang zu einem bestehenden Team-Server?: ");
$message .= "\n" . $bestehend . "\n\n";
$message .= "<hr/><p><b>";
$message .= ( $lang == "FR" ? "Sélectionnée la version d'application"
: "Gewählte Applikations-Version");
$message .= "</b><br/>" . $bestehend . "<br/>";
}
$servername = filter_input(INPUT_POST, 'servername');
if (isset($servername))
{
$message .= ( $lang == "FR" ? "Veuillez entrer un nom pour le serveur: " : "Bitte geben Sie den Namen des gesicherter Webbereichs an: ");
$message .= "\n" . $servername . "\n\n";
$message .= ( ! isset($bestehend) "<hr/><p>" : "<br/>" );
$message .= ( $lang == "FR" ? "<b>Nom pour le serveur</b> " : "<b>Name des Webbereichs / der Instanz</b>");
$message .= "<br/>" . $servername . "<br/>";
$message .= ( ! isset($bestehend) "</p>" : "" );
}
$modulpop2 = filter_input(INPUT_POST, 'modulpop2');
if (isset($modulpop2))
{
// $message .= ( $lang == "FR" ? "Titre: " : "Anrede: ");
$message .= "Wünschen Sie die Erweiterung um das Modul POP2?: " . "\n" . $modulpop2 . "\n\n";
$message .= "<hr/>";
$message .= "<p><b>Optionales Modul POP2</b><br/>" . $modulpop2 . "</p>";
}
$materialverwaltung = filter_input(INPUT_POST, 'materialverwaltung');
@ -185,14 +181,185 @@ function constructMessage()
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
if (!empty($anmerkung))
{
$message .= "\n\n";
$message .= ( $lang == "FR" ? "Remarque : " : "Anmerkung: ");
$message .= "\n" . $anmerkung . "\n\n";
$message .= "<hr/><p><b>";
$message .= ( $lang == "FR" ? "Remarque : " : "Bemerkung: ");
$message .= "</b><br>" . $anmerkung . "</p>";
}
return $message;
}
//Construct message for support-team
function constructMessageHelpDesk()
{
$lang = ( isset($_POST['sprache']) && $_POST['sprache'] == "FR" ? "FR" : "DE" );
$messageHD = "\n###" . filter_input(INPUT_POST, 'formularart') . "\n\n\n\n";
$organisation = filter_input(INPUT_POST, 'organisation');
if (isset($organisation))
{
$messageHD .= $organisation . "\n\n";
} else
{
if ( isset( $_POST['gender'] ) )
{
$messageHD .= filter_input(INPUT_POST, 'gender') . " " . filter_input(INPUT_POST, 'vorname') . " " . filter_input(INPUT_POST, 'vorname') . "\n";
}
}
if (isset($_POST['strasse']))
{
$messageHD .= filter_input(INPUT_POST, 'strasse') . "\n";
}
if (isset($_POST['plz_ort']))
{
$messageHD .= filter_input(INPUT_POST, 'plz_ort') . "\n";
}
if (isset($_POST['telefon']))
{
$messageHD .= ( $lang == "FR" ? "Téléphone: " : "Telefon: ");
$messageHD .= filter_input(INPUT_POST, 'telefon') . "\n";
}
if (isset($_POST['email']))
{
$messageHD .= ( $lang == "FR" ? "E-mail : " : "E-Mail: ");
$messageHD .= filter_input(INPUT_POST, 'email') . "\n";
}
if (isset($_POST['zsr_nummer']))
{
$messageHD .= ( $lang == "FR" ? "Nr. RCC : " : "ZSR Nummer: ");
$messageHD .= filter_input(INPUT_POST, 'zsr_nummer') . "\n\n";
}
if (isset($organisation))
{
if (isset($_POST['gender']))
{
$messageHD .= filter_input(INPUT_POST, 'gender') . " " . filter_input(INPUT_POST, 'vorname') . " " . filter_input(INPUT_POST, 'vorname') . "\n";
}
if (isset($_POST['ansprechpartner_telefon']))
{
$messageHD .= ( $lang == "FR" ? "Personne à contacter Téléphone: " : "Ansprechpartner Telefon: ");
$messageHD .= filter_input(INPUT_POST, 'ansprechpartner_telefon') . "\n";
}
if (isset($_POST['ansprechpartner_email']))
{
$messageHD .= ( $lang == "FR" ? "Personne à contacter email: " : "Ansprechpartner E-Mail: ");
$messageHD .= filter_input(INPUT_POST, 'ansprechpartner_email') . "\n\n";
}
}
// Form inputs von Schulungstermin
$schulungstermin = filter_input(INPUT_POST, 'schulungstermin');
if (isset($schulungstermin))
{
$messageHD .= "Schulungstermin: " . "\n" . $schulungstermin . "\n\n";
}
// Form inputs von Organisation
$organisationPaket = filter_input(INPUT_POST, 'organisation-paket');
if (isset($organisationPaket))
{
$messageHD .= "Organisation Paket: " . "\n" . $organisationPaket . "\n\n";
}
// Form inputs von Organisation Zusatzmodule
$zusatzmodulDienstplan = filter_input(INPUT_POST, 'zusatzmodul-dienstplan');
if (isset($zusatzmodulDienstplan))
{
$messageHD .= "Zusatzmodul Dienstplan: " . "\n" . $zusatzmodulDienstplan . "\n\n";
}
$zusatzmodulTourenplan = filter_input(INPUT_POST, 'zusatzmodul-tourenplan');
if (isset($zusatzmodulTourenplan))
{
$messageHD .= "Zusatzmodul Tourenplan: " . "\n" . $zusatzmodulTourenplan . "\n\n";
}
// Form inputs von Erstbestellung
$bestehend = filter_input(INPUT_POST, 'bestehend');
if (isset($bestehend))
{
$messageHD .= "***\n";
$messageHD .= ( $lang == "FR" ? "Sélectionnée la version d'application: " : "Gewählte Applikations-Version: ");
$messageHD .= "\n" . $bestehend . "\n\n";
$servername = filter_input(INPUT_POST, 'servername');
$messageHD .= ( $lang == "FR" ? "Nom du serveur / de l'instance: " : "Name des Servers / der Instanz: ");
$messageHD .= "\n" . $servername . "\n\n";
}
$modulpop2 = filter_input(INPUT_POST, 'modulpop2');
if (isset($modulpop2))
{
$messageHD .= "***\n";
$messageHD .= "**Zusatzmodul POP2**: " . $modulpop2 . "\n\n";
}
$materialverwaltung = filter_input(INPUT_POST, 'materialverwaltung');
if (isset($materialverwaltung))
{
$messageHD .= "***\n";
$messageHD .= ( $lang == "FR" ? "**Module en option pour le matériel**: " : "**Zusatzmodul Materialverwaltung**: ");
$messageHD .= "\n" . $materialverwaltung . "\n\n";
}
$qrcode = filter_input(INPUT_POST, 'qrcode');
if (isset($qrcode))
{
$messageHD .= "***\n";
$messageHD .= ( $lang == "FR" ? "**Module en option QR-Code**: " : "**Zusatzmodul QR-Code**: ");
$messageHD .= "\n" . $qrcode . "\n\n";
}
$wochenbett = filter_input(INPUT_POST, 'wochenbett');
if (isset($wochenbett))
{
$messageHD .= "***\n";
$messageHD .= ( $lang == "FR" ? "**Avez-vous besoin de la version post-partum?** " : "**Benötigen Sie die Wochenbett-Version?** ");
$messageHD .= "\n" . $wochenbett . "\n\n";
}
// Form inputs von Zusatzmodule Freiberufliche
$zusatzmodulPop2 = filter_input(INPUT_POST, 'zusatzmodul-pop2');
if (isset($zusatzmodulPop2))
{
$messageHD .= "Zusatzmodul POP2: Jährliche Lizenzkosten 42.00 CHF; Bereitstellung, einmalig 438.00.00 CHF" . "\n";
}
$zusatzmodulMaterialverwaltung = filter_input(INPUT_POST, 'zusatzmodul-materialverwaltung');
if (isset($zusatzmodulMaterialverwaltung))
{
$messageHD .= ( $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");
$messageHD .= "\n";
}
$zusatzmodulQrCode = filter_input(INPUT_POST, 'zusatzmodul-qr-code');
if (isset($zusatzmodulQrCode))
{
$messageHD .= ( $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");
$messageHD .= "\n";
}
$zusatzmodulPerigon = filter_input(INPUT_POST, 'zusatzmodul-perigon');
if (isset($zusatzmodulPerigon))
{
$messageHD .= "Zusatzmodul Perigon, Bereitstellung, einmalig 50.00 CHF" . "\n";
}
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
if (!empty($anmerkung))
{
$messageHD .= "\n\n";
$messageHD .= ( $lang == "FR" ? "**Votre remarque**: " : "**Ihre Bemerkung**: ");
$messageHD .= "\n" . $anmerkung . "\n\n";
}
return $messageHD;
}
function constructCustomerMessage($bestellMessage, $langForm)
{
if ( $langForm == "FR" )