Files
cmsPRO/.paul/PROJECT.md
Jacek Pyziak a3caeb9a9a feat(06-admin-base): Admin\ base infrastructure — Form Edit System + Support layer (Phase 6)
Phase 6 zamknięta po 2 planach. Pełny fundament dla Phase 7-13 (migracja
17 admin controllers do Admin\ namespace).

06-01 (Forms infrastructure):
- Admin\ViewModels\Forms\* — 5 ViewModeli (687 L)
- Admin\Validation\FormValidator (196 L)
- composer.json: php >=7.4, PSR-4 paths cross-platform safe
  (Admin\ → autoload/admin/, Frontend\ → autoload/front/)

06-02 (Support layer):
- Admin\Support\TableListRequestFactory (99 L) — parser list z $_GET
- Admin\Support\Forms\FormRequestHandler (159 L) — POST + CSRF + walidacja + persist
- Admin\Support\Forms\FormFieldRenderer (494 L) — renderer HTML pól

Decyzje:
- Brak BaseController — Phase 7+ kontrolery jako POJOs z DI (jak shopPRO)
- PSR-4 filename fix: TableListRequestFactory.php (bez shopPRO 'class.' prefix)
- PascalCase namespace (Admin\Support) na lowercase folder admin/
  ze względu na Windows fs case-insensitivity vs legacy admin/controls/

Pliki: 8 nowych klas, 1635 L kodu PHP 7.4-kompatybilnego, zero regresji.
Smoke test: walidacja e-maila zwraca PL komunikat, factory parsuje
?page=&per_page=&sort=&filter=, Domain/Shared nadal ładują się.

PHPUnit: 37/37 OK.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 23:32:26 +02:00

51 lines
2.4 KiB
Markdown

# Project: cmsPRO
## Description
Autorski system CMS z panelem administracyjnym (17 modułów admin, 13 modułów front). Projekt przechodzi pełną refaktoryzację kodu w 19 fazach — wzorcem docelowej architektury jest shopPRO. Wzorzec migracji: wrapper delegation (stare klasy delegują do nowych, zero regresji).
## Core Value
Autorski system CMS umożliwiający zarządzanie treściami i stronami internetowymi.
## Already Completed
- Domain (13 repos): Articles, Languages, Layouts, Pages, Settings, User, Scontainers, Banners, Authors, Newsletter, SeoAdditional, Cron, Releases+Update
- Shared (7 modules): Cache, Helpers, Html, Image, Tpl, Email, Security
- **Admin\ base infrastructure (Phase 6, 2026-04-30):** 5 Form ViewModels + FormValidator + TableListRequestFactory + FormRequestHandler + FormFieldRenderer (1635 L total) — pełny fundament dla migracji 17 admin controllers w Phase 7-13
- PHPUnit base: Bootstrap, 3 test files
- Wrapper delegation pattern: legacy factories delegate to Domain repositories
## Requirements
### Must Have
- Centralny PSR-4 autoloader (hybrydowy z legacy)
- ✓ Wszystkie Domain repositories — Phase 5 complete
- ✓ Shared\Email + Shared\Security CsrfToken — Phase 2 complete (HMAC-SHA256 → Phase 17)
- ✓ Admin\ base infrastructure — Phase 6 complete (controllers Phase 7-13)
- Admin\ namespace z DI dla wszystkich 17 modułów
- Frontend\ namespace dla wszystkich front modułów
- Bezpieczne cookies (HMAC-SHA256 zamiast hash w JSON)
### Should Have
- PHPUnit testy dla nowych repositories i controllers
- Legacy cleanup (usunięcie wrapperów po pełnej migracji)
### Nice to Have
- Admin base classes (TableListRequestFactory, FormValidator — wzór shopPRO)
## Constraints
- PHP < 8.0 (produkcja) — brak match, named args, union types, str_contains()
- Referencja architektury: shopPRO (C:\visual studio code\projekty\shopPRO)
- Zachowanie 100% kompatybilności wstecznej podczas migracji (wrapper delegation)
- Medoo ORM (nie zmieniać)
- Zewnętrzne biblioteki (Mobile_Detect, geoplugin) — nie ruszać
## Success Criteria
- 19 faz refaktoryzacji zakończonych
- Cały kod w namespace'ach Domain\, Shared\, Admin\, Frontend\
- Zero regresji — istniejąca funkcjonalność działa bez zmian
- Bezpieczne cookies (HMAC-SHA256)
- Testy PHPUnit dla kluczowych modułów
---
*Created: 2026-04-04*
*Last updated: 2026-04-30 after Phase 6*