Ranglisten-Mail wird nicht versendet

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Hallo zusammen,


    ich habe das Addon installiert, es wird aber keine Ranglisten-Mail versendet. Wenn ich das Cron-Script (https://tippspiel.tld/bulitipp…anglisten_mail.php?pw=xxx) Script manuell im Browser aufrufe, erhalte ich diese Meldung:


    Zitat

    Aufruf erfolgreich...


    10.09.2023 - 18:07 Uhr


    Spieltag noch nicht abgeschlossen. Keine Ranglistenmail versendet.


    Kann mir jemand sagen, was ich falsch gemacht habe?


    Danke und viele Grüße,

    Roi

  • Du willst ja schon für den nächsten Spielltag versenden!

    Such hier mal, da kann man bestimmte Parameter mit übergeben dann versendet er es für einenn bestimmten Spieltag!

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • Hallo Horst,


    ja gut, irgendwann muss er ja für den vergangenen Spieltag versenden. Das kriegt er ja auch hin, wenn er Ergebnisse einträgt.


    Ein Parameter, der sich auf den jeweils letzten Spieltag bezieht, wäre aber vermutlich praktikabel. Dann könnte man Montag oder so einmal die Woche versenden, Wobei man das dann vermutlich auch abstellen muss, wenn kein Spieltag ist. Auch nicht toll.


    Habe hier im Forum aber nichts gefunden, nach was soll ich da denn suchen? Habe alles mögliche versucht und auch manuell geguckt.


    Viele Grüße,

    Roi

  • Also ich hab nicht mal 5 Sekunden gesucht

    Die Tabelle BL1


    als Beispiel

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • Das ist doch im Handling gleich, mir ging es nur darum wie man die Parameter dran hängt

    Versuch es doch einfach mal

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • Habe mir den Code von ranglisten_mail.php angeschaut. Außer dem Passwort ("pw") werden keine Parameter aus der URL ausgewertet.


    Jedenfalls gibt diese Funktion ein FALSE zurück:


    Code
    1. $abgeschlossen = SpieltagFinished($fetch_spieltag['spieltag']);

    Und das dürfte auch der Grund sein, warum es nicht weiter geht, also keine Mail erzeugt wird und lediglich o.g. Meldung erscheint.


    Der Code vorher ermittelt korrekt den Spieltag (im aktuellen Fall also 3) und dieser Spieltag wird dann auch an die Function SpieltagFinished übergeben. Warum dann ein FALSE zurück kommt, keine Ahnung. So toll bin ich in PHP/SQL auch nicht.


    Mal so gefragt: Funktioniert die Ranglisten Mail unter PHP7 denn bei jemandem überhaupt?

  • Sorry, dass ich mich da mal kurz mit einmische.

    Ich hatte dieses ADDON früher mal unter php7 installiert gehabt, war ganz ehrlich vom Ergebnis nicht so überzeugt. Ja, es hatte aber funktioniert. Vielleicht muss man die Ausgabeseite, die per Cronjob versendet wird, mal stylisch etwas anpassen, sollte aber nicht so das Problem sein. Wie gesagt, da mich das Ganze nicht so überzeugt hatte, wurde mein Cronjob dahingehend wieder deaktiviert. In der profil.php hab ich heut noch meine Rudimente von damals wieder gefunden und mal meinen Cronjob reaktiviert. Diesen jetzt manuell gestartet, und die Aussage bekommen, es sind noch nicht alle Spiele am Spieltag abgeschlossen. Ist auch logisch, das Tippspiel hat aktuell den 4.ST geladen und der ist noch nicht vorbei.

    Worauf ich gern nochmal verweisen mag, bitte nicht blind die Profil.php kopieren, es sei denn ihr habt ein neu installiertes Tippspiel. Bei mir in der profil.php ist schon u.a. der Bezahl-Mod, der Gewinn-Mod, der erweiterte Profilbild-Mod installiert.

  • Hallo Kai,


    vielen Dank. In der profil.php kann ich als User ja lediglich hinterlegen, ob ich die Ranglisten Mail erhalten will oder nicht. Versendet wird dann mit ranglisten_mail.php.


    Spannend, dass bei Dir die Meldung eine andere ist wie bei mir. Wobei ich mich frage, woher diese Fehlermeldung kommt. Denn das Wort "spiele" finde ich nicht in ranglisten_mail.php. Daher auch die Frage an Dich, welche Version Du hier laufen hast.


    Kuddelmuddel irgendwie alles. ;-)


    Viele Grüße,

    Roi

  • Kuddelmuddel irgendwie alles. ;-)

    Du sprichst es aus! Ja so war das Script 4.12 - jeder konnte individuelle Anpassungen vornehmen, Addons schreiben mit Eingriff in die Config-Dateien. Und genau das soll jetzt mit dem xtipp-Script vermieden werden. Ein sauberer Kernel für alle. Und alle neu zu programmierenden Addons setzen dann auf und benutzen die zur Verfügung unter Laravel stehenden Bibliotheken. Zum einen ist die Sicherheit gewährleistet, weil keiner mehr im Inneren herum murkst. Ein neu programmiertes Addon läuft dann auch bei allen,


    Zurück zum Ranglisten-Mail-Addon: Hier mal ein Sreenshot nach Aufruf des Cronjobs, wegen dem Wortlaut spiele etc..


    Ranglisten-Mail.jpg

  • Aus den genannten Gründen freue ich mich sehr auf xTIPP. Aber leider müssen wir uns wohl noch eine Weile mit Bulitipp behelfen. Immerhin scheint das ja größtenteils zu laufen und klar, diese Ranglisten Mail ist nicht das wichtigste Feature. Aber ich hätte sie halt doch gerne, da sie auch vor einiger Zeit (ist aber schon Jahre her) implementiert war. Kenne ja mein eigenes Nutzerverhalten und das der Mittipper.


    Zu Deiner Fehlermeldung: Tja, das ist genau die gleiche Meldung wie bei mir. Und ich behaupte mal, dass Du bei Dir wohl auch keine Ranglisten Mails erzeugt werden, egal zu welchem Zeitpunkt. Habe das bei mir zur neuen Saison implementiert und den Cronjob auf Sonntag am späten Abend eingestellt. Und das Script auch zu verschiedenen Zeitpunkten manuell gestartet. Leider gab es für keinen der drei abgeschlossenen Spieltage je eine Mail...


    Siehe oben, SpieltagFinished liefert FALSE zurück. Mein Verständnis ist, dass aktuell der 3. Spieltag abgeschlossen ist und der 4. Spieltag nicht begonnen hat. Also beste Voraussetzungen für die Ranglisten Mail. Dazu wird auch noch ein Parameter in einer anderen Tabelle geprüft bzw abgelegt, dass so eine Mail nur einmal pro Spieltag versendet wird. Aber dazu kommt es ja gar nicht, da es keinen abgeschlossenen Spieltag gibt. Für dieses Script jedenfalls. Spannenderweise wird SpieltagFinished noch für andere Funktionen im Tippspiel verwendet, ist ja eine Core Funktion. Da scheint es zu funktionieren. Mehr war für mich mit meinen sehr bescheidenen PHP Kenntnissen nicht herauszufinden und wer weiß, vielleicht lieg ich ja auch falsch. Daher meine Nachfragen, ob es bei irgendjemanden funktioniert und falls ja, welcher Download verwendet wird oder ob es Anpassungen des Downloads gab.

  • Und ich behaupte mal, dass Du bei Dir wohl auch keine Ranglisten Mails erzeugt werden, egal zu welchem Zeitpunkt.

    Ich hab den Cronjob bei mir am Sonntag auf 22 Uhr gesetzt, da decke ich ein ev. 19:30 Uhr Spiel am Sonntag mit ab und kann am Montag berichten. Ich hab das mal so eingestellt, dass mir ne Mail von Plesk gesendet wird, ob der Cronjob fehlerfrei oder mit einem Fehler ausgeführt wird/wurde.

  • Eben geschaut. Bei mir war 20 Uhr eingestellt. Hätte aber die ersten 3 Spieltage klappen sollen. Habe es eben aber auch mal auf 22 Uhr gestellt.


    Den Output sehe ich nicht, aber ich habe geprüft, ob der Job gelaufen ist. Es läuft ja über den Webserver und einen entsprechenden Aufruf kann ich in der access.log sehen.