exportKaffeeliste.php band config.php direkt ein (keine Bootstrap-Kette)
und hatte ueberhaupt keine Zugriffskontrolle. TCPDF war im Repo nur
teilweise vorhanden (include/-Verzeichnis und Font-Definitionen fehlten
komplett), wodurch der Export bislang immer mit einem Fatal Error abbrach.
- TCPDF/include/ und die 14 PDF-Standard-Fonts (Helvetica, Courier, Times,
Symbol, ZapfDingbats) aus dem offiziellen TCPDF-6.6.2-Release nachvendort
(nicht die vollen ~25 MB an Unicode-Fonts, die hier nicht gebraucht
werden).
- Zugriffskontrolle ergaenzt (owner/admin/treasurer + Legacy-Fallback wie
bei den anderen Treasurer-Seiten).
- Vieltrinker-/Wenigtrinker-Aufteilung liest jetzt tenant-sicher ueber
ledger_fetch_participants_by_window_marks() statt Legacy-SQL direkt
gegen kl_Kaffeeverbrauch; Preis pro Strich kommt aus tenant_settings
statt kl_config. N+1-Abfragen pro Zeile durch die bereits geladene
Teilnehmerzusammenfassung ersetzt.
- scripts/http-smoke.php prueft den Export jetzt als regulaeren Check
(gueltige PDF-Antwort) statt als bekannten offenen Punkt.
- Live getestet: gueltiges zweiseitiges PDF, Namen/Salden im Textstream
verifiziert, Aufteilung stimmt mit Ledger-Daten ueberein.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>