summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Kohl2024-12-26 11:11:25 +0100
committerJonas Kohl2024-12-26 11:11:25 +0100
commit9f89384166b4b7b953a3c4aa5748d8f735859113 (patch)
tree05acddfad422fcbf8f550d0d6cdbc4ad45459530
parent82cd8a07329869be48c53cc61e1638cd2a192ec2 (diff)
Error handling
-rwxr-xr-xcgi/contact.php40
-rw-r--r--includes/desktop/components/alert.php1
-rw-r--r--pages/sent-error.php5
3 files changed, 28 insertions, 18 deletions
diff --git a/cgi/contact.php b/cgi/contact.php
index ce265c2..2a8d579 100755
--- a/cgi/contact.php
+++ b/cgi/contact.php
@@ -1,5 +1,6 @@
<?php
+use Symfony\Component\Mailer\Exception\TransportException;
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
@@ -72,21 +73,24 @@ $sender = new Address($email, $name);
$body = "Guten Tag $name,\n\nIhre Kontaktanfrage vom $time ist erfolgreich bei uns eingegangen!\nUntenstehend finden Sie eine Kopie Ihrer Nachricht.\n\nMit freundlichen Grüßen\nDas Mystic House Corner Team\n\n---\n\n" . quote($message) . "\n";
-$transport->send((new Email())
- ->from(new Address($serviceAddress, "Mystic House Corner"))
- ->to($sender)
- ->subject("Ihre Kontaktanfrage ist bei uns eingegangen")
- ->text($body)
-);
-
-$body = "Am $time schrieb $name via Kontaktformular:\n" . quote($message) . "\n";
-
-$transport->send((new Email())
- ->from(new Address($serviceAddress, $name))
- ->to("mystic@jonaskohl.de")
- ->replyTo($sender)
- ->subject("[Mystic House Corner] $subject")
- ->text($body)
-);
-
-header("Location: /pages/sent.php");
+try {
+ $transport->send((new Email())
+ ->from(new Address($serviceAddress, "Mystic House Corner"))
+ ->to($sender)
+ ->subject("Ihre Kontaktanfrage ist bei uns eingegangen")
+ ->text($body)
+ );
+
+ $body = "Am $time schrieb $name via Kontaktformular:\n" . quote($message) . "\n";
+
+ $transport->send((new Email())
+ ->from(new Address($serviceAddress, $name))
+ ->to("mystic@jonaskohl.de")
+ ->replyTo($sender)
+ ->subject("[Mystic House Corner] $subject")
+ ->text($body)
+ );
+ header("Location: /pages/sent.php");
+} catch (TransportException $ex) {
+ header("Location: /pages/sent_error.php");
+}
diff --git a/includes/desktop/components/alert.php b/includes/desktop/components/alert.php
index a47b99b..0077f18 100644
--- a/includes/desktop/components/alert.php
+++ b/includes/desktop/components/alert.php
@@ -4,6 +4,7 @@ function c_alert(string $html_message, string $type, ?string $icon = null): void
"warning" => ["olive","yellow"],
"success" => ["green","lime"],
"info" => ["teal","aqua"],
+ "danger" => ["maroon","pink"],
][$type] ?? ["gray","white"];
if ($icon !== null)
$icon = [
diff --git a/pages/sent-error.php b/pages/sent-error.php
new file mode 100644
index 0000000..67e2318
--- /dev/null
+++ b/pages/sent-error.php
@@ -0,0 +1,5 @@
+<?php include __DIR__ . "/../includes/template_start.php"; ?>
+
+<?php c_alert('<b>Fehler beim Verarbeiten Ihrer Nachricht!</b> Ist die von Ihnen eingegebene eMail-Adresse korrekt?', 'danger'); ?>
+
+<?php include __DIR__ . "/../includes/template_end.php"; ?>