schachbulle / contao-tributes-bundle
Verwaltet Ehrungen des Deutschen Schachbundes und gibt sie im Frontend aus.
Package info
github.com/Samson1964/contao-tributes-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-tributes-bundle
Requires
- php: ^7.4 || ^8.0
- contao/core-bundle: ^4.13 || ^5.0
- menatwork/contao-multicolumnwizard-bundle: ^3.6 || ^4.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- schachbulle/contao-spielerregister-bundle: ^3.1
- symfony/config: ^5.4 || ^6.0 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.0 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.0 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.0 || ^7.0
- symfony/routing: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- contao/manager-plugin: ^2.0
Suggests
None
Provides
None
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
Replaces
None
README
Contao-Erweiterung zur Verwaltung der Ehrungen des Deutschen Schachbundes. Ehrungen werden im Backend in Listen gepflegt, im Frontend über ein Inhaltselement ausgegeben und — sofern die geehrte Person mit dem Spielerregister verknüpft ist — für eine Geburtstagserinnerung per E-Mail herangezogen.
Autor: Frank Hoppe
Anforderungen
| PHP | 7.4 oder neuer, geprüft bis 8.4 |
| Contao | 4.13 LTS oder 5.x, geprüft gegen 4.13.58 und 5.7.7 |
| Weitere Pakete | menatwork/contao-multicolumnwizard-bundle, schachbulle/contao-spielerregister-bundle |
Installation
composer require schachbulle/contao-tributes-bundle
Anschliessend die Datenbank aktualisieren (Contao Manager oder
vendor/bin/contao-console contao:migrate).
Backend
Im Bereich Inhalte erscheint das Modul Ehrungen. Es kennt zwei Ebenen:
- Ehrungsliste (
tl_tributes) — der Behälter, etwa „Goldene Ehrennadel des DSB“ oder „Ehrenmitglieder des DSB“. Titel, Alias und Veröffentlichung. - Ehrung (
tl_tributes_items) — der einzelne Eintrag mit Jahr, Name, Bild, Weblink, Kurz- und Langinformation sowie einer internen Bemerkung.
Über das Feld Eintrag im Spielerregister lässt sich eine Ehrung mit einer
Person aus schachbulle/contao-spielerregister-bundle verknüpfen. Nur
verknüpfte Personen erscheinen in der Geburtstagserinnerung; in der Listenansicht
zeigt ein grünes beziehungsweise rotes Symbol, ob die Verknüpfung besteht.
Frontend
Das Inhaltselement Ehrungsliste (Bereich „Include-Elemente“) gibt eine Liste
als Tabelle aus. Template: mod_tributes_liste.html5.
Bereitgestellte Template-Variablen:
| Variable | Bedeutung |
|---|---|
item |
Feld der Ehrungen mit year, url, target, name, info, image, thumbnail |
view_year |
wahr, wenn mindestens ein Eintrag ein Jahr hat |
view_url |
wahr, wenn mindestens ein Eintrag einen Weblink hat |
view_info |
wahr, wenn mindestens ein Eintrag eine Kurzinformation hat |
Ist eine Ehrung mit dem Spielerregister verknüpft, wird der Name auf
person/player/<ID>.html verlinkt und bei verstorbenen Personen ein Kreuz
angehängt. Diese Adresse ist fest verdrahtet und setzt voraus, dass das
Spielerregister genau dort erreichbar ist.
Geburtstagserinnerung
Die Erweiterung prüft vier Stichtage — heute, morgen, in einer Woche und in zwei Wochen — und verschickt für die dann anstehenden Geburtstage geehrter Personen eine Sammelmail. Ehrungen aus der „Goldenen Ehrennadel des DSB“ und den „Ehrenmitgliedern des DSB“ gehen zusätzlich über ein SMS-Gateway hinaus.
Eingerichtet wird das unter System → Einstellungen, Abschnitt Ehrungen: Absender, Betreff und die Empfängerliste (der erste aktive Eintrag steht im To-Feld, alle weiteren in Kopie) sowie die Zugangsdaten des SMS-Gateways.
Angestossen wird der Versand über einen Seitenaufruf, gedacht für einen täglichen Cron-Auftrag beim Hoster:
https://www.beispiel.de/ehrungen/geburtstage
Die frühere Adresse /bundles/contaotributes/ehrungen.php funktioniert
weiterhin; sie ist als zweite Route auf denselben Controller gelegt. Die Antwort
ist ein kurzer Textbericht ohne Namen und Geburtsdaten, damit im Cron-Protokoll
keine personenbezogenen Angaben landen.
Hinweis: Der Aufruf ist nicht gegen Fremdzugriff geschützt — wer die Adresse kennt, kann den Versand auslösen. Das war in der Vorgängerfassung ebenso. Wo das stört, hilft eine Sperre im Webserver.
Prüfstand
tests/pruefstand.php lädt das Bundle gegen eine vorhandene Contao-Installation
und prüft Klassen, DCA-Dateien, Sprachdateien, Dienst- und Routendefinitionen
sowie die Dateikodierung:
C:\xampp\php\php.exe tests/pruefstand.php F:\Claude\contao-test-413
C:\xampp\php\php.exe tests/pruefstand.php F:\Claude\contao-test
Der Rückgabewert ist 0, wenn alle Prüfungen bestanden wurden.
Lizenz
LGPL-3.0-or-later, siehe LICENSE.