Files
E.Noorlander 6d5ca7cab4 v2.6.1d (Lyra): Plugin i18n, plugin editor vernieuwd, media invoegen
Plugin internationalisatie: plugins hebben eigen language/ mappen. Systeem
plugins volgen admin taal (admin.php), content plugins volgen content taal
(site.php). Fallback chain: geselecteerd -> plugin default_language -> CMS
default. PluginManager/AdminPluginAPI/CMSAPI uitgebreid met
getPluginTranslations()/t(). plugin.json settings ondersteunen
label_key/help_key/option_label_key.

Plugin uniformiteit: alle 6 plugins hebben uniforme structuur (README.md,
assets/.gitkeep, language/nl|en/). plugins/README.md herschreven.
guide plugin-development.md (NL+EN) volledig herschreven.

Plugin editor vernieuwd: geneste bestandsbrowser zijbalk, nieuw bestand
aanmaken, uploaden naar assets/, verwijderen en verplaatsen. Nieuwe routes:
plugins-file-upload, plugins-file-delete, plugins-file-move. Path-traversal
bescherming + protected plugins geblokkeerd.

Media invoegen in editor: nieuw /admin/media-list JSON endpoint + herbruikbare
_media-modal.twig include. Plugin-context scant assets/ map. editor-toolbar.js
modeMap uitgebreid voor css/scss/js/json.

Plugin overzicht knoppen: alleen iconen met title/aria-label.

Tests: pentest 30/30, WCAG 2.1 AA 25/25.
2026-08-18 13:49:52 +00:00

1.9 KiB

CMS Architectuur

codepress/
├── cms/core/                # Core engine
│   ├── class/               # CodePressCMS, ThemeManager, Logger, Analytics
│   ├── plugin/              # PluginManager, PluginAPIInterface, CMSAPI, AdminPluginAPI
│   ├── config.php           # Config loader
│   └── index.php            # Bootstrap
├── admin/                   # Admin console
│   ├── config/              # app.php, admin.json
│   ├── src/                 # AdminAuth
│   └── theme/default/views/ # Twig templates
├── themes/                  # Thema's (default, ...)
├── plugins/                 # Plugins (Dashboard, HTMLBlock, Navigation, ...)
│   └── <Plugin>/            # Elke plugin heeft:
│       ├── <Plugin>.php     # Hoofd class
│       ├── plugin.json      # Metadata + instellingen
│       ├── README.md        # Documentatie
│       ├── assets/          # CSS/JS/SCSS
│       └── language/        # Plugin vertalingen (nl/, en/, ...; admin.php/site.php)
├── content/                 # Content bestanden (.md, .php, .html)
├── language/                # Core CMS taalbestanden (nl/, en/, de/; site.php + admin.php)
├── guide/                   # Handleidingen (nl/, en/)
├── public/                  # Web root
│   ├── index.php            # Website entry point
│   └── admin.php            # Admin entry point + router
├── config.json              # Site configuratie
└── version.php              # Versie info

Plugin i18n

Plugins hebben hun eigen language/ map met vertalingen. Systeem plugins volgen de admin taal (language/<lang>/admin.php), content plugins volgen de content taal (language/<lang>/site.php). Fallback chain: geselecteerde taal → plugin default_language → CMS site default → lege array. Zie guide/nl/codepress-developer/plugin-development.md voor details.