Search by

schachbulle / contao-schiedsrichter-bundle

Samson1964

Verwaltet Schiedsrichterlizenzen mit Stufen, Laufzeiten und Verlängerungen.

Package info

github.com/Samson1964/contao-schiedsrichter-bundle

Type:contao-bundle

pkg:composer/schachbulle/contao-schiedsrichter-bundle

Statistics

Installs: 38

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2026-09-03 07:11 UTC

This package is auto-updated.

Last update: 2026-09-03 07:16:50 UTC


README

Verwaltet die Lizenzen der Schachschiedsrichter: Stufen, Laufzeiten und Verlängerungen. Die Stammdaten kommen aus der Datenbank des Ergebnisdienstes und werden von dort übernommen; im Frontend lässt sich daraus eine Liste der aktuell lizenzierten Schiedsrichter ausgeben.

Anforderungen

  • PHP 7.4 bis 8.4
  • Contao 4.13 LTS oder Contao 5
  • Zugang zur Ergebnisdienst-Datenbank mit der Tabelle sr-person

Installation

Über den Contao Manager nach schachbulle/contao-schiedsrichter-bundle suchen, oder auf der Kommandozeile:

composer require schachbulle/contao-schiedsrichter-bundle

Anschließend die Datenbank aktualisieren (Contao Manager, Systemwartung, oder vendor/bin/contao-console contao:migrate).

Einrichtung

Im Backend unter Einstellungen im Abschnitt Schiedsrichter eintragen:

Feld Bedeutung
Host Server der Ergebnisdienst-Datenbank
Datenbank Name der Ergebnisdienst-Datenbank
Benutzer, Passwort Zugangsdaten dazu
Newsletter-Verteiler Der Verteiler, dessen Empfänger gepflegt werden sollen
Newsletter Zwangs-E-Mail Adresse, die immer Empfänger bleibt
Newsletter Zugangs-Token Kennwort für den Aufruf des Abgleichs von aussen, mindestens 16 Zeichen

Ein brauchbares Token erzeugt zum Beispiel:

php -r "echo bin2hex(random_bytes(16)), PHP_EOL;"

Benutzung

Backend-Modul

Unter Inhalte → Schiedsrichter stehen alle Datensätze. Der Knopf Import holt den aktuellen Stand aus dem Ergebnisdienst: Vorhandene Datensätze werden aktualisiert, unbekannte neu angelegt. Wer im Ergebnisdienst nicht mehr auftaucht, wird nicht gelöscht, sondern nur auf nicht veröffentlicht gesetzt.

Gesucht wird der Reihe nach über die Personenkennziffer, die FIDE-Kennung und die Lizenznummer — in dieser Reihenfolge, weil die Personenkennziffer am beständigsten ist und die Lizenznummer bei einer Höherstufung wechselt.

Frontend-Modul „Schiedsrichterliste"

Zeigt alle veröffentlichten Schiedsrichter mit gültiger Lizenz als Tabelle (Nachname, Vorname, Ort, Lizenz, letzte Änderung). Als gültig gilt, wessen Prüfung höchstens zehn und wessen Ausbildung höchstens fünf Jahre zurückliegt; ein nicht erfasstes Datum schließt niemanden aus.

Das Aussehen lässt sich über eine eigene Fassung des Templates mod_schiedsrichter.html5 anpassen.

Newsletter-Abgleich

Die Adresse

https://example.org/schiedsrichter/newsletter-synchronisation?token=DASTOKEN

trägt alle aktiven und ruhenden Schiedsrichter in den eingestellten Verteiler ein und entfernt alle übrigen Empfänger. Sie ist zum Aufruf per Cronjob gedacht und verlangt deshalb keine Anmeldung im Backend — stattdessen schützt sie das Zugangs-Token aus den Einstellungen. Ohne hinterlegtes Token weist der Abgleich jeden Aufruf ab, damit der Verteiler nicht versehentlich ungeschützt läuft.

Wer das Token nicht im Zugriffsprotokoll des Webservers stehen haben möchte, schickt es stattdessen als Kopfzeile:

curl -H "X-Schiedsrichter-Token: DASTOKEN" https://example.org/schiedsrichter/newsletter-synchronisation

Die Antwort nennt nur Stückzahlen; die Schiedsrichter ohne hinterlegte Adresse stehen im Systemprotokoll, ebenso der Grund für einen abgewiesenen Aufruf.

Der Verteiler wird ausschließlich aus dem Ergebnisdienst gespeist — von Hand eingetragene Empfänger entfernt der Abgleich wieder.

Umstieg von Version 1.x

Version 2.0.0 läuft unter Contao 4.13 und Contao 5. Beim Umstieg ist zu beachten:

  • codefog/contao-haste ist keine Abhängigkeit mehr. Der Umschalter in der Liste kommt jetzt vom Contao-Kern. Wenn keine andere Erweiterung Haste braucht, kann das Paket entfernt werden.
  • Die beiden PHP-Dateien unter public/bundles/contaoschiedsrichter/ sind entfallen. An ihrer Stelle stehen Routen. Die alten Adressen …/bundles/contaoschiedsrichter/Import.php und …/bundles/contaoschiedsrichter/NewsletterSynchronisation.php funktionieren weiterhin, weil sie als zusätzliche Routen nachgebildet sind — aber nur, wenn die alten Dateien wirklich weg sind. Wo Contao die Bundle-Dateien kopiert statt verlinkt, bleiben sie beim Update liegen und müssen von Hand aus public/bundles/contaoschiedsrichter/ (bzw. web/bundles/…) entfernt werden. Solange sie dort liegen, liefert der Webserver sie unmittelbar aus und Symfony sieht den Aufruf gar nicht.
  • Der Import verlangt jetzt eine Anmeldung im Backend. Vorher war die Adresse für jeden erreichbar.
  • Der Newsletter-Abgleich verlangt ein Token. Nach dem Update zuerst in den Einstellungen ein Newsletter Zugangs-Token eintragen und den Cronjob um ?token=DASTOKEN ergänzen — sonst läuft der Abgleich nicht mehr an. Der Grund steht dann im Systemprotokoll.

Entwickler

Frank Hoppe

Lizenz

LGPL-3.0-or-later