Update TODO.md with admin features roadmap and AGENTS.md with current project state
TODO.md: Add Markdown editor, plugin enable/disable, plugin API, file uploads, map management, activity log, and more admin features. Remove resolved items (extract/AuthController/CSRF - replaced by new admin). AGENTS.md: Document full project structure including admin-console, add AI model info (claude-opus-4-6), admin routing, security practices.
This commit is contained in:
31
TODO.md
31
TODO.md
@@ -13,7 +13,6 @@
|
||||
- [x] **Debug hardcoded** - `'debug' => true` hardcoded in admin config (`admin-console/config/app.php:6`)
|
||||
- [x] **Cookie security** - Cookies zonder `Secure`/`HttpOnly`/`SameSite` flags (`MQTTTracker.php:70`)
|
||||
- [ ] **autoLinkPageTitles()** - Regex kan geneste `<a>` tags produceren (`CodePressCMS.php:587`)
|
||||
- [ ] **extract($data)** - Kan lokale variabelen overschrijven in AuthController (`AuthController.php:77`)
|
||||
- [ ] **MQTT wachtwoord** - Credentials in plain text JSON (`MQTTTracker.php:37`)
|
||||
|
||||
## Medium
|
||||
@@ -32,7 +31,6 @@
|
||||
- [ ] **ctime is geen creatietijd op Linux** - `stat()` ctime is inode-wijzigingstijd (`CodePressCMS.php:400`)
|
||||
- [ ] **getGuidePage() dupliceert markdown parsing** - Zelfde CommonMark setup als `parseMarkdown()` (`CodePressCMS.php:854`)
|
||||
- [ ] **HTMLBlock ontbrekende `</div>`** - Niet-gesloten tags bij null-check (`HTMLBlock.php:68`)
|
||||
- [ ] **CSRF-bescherming** - Login form zonder CSRF token (`AuthController.php:18`)
|
||||
- [ ] **formatDisplayName() redundante logica** - Dubbele checks en overtollige str_replace (`CodePressCMS.php:688`)
|
||||
|
||||
## Laag
|
||||
@@ -53,3 +51,32 @@
|
||||
- [ ] **Externe links missen rel="noreferrer"**
|
||||
- [ ] **Zoekformulier mist aria-label**
|
||||
- [ ] **mobile.css override Bootstrap utilities** met `!important`
|
||||
|
||||
---
|
||||
|
||||
## Admin Console - Nieuwe features
|
||||
|
||||
### Hoog
|
||||
|
||||
- [ ] **Markdown editor** - WYSIWYG/split-view Markdown editor integreren in content-edit (bijv. EasyMDE, SimpleMDE, of Toast UI Editor). Live preview, toolbar met opmaakknoppen, drag & drop afbeeldingen
|
||||
- [ ] **Plugin activeren/deactiveren** - Toggle knop per plugin in admin Plugins pagina. Schrijft `enabled: true/false` naar plugin `config.json`. PluginManager moet `enabled` status respecteren bij het laden
|
||||
- [ ] **Plugin API** - Uitgebreide API voor plugins zodat ze kunnen inhaken op CMS events (hooks/filters). Denk aan: `onPageLoad`, `onBeforeRender`, `onAfterRender`, `onSearch`, `onMenuBuild`. Plugins moeten sidebar content, head tags, en footer scripts kunnen injecteren
|
||||
|
||||
### Medium
|
||||
|
||||
- [ ] **Plugin configuratie editor** - Per-plugin config.json bewerken vanuit admin panel
|
||||
- [ ] **Bestand uploaden** - Afbeeldingen en bestanden uploaden via admin Content pagina
|
||||
- [ ] **Map aanmaken/verwijderen** - Directory management in admin Content pagina
|
||||
- [ ] **Admin activity log** - Logboek van alle admin acties (wie deed wat wanneer) met viewer in dashboard
|
||||
- [ ] **Wachtwoord wijzigen eigen account** - Apart formulier voor ingelogde gebruiker om eigen wachtwoord te wijzigen (met huidig wachtwoord verificatie)
|
||||
- [ ] **Admin thema** - Admin sidebar kleur overnemen van site thema config (`header_color`)
|
||||
|
||||
### Laag
|
||||
|
||||
- [ ] **Content preview** - Live preview van Markdown/HTML content naast de editor
|
||||
- [ ] **Content versioning** - Simpele file-based backup bij elke save (bijv. `.bak` bestanden)
|
||||
- [ ] **Zoeken in admin** - Zoekfunctie binnen de admin content browser
|
||||
- [ ] **Drag & drop** - Bestanden herordenen/verplaatsen via drag & drop
|
||||
- [ ] **Keyboard shortcuts** - Ctrl+S om op te slaan in editor, Ctrl+N voor nieuw bestand
|
||||
- [ ] **Dark mode** - Admin panel dark mode toggle
|
||||
- [ ] **Responsive admin** - Admin sidebar inklapbaar op mobiel (nu is het gestacked)
|
||||
|
||||
Reference in New Issue
Block a user