8. Oktober 2026 · Changelog
CDPCMS 1.19.1
- Neues Modul CDPDownload 1.0.0 (`backend/app/Modules/CdpDownload/`, Auftrag 903, Michael: „Download-Abwicklung installieren als Modul, gekoppelt an den jeweiligen Shop“): über Redaktion → Module aktivier-/deaktivierbar; Redaktion → Downloads: je Shop Einstellungen (an/aus, Link gültig in Stunden, Höchstzahl Downloads, Ablage außerhalb des Webordners, optional X-Accel-Pfad) und je Produkt mit Template „download“ eine Datei hochladen (nie direkt erreichbar). Tabellen `cdpdownload_settings`, `cdpdownload_files`, `cdpdownload_grants`, `cdpdownload_log` (Migration 2026_10_08_001000). Baustein `runtime/connect/cdp-download.php` für die Themes.
- Theme cdpfshop: nach bezahlter Bestellung (`shop_order_paid()`, dasselbe Ereignis wie die Bestellmail, kein Cron) je Download-Position ein unterschriebener Link `/download/<token>/` mit Ablauf und Höchstzahl – in der Bestellmail, auf der Danke-Seite und unter Mein Konto → Bestellungen (dort frischer Link für gültige Positionen); Auslieferung per PHP-Stream (8 KB) oder X-Accel-Redirect, jeder Abruf im Protokoll; abgelaufen/aufgebraucht → 410, Modul aus → 503. Download-Produkte sind nur kaufbar, wenn das Modul aktiv und eine Datei hinterlegt ist (Hinweis auf der Produktseite, Warenkorb nimmt sie sonst nicht an); reine Download-Bestellungen ohne DPD-Label. `SITE_DEMO_PAYMENT` (nur Vorschau): Demo-Zahlung auf /zahlung/ schließt die Bestellung ohne Geld ab; `SITE_MAIL_PREVIEW` versendet keine Mails. JS-Rücksprünge aus JSON beachten die Basis der Vorschau.