schachbulle / contao-helper-bundle
Sammlung von Hilfsfunktionen für die übrigen Erweiterungen, darunter ein einfacher dateibasierter Cache.
Package info
github.com/Samson1964/contao-helper-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-helper-bundle
Requires
- php: ^7.4 || ^8.0
- contao/core-bundle: ^4.13 || ^5.0
- menatwork/contao-multicolumnwizard-bundle: ^3.6 || ^4.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- phpunit/phpunit: ^9.5
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
This package is auto-updated.
Last update: 2026-07-31 13:12:02 UTC
README
Sammlung von Hilfsfunktionen für die übrigen Schachbulle-Erweiterungen: Datumsumwandlungen für die Schachdatenbanken, ein einfacher dateibasierter Cache, eine Formularhilfe und mehrere Insert-Tags rund um Schach und DeWIS.
Entwickler
Frank Hoppe
Voraussetzungen
- PHP 7.4 oder neuer
- Contao 4.13 oder Contao 5
- MultiColumnWizard (wird als Abhängigkeit mitinstalliert)
Ab Fassung 2.0.0 läuft das Bundle unter beiden Contao-Versionen. Wer noch Contao 4.4 bis 4.12 einsetzt, bleibt bei 1.8.12.
Insert-Tags
| Insert-Tag | Ergebnis |
|---|---|
{{alter::TT.MM.JJJJ}} |
Alter in vollen Jahren. Auch MM.JJJJ und JJJJ sind zulässig |
{{dwz::id}} |
Aktuelle DWZ zur DeWIS-Kennung |
{{elo::id}} |
Aktuelle Elo, verlinkt auf das FIDE-Profil |
{{ftitel::id}} |
FIDE-Titel; mit {{ftitel::id::lang}} ausgeschrieben |
{{verein::id}} |
Vereinsname; mit {{verein::id::30}} auf 30 Zeichen gekürzt |
{{figur::wB}} |
Grafik einer Schachfigur; mit {{figur::wB/32}} in 32 Pixeln |
Zu jedem Tag gibt es eine Zweitschreibweise mit dem Präfix cache_ (etwa {{cache_dwz::123}}) für Seiten, die zwischengespeichert werden.
Die Ersetzungen, mit denen {{verein::id}} lange Vereinsnamen kürzt, stehen im Backend unter System → Einstellungen → Insert-Tag verein. Ein Pluszeichen steht dort für ein Leerzeichen, damit sich führende und abschließende Leerzeichen eingeben lassen.
Die Abfragen an das Wertungsportal lassen sich über den Schalter dewis_switchedOff abschalten; er wird vom contao-dewis-bundle gepflegt.
Simple PHP Cache für Contao
Information
Die Cache-Klasse ist eine Anpassung für Contao. Sie basiert auf Simple PHP Cache.
Die Cache-Dateien liegen unter system/cache/schachbulle/. Ab Fassung 2.0.0 wird das Verzeichnis über den Container-Parameter kernel.project_dir bestimmt und steht damit auch bei Cronjobs und Konsolenbefehlen zur Verfügung.
Anwendung
<?php // Standardcache aktivieren, das Standardverzeichnis ist system/cache/schachbulle // Die Schlüssel werden in der Standardcachedatei "default" abgelegt, wenn kein Parameter // (hier 'Name') angegeben wird $cache = new \Schachbulle\ContaoHelperBundle\Classes\Cache('Name'); // String erstellen, es sind aber beliebige Datentypen möglich - auch Objekte und Arrays $result = "Hallo"; // String im Cache mit dem Schlüssel "ablage" speichern, Cachelebenszeit 3600s = 1h $cache->store('ablage', $result, 3600); // Cache mit dem Schlüssel "ablage" laden $daten = $cache->retrieve('ablage'); // Cache mit allen Schlüsseln laden $daten = $cache->retrieveAll(); // Cache mit allen Schlüsseln und Metadaten laden $daten = $cache->retrieveAll(true); // Cache mit dem Schlüssel "ablage" löschen $cache->erase('ablage'); // Cache mit allen Schlüsseln löschen $cache->eraseAll(); // Cache mit den abgelaufenen Schlüsseln löschen $cache->eraseExpired(); // Cache mit Schlüssel "ablage" auf Existenz prüfen und wenn vorhanden in Variable $result laden if($cache->isCached('ablage')) { $result = $cache->retrieve('ablage'); } // Cache mit einem neuen Dateinamen 'Test' generieren // Die Schlüssel werden jetzt in dieser Datei verwaltet. $cache2 = new \Schachbulle\ContaoHelperBundle\Classes\Cache('Test'); // Möglich ist der Wechsel des Cachenamens auch so, ohne ein neues Objekt anzulegen $cache->setCache('Test'); ?>
Alter berechnen
<?php // Parameter $string: TT.MM.JJJJ oder MM.JJJJ oder JJJJ // Rückgabe: Alter in vollen Jahren, oder false wenn die Eingabe kein Datum ist $alter = \Schachbulle\ContaoHelperBundle\Classes\Alter::Jahre($string); ?>
Fehlt der Tag oder auch der Monat, wird auf den Monatsersten bzw. den 1. Januar aufgefüllt; das ermittelte Alter ist dann die Obergrenze.
Tests
vendor/bin/phpunit
Die Tests kommen ohne Contao aus. Läuft PHPUnit an anderer Stelle, wird die Konfiguration mitgegeben:
php ../../tools/phpunit9/vendor/phpunit/phpunit/phpunit --configuration phpunit.xml.dist