Ich habe den ersten Cron auf "heute (14.06)" 6 Uhr gestellt und die Mail wurde zwei mal versendet... kann mir aber nicht erklären warum, hatte das zufällig noch jemand?
Bei mir wurde nur eine Mail an jeden User gesendet. Reminder habe ich auf 8:00Uhr und alles sieht gut aus.
Hab jetzt mal den Reminder für morgen als versendet gesetzt, der Test danach für den Reminder morgen wieder mit Russland- Saudiarabien als kommenden Spiel am 14.06
Wo wird send = 1 in der DB berücksichtigt, ich finde in reminder.php dazu nichts?
Meiner Meinung nach ermittelt er das nach dem Datum!
Zuerst wird bestimmt, ob für das angegebene Datum ein Reminder in der DB existiert. Wenn nicht, dann kommt "Nothing to do today"
Dann wird basierend auf diesem Reminder der vorherige und der nachfolgende Reminder gemerkt.
Jetzt wird das Datum des vorherigen und des nachfolgenden Reminders bestimmt.
Dann wird noch die Query auf den angegebenen User beschränkt.
In der Folge werden aber die Spiele auf das aktuelle Datum bezogen ermittelt und nicht auf das in der Testfunktion angegebene Datum!
ALSO: alles gut! Es wird funktionieren.
Natürlich könnte man die Testfunktion weiter ausbauen, damit das übergebene Datum auch überall berücksichtigt wird... Eventuell geht das sogar ganz einfach, indem man die folgenden Zeilen in der reminder.php auf diese hier anpasst:
- $sqlGamesReview = $CONFIG['MYSQL']['CONNECT']->query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."spiele WHERE date >= '".$timeLast."' AND date <= '".$today."' ORDER BY date ASC");
- $numGamesReview = $sqlGamesReview->num_rows;
- $sqlGamesPreview = $CONFIG['MYSQL']['CONNECT']->query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."spiele WHERE date >= '".$today."' AND date <= '".$timeNext."' ORDER BY date ASC");
Ich möchte hier aber keine Zeit weiter investieren, da ich mir sicher bin, dass es hiermit funktioniert.