s4luorth 40f4207024 feat: kein interner-name-feld mehr - ID automatisch aus anbietername
- Dienst-Zeile zeigt/erfordert nur noch den Anbietername.
- Interne ID wird beim Speichern aus dem Namen abgeleitet (sanitize_title),
  bestehende IDs bleiben via Hidden-Field stabil; Eindeutigkeit erzwungen.
- Shortcode-Hilfe erklaert: ID = Anbietername in Kleinbuchstaben mit Bindestrichen.
- EN-Uebersetzung (120) aktualisiert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 17:03:26 +02:00

GDPR Content Blocker — Monorepo

DSGVO-konformer Consent-Blocker für externe iframes + selbst-gehosteter Lizenz-/Update-Server.

Struktur

  • gdpr-content-blocker/ — das WordPress-Plugin. Aus diesem Ordner wird die Release-ZIP gebaut (Top-Level-Ordner gdpr-content-blocker/).
  • license-backend/ — Node/Express + SQLite Lizenz- & Update-Backend (Docker).
  • hilfsdaten/ — interne Notizen, Spickzettel, Gitea-Runner-Setup (nicht Teil des Plugins).
  • release.ps1 — baut die Plugin-ZIP und lädt sie ins Backend (manueller Release).

Manueller Release (Update verteilen)

  1. Version in gdpr-content-blocker/gdpr-content-blocker.php bumpen (Header Version: und define( 'CB_VERSION', … )), committen.
  2. ZIP bauen + hochladen:
    .\release.ps1 -Version 1.0.1 -Token DEIN_ADMIN_API_TOKEN
    
  3. Lizenzierte Seiten sehen das Update unter Plugins.

Details: siehe hilfsdaten/SPICKZETTEL.md.

Backend starten

Siehe license-backend/README.md.

Hinweis

Secrets (.env) sind per .gitignore ausgeschlossen und gehören nicht ins Repo.

Description
No description provided
Readme 811 KiB
Languages
JavaScript 49.8%
PHP 43.9%
CSS 3.2%
Python 2.1%
PowerShell 0.7%
Other 0.3%