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
This commit is contained in:
2026-08-27 09:05:51 +00:00
parent 74612aefbb
commit d9ea2eee47
38 changed files with 771 additions and 572 deletions
+6 -6
View File
@@ -6,14 +6,14 @@
* Registreert geaggregeerde bezoekersstatistieken (views, uniques, landen,
* referrers, bots) in een JSON-bestand met file locking en retentie-cleanup.
*
* @since 2.6.4
* @since 2.6.5
*/
class Analytics
{
/**
* Pad naar het JSON-statistiekbestand.
*
* @since 2.6.4
* @since 2.6.5
* @var string Pad naar stats.json.
*/
private string $statsFile;
@@ -21,7 +21,7 @@ class Analytics
/**
* Analytics configuratie-array.
*
* @since 2.6.4
* @since 2.6.5
* @var array<string,mixed> Analytics configuratie.
*/
private array $config;
@@ -32,7 +32,7 @@ class Analytics
* Stelt het pad naar het statistiekbestand in en maakt de opslagmap aan
* indien deze nog niet bestaat.
*
* @since 2.6.4
* @since 2.6.5
*
* @param array $analyticsConfig {
* Optioneel. Analytics configuratie.
@@ -58,7 +58,7 @@ class Analytics
* een zout, aggregeert totals/countries/pages/referrers/days/uniques, past
* de retentie toe en schrijft atomair (met bestandslock) naar stats.json.
*
* @since 2.6.4
* @since 2.6.5
*
* @param string $page Page key van de bezochte pagina.
* @param string $ip Client IP-adres.
@@ -191,7 +191,7 @@ class Analytics
* een daily chart. Bij $days = 0 wordt alles-tijd geretourneerd, anders
* worden ontbrekende dagen in de range opgevuld voor een vloeiende grafiek.
*
* @since 2.6.4
* @since 2.6.5
*
* @param int $days Aantal dagen (bijv. 7, 30, 90), of 0 voor alles-tijd. Default 30.
* @return array<string,mixed> Geaggregeerde statistieken met keys totals, countries, pages, referrers, daily_chart.