77 lines
1.9 KiB
PHP
77 lines
1.9 KiB
PHP
<?php
|
|
|
|
include_once(__DIR__ . "/../controller/DatabaseController.php");
|
|
include_once(__DIR__ . "/../modules/Mail.php");
|
|
|
|
date_default_timezone_set("Europe/Berlin");
|
|
|
|
$jetzt = new DateTime();
|
|
$heute = $jetzt->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"])) {
|
|
$notizClean = mb_convert_encoding($termin["NOTIZ"], "UTF-8", "auto");
|
|
$message .= "Notiz: {$notizClean}\n";
|
|
}
|
|
|
|
sendMail(
|
|
$subject,
|
|
$message,
|
|
$_SERVER['SCRIPT_NAME'] ?? 'CLI/Unbekannt',
|
|
true,
|
|
$benutzer["EMAIL"],
|
|
);
|
|
|
|
print_r("{$benutzer["EMAIL"]}\n{$message}");
|
|
|
|
DatabaseUpdate(
|
|
"Termine",
|
|
"ERINNERUNG_AM = ?",
|
|
"ID = ?",
|
|
date('d-m-Y H:i:s'),
|
|
$termin["ID"]
|
|
);
|
|
}
|
|
}
|