7. Oktober 2026 · Changelog
CDPCMS 1.15.0
- Neues Modul CDPNews (Auftrag 898, Michael: „CDPNews muss eigenes Modul sein, das ich mit CDPCMS nutzen kann; keine messbaren Veränderungen im PSI“): `backend/app/Modules/CdpNews/` mit eigener VERSION/CHANGELOG. Redaktion → Newsletter (Seitenleiste): Anbindung an eine CDPNews-Instanz (an/aus, Adresse, Site-Key, Secret als Passwortfeld – verschlüsselt, nie angezeigt –, Listen-Schlüssel, weitere Listen je Kennung), Texte des Anmeldeblocks, „Verbindung prüfen“ (ohne Mail), „Baustein installieren“. Tabelle `cdpnews_settings` (Migration 2026_10_07_000500). Befehle `cdpnews:installieren`, `cdpnews:anbinden`.
- Baustein für jedes Theme: `connect/cdp-news.php` (cdpnews_block/handle/css/script) – Anmeldung von Server zu Server an `<Instanz>/api/subscribe/` mit HMAC-SHA256, Honeypot + unterschriebener Zeitstempel, funktioniert ohne JavaScript (POST mit Rücksprung und Meldung), optional `core/assets/js/cdp-news.js` (1,3 KB, defer). Kein externes CSS/JS, keine Schriften, Meldungszeile mit fester Höhe (CLS 0), Label, aria-live, Tippflächen 48 px. Ohne Anbindung bleibt der Baustein leer.
- Theme cdpnotfall 1.15.0: Newsletter-Anmeldung oben im Fuß von Shop 1 (Fuß wie schlumpf-spray.com, Standardliste) und Shop 2 (Fuß wie smarfie.com, Liste „shop-2“) über den Baustein des Moduls – kein eigener Newsletter-Code im Theme; sieben Zeilen CSS für Farben und Abstand im Inline-Theme-CSS.
- Gegenstelle cdpnews.de (decix, nicht in diesem Repository): neue Schnittstelle `POST /api/subscribe/` je Anbindung (Tabelle `sites` mit Site-Key und Secret, Listen-Schlüssel), `controller/cdp-anbindung.php` und `cdp-anbindung-cli.php`; Kern `cdp_nl_subscribe()` mit wählbarer Liste. Die bisherige Schnittstelle `/api/anmelden/` der drei Shops bleibt unverändert.