Search by

schachbulle / contao-internetschach-bundle

Samson1964

Nimmt Registrierungen für den Internetschachbetrieb des Deutschen Schachbundes auf.

Package info

github.com/Samson1964/contao-internetschach-bundle

Type:contao-bundle

pkg:composer/schachbulle/contao-internetschach-bundle

Statistics

Installs: 84

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2026-09-03 04:14 UTC

README

Nimmt Registrierungen für den Internetschachbetrieb des Deutschen Schachbundes auf, verwaltet Turnierserien, Anmeldungen, Turniertabellen und Preise und gibt die Ergebnisse im Frontend aus.

Frank Hoppe

Voraussetzungen

PHP 8.1 oder neuer (geprüft bis 8.4)
Contao 4.13 LTS oder 5.3 und neuer (geprüft mit 4.13.58 und 5.7)
PHP-Erweiterungen dom, mbstring, zip

Installation

composer require schachbulle/contao-internetschach-bundle

Was das Bundle mitbringt

Backend

Ein Modul Internetschach unter Inhalte mit fünf Tabellen:

Tabelle Inhalt
tl_internetschach Turnierserien mit ihren Turnieren und Gruppen
tl_internetschach_spieler Spielerstammdaten, importiert aus der DSB-Mitgliederverwaltung
tl_internetschach_anmeldungen Anmeldungen zu den Turnieren
tl_internetschach_tabellen Importierte Turniertabellen von ChessBase
tl_internetschach_preise Ausgelobte Preise und ihre Gewinner

Dazu kommen Funktionen zum Importieren, Auswerten und Exportieren:

  • Spielerdaten importieren — ZIP-Datei mit vereine.csv und spieler.csv. Achtung: ersetzt alle bisherigen Spieler der Turnierserie.
  • Tabelle importieren — HTML-Datei, wie ChessBase sie nach einem Turnier ausgibt.
  • Qualifikationen aktualisieren — trägt anhand der Tabellen ein, wer sich für das Finale qualifiziert hat.
  • Preise aktualisieren — verteilt die ausgelobten Preise auf die Platzierten.
  • Excel-Export der Anmeldungen und der Preise, jeweils zusätzlich per E-Mail.
  • Schnittstelle — stellt die Adresse zusammen, unter der sich die Anmeldungen abrufen lassen (siehe unten).

Inhaltselemente

Element Zweck
internetschach_formular Anmeldeformular mit Spielersuche und ChessBase-Prüfung
internetschach_anmeldungen Liste der Anmeldungen, mit Seitenblätterung
internetschach_tabelle Eine importierte Turniertabelle als HTML
internetschach_topspieler Gesamtwertung über mehrere Turniere

Frontendmodul

internetschach_pgnreplacer — ersetzt in einer PGN-Datei die ChessBase-Konten durch die Klarnamen aus den Anmeldungen. Noch unfertig: Das Modul nimmt die Datei entgegen und liest sie ein, gibt aber noch nichts zurück.

Schnittstellen

Drei Adressen liefern Daten für die Weiterverarbeitung. Sie ersetzen die früheren PHP-Dateien unter Resources/public/, die es unter Contao 5 nicht mehr geben kann; die alten Adressen funktionieren als Weiterleitung weiter.

Route Adresse Parameter
internetschach_anmeldungen /internetschach/anmeldungen id (Turnierserie, Pflicht), turnier (Kurzzeichen, optional), format (json oder excel)
internetschach_spielerliste /internetschach/spielerliste pid (Turnierserie), q (Suchbegriff, ab zwei Zeichen)
internetschach_check /internetschach/check cbname (ChessBase-Konto), playerid (optional)

Die alten Adressen /bundles/contaointernetschach/Anmeldungen.php, …/Spielerliste.php und …/Check.php zeigen auf dieselben Routen.

Die Adresse für die Anmeldungen lässt sich im Backend zusammenklicken: auf der Übersicht der Anmeldungen einer Turnierserie über den Knopf Schnittstelle. Dort werden Turnier und Format gewählt und die fertige Adresse zum Kopieren angezeigt.

Beispiel

https://example.org/internetschach/anmeldungen?id=3&turnier=v1&format=excel

Ohne turnier kommen alle Anmeldungen der Serie, ohne format kommt JSON. Ausgegeben werden ausschließlich veröffentlichte Anmeldungen.

Entwicklung

composer install --no-plugins
vendor/bin/phpunit

--no-plugins ist nötig, weil die Contao-Composer-Plugins für die reinen Unit-Tests nicht gebraucht werden und sonst freigeschaltet werden müssten.

Lizenz

LGPL-3.0-or-later