v2.6.0: Content backup/git versioning, plugin type system, docs update

New features:
- ContentBackup class with ZIP backup/restore and git versioning
- Admin backup & restore page (content-backup.twig) with git init/commit/log/restore
- Plugin type system: system (blue) vs content (green) with visual badges
- PluginAPIInterface + AdminPluginAPI for plugin architecture
- Essential plugin flag (cannot edit/deactivate/delete)

Improvements:
- Consolidated enabled_plugins config (removed plugins.enabled)
- Removed Analytics/Logging toggles from admin config page
- Fixed Dashboard plugin Twig comments rendered as text
- Updated 20 guide files (NL+EN): configuratie, plugins, plugin-development,
  core-classes, theme-json, layouts, scss-styling, admin-beheerder, nieuw-thema, architectuur
- Improved accessibility test script (grep -E, min/max checks)

Cleanup:
- Removed unused classes: ARIAComponents, AccessibilityManager, ContentSecurityPolicy, etc.
- Removed vendor packages: mustache/mustache, php-mqtt/client
- Removed old templates: logs.twig, statistics.twig (now plugins)
- Moved language files to language/ directory

Tests:
- Pentest: 30/30 passed, 0 vulnerabilities
- WCAG 2.1 AA: 25/25 passed, 100% compliance
This commit is contained in:
2026-08-15 19:21:04 +02:00
parent cd498c8c3a
commit 1492dcf71f
207 changed files with 3742 additions and 22688 deletions
+38
View File
@@ -0,0 +1,38 @@
<?php
return [
'site_title' => 'CodePress',
'home' => 'Startseite',
'search' => 'Suchen',
'search_placeholder' => 'Suchen...',
'search_button' => 'Suchen',
'welcome' => 'Willkommen',
'created' => 'Erstellt',
'modified' => 'Geändert',
'author' => 'Autor',
'manual' => 'Handbuch',
'no_content' => 'Kein Inhalt gefunden',
'no_results' => 'Keine Ergebnisse gefunden',
'results_found' => 'Ergebnisse gefunden',
'breadcrumb_home' => 'Startseite',
'file_details' => 'Dateidetails',
'guide' => 'Handbuch',
'powered_by' => 'Powered by',
't_powered_by' => 'Powered by',
'directory_empty' => 'Dieses Verzeichnis ist leer',
'page_not_found' => 'Seite nicht gefunden',
'page_not_found_text' => 'Die gesuchte Seite existiert nicht.',
'mappen' => 'Ordner',
'paginas' => 'Seiten',
'author_website' => 'Autor Website',
'author_git' => 'Autor Git',
'plugins' => 'Plugins',
'templates' => 'Templates',
'layouts' => 'Layouts',
'sidebar_content' => 'Sidebar + Inhalt',
'content_only' => 'Nur Inhalt',
'sidebar_only' => 'Nur Sidebar',
'content_sidebar' => 'Inhalt + Sidebar',
'plugin_development' => 'Plugin Entwicklung',
'template_system' => 'Template System',
'go_to' => 'Gehe zu',
];