Re: [BETA] phpBB3 Football MOD Version 0.9.2
Verfasst: 15.02.2011 01:17
football_xml_season.php ist ja nur die Übersicht der Ligen in XML, die ich im Update-Modul dazu benutze, die Dropdownfelder für Saison und Liga zu generieren (im ersten Bild unter Quelle).
Hat man eine Liga ausgewählt hat, ruft das Update-Modul die XML-Daten der Liga ab, z.B. football_xml_league.php?season=2011&league=1. Das ist die Datei die man downloaden kann, wenn man auf die Diskette klickt. Falls der Hoster einen direkten Zugriff auf die Quelle nicht erlaubt, kopiert man einfach die Downloads der gewünschten Ligen auf den eigenen Host und ruft dann das Update-Modul mit localhost statt der football_xml_season.php auf. Dann werden alle heruntergeladenen Ligen zur Auswahl im Update-Modul angeboten.
Die XML Daten werden dann mit den Daten in der Datenbank verglichen und man kann die Änderungen auswählen, die man übernehmen möchte.
Dies ist wie gesagt der manuelle Teil den man im Adminbereich durchführen kann. Das läuft bei mir soweit auch schon einigermaßen, bis auf die notwendigen Nacharbeiten, wie Abgabetermine und Status im Spieltag anhand der dann in der DB befindlichen Daten ermitteln, Ranglisten neu berechnen usw.
Das Update hat ja einfach nur die Daten verändert, ohne dabei die in der Tipprunde notwendigen Funktionen auszuführen.
Ein automatisches Update stelle ich mir so vor, dass man ein weiteres php-Script, nennen wir es einmal cron_update.php, per Cronjob mit folgenden Parametern (in Prosa) aufruft:
Quelle=http://football.bplaced.net/football/xm ... 1&league=1
Ergebnisse = Ja
Termine = Ja
nur Ergebnisse mit Status 3 oder 6 = Ja
Für DFB-Pokal, CL und EL wären weitere Parameter sinnvoll (neue Teams übernehmen, Runde in der ein Team ist übernehmen ...)
In der ersten Version würde ich davon ausgehen, dass die Team-IDs von Quelle und Ziel identisch sind. Spätere Versionen könnte man um ein Mapping erweitern.
Die Parameter für cron_update.php stehen vielleicht (je Liga) in einer DB-Tabelle. Dann ruft man cron_update.php nur regelmäßig und nach Spielende auf und aus der DB-Tabelle wird ermittelt, woher das Update welche Liga holt und welche Daten in der Liga aktualisert werden sollen.
Egal woher die Update-Daten stammen, bleibt fraglich, ob ein bereits eingetragenes endgültiges Ergebnis durch das Update einfach überschrieben werden soll, oder nicht. Zumindest sollten solche Abweichungen protokolliert werden.
Zu openligadb: Die Spiele Aue - 1860 und Fulham - Chelsea haben derzeit noch kein Ergebnis
Aktuell kann man das dann nicht nennen.
Hat man eine Liga ausgewählt hat, ruft das Update-Modul die XML-Daten der Liga ab, z.B. football_xml_league.php?season=2011&league=1. Das ist die Datei die man downloaden kann, wenn man auf die Diskette klickt. Falls der Hoster einen direkten Zugriff auf die Quelle nicht erlaubt, kopiert man einfach die Downloads der gewünschten Ligen auf den eigenen Host und ruft dann das Update-Modul mit localhost statt der football_xml_season.php auf. Dann werden alle heruntergeladenen Ligen zur Auswahl im Update-Modul angeboten.
Die XML Daten werden dann mit den Daten in der Datenbank verglichen und man kann die Änderungen auswählen, die man übernehmen möchte.
Dies ist wie gesagt der manuelle Teil den man im Adminbereich durchführen kann. Das läuft bei mir soweit auch schon einigermaßen, bis auf die notwendigen Nacharbeiten, wie Abgabetermine und Status im Spieltag anhand der dann in der DB befindlichen Daten ermitteln, Ranglisten neu berechnen usw.
Das Update hat ja einfach nur die Daten verändert, ohne dabei die in der Tipprunde notwendigen Funktionen auszuführen.
Ein automatisches Update stelle ich mir so vor, dass man ein weiteres php-Script, nennen wir es einmal cron_update.php, per Cronjob mit folgenden Parametern (in Prosa) aufruft:
Quelle=http://football.bplaced.net/football/xm ... 1&league=1
Ergebnisse = Ja
Termine = Ja
nur Ergebnisse mit Status 3 oder 6 = Ja
Für DFB-Pokal, CL und EL wären weitere Parameter sinnvoll (neue Teams übernehmen, Runde in der ein Team ist übernehmen ...)
In der ersten Version würde ich davon ausgehen, dass die Team-IDs von Quelle und Ziel identisch sind. Spätere Versionen könnte man um ein Mapping erweitern.
Die Parameter für cron_update.php stehen vielleicht (je Liga) in einer DB-Tabelle. Dann ruft man cron_update.php nur regelmäßig und nach Spielende auf und aus der DB-Tabelle wird ermittelt, woher das Update welche Liga holt und welche Daten in der Liga aktualisert werden sollen.
Egal woher die Update-Daten stammen, bleibt fraglich, ob ein bereits eingetragenes endgültiges Ergebnis durch das Update einfach überschrieben werden soll, oder nicht. Zumindest sollten solche Abweichungen protokolliert werden.
Zu openligadb: Die Spiele Aue - 1860 und Fulham - Chelsea haben derzeit noch kein Ergebnis
Aktuell kann man das dann nicht nennen.