diff --git a/WEBROOT/Commands/TerminErinnerung.php b/WEBROOT/Commands/TerminErinnerung.php new file mode 100644 index 0000000..6d19374 --- /dev/null +++ b/WEBROOT/Commands/TerminErinnerung.php @@ -0,0 +1,73 @@ +format("Y-m-d"); + +// Alle heutigen Termine laden +$termine = DatabaseShow( + "Termine", + "*", + "DATUM = ? AND ERINNERUNG_AM IS NULL", + $heute +); + +foreach ($termine as $termin) { + + $terminZeit = new DateTime($termin["DATUM"] . " " . $termin["ZEIT"]); + $sekundenBisTermin = $terminZeit->getTimestamp() - $jetzt->getTimestamp(); + + // Nur Termine innerhalb der nächsten 30 Minuten + if ($sekundenBisTermin > 0 && $sekundenBisTermin <= 1800) { + + // Benutzer laden + $benutzer = DatabaseShow( + "Benutzer", + "*", + "NAME = ?", + $termin["ERSTELLT_VON"] + ); + + if (empty($benutzer)) { + continue; + } + + $benutzer = $benutzer[0]; + + if (empty($benutzer["EMAIL"])) { + continue; + } + + $subject = "Terminerinnerung"; + + $message = "Hallo {$benutzer["NAME"]},\n\n"; + $message .= "Du hast in weniger als 30 Minuten einen Termin.\n\n"; + $message .= "Termin: {$termin["NAME"]}\n"; + $message .= "Datum: {$termin["DATUM"]}\n"; + $message .= "Uhrzeit: {$termin["ZEIT"]}\n"; + + if (!empty($termin["NOTIZ"])) { + $message .= "Notiz: {$termin["NOTIZ"]}\n"; + } + + sendMail( + $subject, + $message, + "/cron/reminder.php", + true, + $benutzer["EMAIL"], + ); + + // Erinnerung als gesendet markieren + DatabaseUpdate( + "Termine", + "ERINNERUNG_AM = NOW()", + "ID = ?", + $termin["ID"] + ); + } +} \ No newline at end of file diff --git a/WEBROOT/modules/Mail.php b/WEBROOT/modules/Mail.php index d88acd7..54e2bb6 100644 --- a/WEBROOT/modules/Mail.php +++ b/WEBROOT/modules/Mail.php @@ -3,10 +3,10 @@ include_once __DIR__ . '/../controller/DatabaseController.php'; include_once __DIR__ . '/../controller/DataController.php'; -function sendMail($subject, $message, $url, bool $log) { +function sendMail($subject, $message, $url, bool $log, $to = "bruno.eckhardt07 qmail.com") { $headers = "From: bruno.eckhardt07@gmail.com\r\n"; mail( - "bruno.eckhardt07@gmail.com", + $to, $subject, $message, $headers