Files
CodePress/plugins/Navigation
E.Noorlander d9ea2eee47 v2.6.5 (Lyra): Dynamische pad-resolutie, WordPress-stijl docblocks, security-fix wachtwoord, git-historie schoon
- Bug: dashboard toonde 0 content (AdminPluginAPI::getContentDir() gaf relatief pad terug zonder normalisatie)
- Dynamische pad-resolutie: PluginAPIInterface uitgebreid met getProjectRoot/getContentDir/getPluginsDir/getVersionInfo; CMSAPI en AdminPluginAPI implementeren deze universeel
- public/index.php media-serving gebruikt $config['content_dir'] i.p.v. hardcoded /content
- Navigation en Logs plugins halen paden via de API i.p.v. hardcoded dirname(__DIR__)
- WordPress-stijl docblocks toegevoegd voor alle classes, methods, properties en functies (~450 docblocks, @since 2.6.5)
- Security: hardcoded plaintext-wachtwoord 'admin' verwijderd uit AdminAuth.php; bij eerste installatie wordt een cryptografisch veilig wachtwoord gegenereerd (random_bytes, 16 tekens) en eenmalig op het inlogscherm getoond
- Security: git-geschiedenis schoongemaakt (admin.json, admin.json.example, admin-console/config/admin.json verwijderd uit alle commits; filter-branch over alle branches + tags, gc --prune --aggressive)
- README.md, README.en.md, AGENTS.md bijgewerkt
- Test-scripts bijgewerkt naar clean-URL structuur + actuele ARIA-waarden
- Versie verhoogd naar 2.6.5
- Tests: pentest 29/29, WCAG 25/25, functioneel 16/16, enhanced 25/25
2026-08-27 09:05:51 +00:00
..

Navigation Plugin

Essentiële content plugin die navigatie toont voor handleidingen en content in de sidebar.

Plugin type

Content plugin. De plugin-output volgt de geselecteerde content taal (via CMSAPI::getPluginTranslations() met site.php).

Bestandsstructuur

Navigation/
├── Navigation.php         # Hoofd plugin class
├── plugin.json            # Plugin metadata + instellingen
├── README.md              # Dit bestand
├── assets/                # CSS/SCSS voor navigatie
│   ├── css/navigation.css
│   └── scss/navigation.scss
└── language/              # Vertalingen
    ├── nl/site.php        # Nederlandse front-end labels
    └── en/site.php        # Engelse front-end labels

Functies

  • Content navigatie: Bouwt een sidebar navigatie uit de content-mapstructuur
  • Handleiding navigatie: Bouwt een sidebar navigatie uit de guide-mapstructuur
  • Detecteert automatisch of de huidige pagina een handleiding of content pagina is
  • Toont mappen (met kinderen) en bestanden (.md, .php, .html)
  • Strip taal-prefixen uit bestandsnamen (bijv. nl.pagina.mdPagina)

Instellingen

Deze plugin heeft geen instelbare configuratie (hasConfig: false). Wel levert hij een CSS-URL via getCssUrl().

Taal support

De plugin-output bestaat voornamelijk uit bestands- en mapnamen (die uit de content zelf komen), dus er zijn weinig te vertalen UI-strings. De language/<lang>/site.php bestanden bevatten momenteel alleen plugin_title voor uniformiteit met de andere plugins en toekomstige uitbreiding.

De plugin gebruikt CMSAPI::getPluginTranslations('Navigation') om labels op te halen. Fallback chain:

  1. Geselecteerde content taal
  2. Plugin default_language (nl)
  3. Lege array (sleutel wordt ongewijzigd getoond)

Beschermd

Deze plugin is protected: hardcoded in public/admin.php (getProtectedPlugins()) en kan niet worden uitgeschakeld, verwijderd of bewerkt via de admin interface.