# TODO ## Voor elke versie verhoging. Deze nooit weghalen. - [ ] Pentest controles uitgevoerd - [ ] WCAG 2.1 AA accessibility tests - [ ] Volledige git commit maken. - [ ] Verslag maken voor opdrcht gever - [ ] Na convormatie versie verhogen - [ ] Bij Voltooid versie ophoging aanmaken en deze allemaal unvinken voor volgende ronde. ## Te doen ⏳ - [ ] Multidomein implementeren (elk domein = eigen thema + content, één admin + site name) - [ ] Fase 1: Config-resolutie - [ ] For apache instants domein settings /public/noorlander.info/ or /public/mycode.name/ - [ ] config.domains.json (registry: host, aliases, redirect, config) + .example - [ ] cms/core/domain.php: normalizeHost/getDomainRegistry/resolveDomain/loadSiteConfigForHost - [ ] cms/core/config.php refactor → herbruikbare functie, compatibel blijven - [ ] Per-domein config-bestanden (content_dir, active_theme) in the main content dir. like: /content/domain1 /content/domain2 os /content/noorlander.info/ /content/mycode.name/ - [ ] Fase 2: Front-end - [ ] cms/router.php: taal-prefix dynamisch uit actieve config - [ ] public/.htaccess: generieke `([a-z]{2})` taalregel - [ ] CodePressCMS::getCurrentLanguage(): validatie via config['language']['available'] - [ ] getInternalHosts(): registry-hosts toevoegen (cross-domein links = intern) - [ ] public/index.php: /-media/ en /-assets/ via actieve content_dir - [ ] Fase 3: Admin (domeinbeheer + switch) - [ ] admin/config/app.php: domains_json pad - [ ] public/admin.php: $_SESSION['admin_domain'] + routes domains/domain-switch - [ ] domains.twig + sidebar-item/badge in admin.twig - [ ] Bestaande handlers laten werken op actief domein (config_json/content_dir patchen) - [ ] Fase 4: Housekeeping - [ ] .gitignore: config.*.json, content-*/ - [ ] AGENTS.md + config.json.example bijwerken - [ ] Verificatie: php -l, curl met Host-header, domein-switch in admin testen ## Voltooid ✅ - [x] Admin code en niet gebruikte mappen/bestanden opschonen - [x] version.php changelog verwijderen (staat in git) - [x] Guide mappenstructuur reorganiseren (NL/EN → rollen) - [x] README.md compacter maken met verwijzingen naar guide - [x] Admin dashboard template check — Twig-commentaren `{# ... #}` verwijderd uit Dashboard.php - [x] Plugins — zichtbaar verschil tussen system en content plugins (badge + border + icoon in plugins.twig) - [x] Plugins — alleen actieve plugins zichtbaar in sidebar (PluginManager laadt alleen enabled plugins) - [x] Plugins — dubbele enabled_plugins config opgelost (plugins.enabled verwijderd, alleen enabled_plugins op top-level) - [x] Admin config — Analytics & Logging toggles verwijderd van config-pagina - [x] Handleidingen gecontroleerd en bijgewerkt (20 bestanden NL+EN: configuratie, plugins, plugin-development, core-classes, theme-json, layouts, scss-styling, admin-beheerder, nieuw-thema, architectuur) - [x] Content backup/restore optie + content-git repository integratie (ContentBackup class, content-backup.twig, ZIP backup/restore, git init/commit/log/restore) - [x] Pentest controles uitgevoerd (30/30 tests geslaagd — 0 vulnerabilities) - [x] WCAG 2.1 AA accessibility tests (25/25 tests geslaagd — 100% compliance, test-script verbeterd met min/max checks en grep -E) ## v2.6.0 (2026-08-15) ✅ - [x] Pentest controles uitgevoerd (30/30) - [x] WCAG 2.1 AA accessibility tests (25/25) - [x] Verslag gemaakt (docs/release-notes/v2.6.0.md) - [x] Versie verhoogd naar 2.6.0