Nachdem es die gewünschte Funktion aktuell im Tippspiel nicht gibt, habe ich mich eigenständig daran versucht und dies für meine Bedürnisse umgesetzt.
Ziel war es eine Lösung zu finden um mit möglichst wenig Aufwand und geringen Modifikationen am aktuellen code und der Datenbank gleichzeitig in mehreren Tippspielgruppen teilnehmen zu können. Um nicht die Datenbankstruktur komplett umbauen zu müssen (n:1 -> n:m relation) wird hierzu eine Kopie des Spielers (Clone User) angelegt und den zusätzlichen Tippgruppen zugeordnet. Um jetzt nicht für jeden Clone die Tipps des tatsächlichen Spielers (Reference User) manuell nachziehen zu müssen, habe ich das in einer eigenständigen Funktion automatisiert.
Ich möchte meinen Workaround hier kurz mit Euch teilen:
- Zum globalen aktivieren/deaktivieren der Sync-Funktion wurde in der Config-Datei "inc.config.php" die Variable $CONFIG['REFRESH']['CLONES'] angelegt.
- Neue Tabelle "emtipp_users_clones" in der SQL-Datenbank angelegt. Diese Tabelle weist jeder UserID der Clones eine UserID des Referenz-Users zu (siehe Beispiel)
- Die Funktion admin_CopyBets() wurde in die Datei inc.functions.admin.php eingefügt. Diese Funktion synchronisiert alle Tipps des Referenz-Users zu seinen Clones (one-way).
- Auslagerung der mysql-Anweisungen zum Speichern der Bonus-Tipps von der Seite "tippen.bonuswetten.php" (normale und mobilen Version ./m/.. ) in eine seperate Funktion saveBonusTipps() in die Datei inc.functions.php
- Die Funktionen saveTipps() und saveBonusTipps() um den Aufruf der Funktion admin_CopyBets() am Ende erweitert.
- OPTIONAL: Die Seiten /content/admin.refresh.php, /m/content/admin.refresh.php und /extern/cron/admin.php sowie der Funktion autoRefresh() in der datei inc.functions.php um die Abfrage der oben erstellten globalen Variable und den Aufruf der Funktion admin_CopyBets() erweitern. Dadurch wird ein Sync der Tipps vor jedem DB-Refresh ausgeführt.
Beispiel-Tabelle "emtipp_users_clones":
usrid |
usrid_ref |
14 15 13 |
11 11 12 |
Bei mir läuft die synchronisation zwischen den Spielern und derer Clones in den verschiedenen Tippgruppen wie erwartet. Ich hoffe nichts vergessen und alles beachtet zu haben um nicht eine böse Überraschung nach dem Start der EM zu erleben
Vielleicht fällt euch noch etwas ein... Ich bin gespannt auf Eure Kommentare, Anregungen, Ideen und Fragen.
PS: Ich würde mich freuen wenn diese oder eine verbesserte Umsetzung dieser Funktion den Weg in zukünftige Versionen Eures Tippspiels finden würde.
Gruß JOJO