# 2026-04-26 ## Co zrobiono - [Phase 04h, Plan 01] Hotfix HTTPS update endpoint: naprawa zablokowanego mechanizmu aktualizacji we wszystkich instancjach cmsPRO - Patch http://www.cmspro.project-dc.pl -> https:// w kodzie zrodlowym (Helpers.php, factory/Update.php) i instancji testowej - Audit 542 paczek aktualizacji - wykryto 121 z buggy http:// URL - Patch 121 paczek (autoload/class.S.php / Helpers.php / factory/Update.php) z http -> https - Patch cmsPro.zip (base install) z http -> https - Wstrzykniecie kotwicy fixa do ver_1.519.zip (oryginalnie tylko class.Articles.php; dodano patched class.S.php + factory/Update.php) - SHA256: 14e5754c75884fcc... - Odkrycie bug-a #2 podczas UAT: klucz licencji z `#` lamie URL przez fragment delimiter -> serwer dostaje pusty klucz -> brak nowych wersji - Patch urlencode($settings['update_key']) w kodzie zrodlowym + 64 paczkach + kotwicy - Generacja upload-checklist.md (124 pliki: cmsPro.zip + 121 ZIP + 2 manifest) - Auto-deploy ftp-kr.json przeniosl pliki na serwer cmspro.project-dc.pl - UAT confirmation: instancja testowa widzi i instaluje aktualizacje > 1.519 - Cleanup 1085 plikow .bak / .preurlencode.bak / .preanchor.bak (lokalnie + FTP) przez .NET FtpWebRequest - [Phase 05, Plan 01] Domain layer kompletny: SeoAdditional + Cron + Releases + Update repositories - Utworzono Domain\SeoAdditional\SeoAdditionalRepository (elementDelete, elementSave, elementDetails) - Utworzono Domain\Cron\CronRepository (3 pub + 12 private helper methods, crawling stron) - Utworzono Domain\Releases\ReleasesRepository (9 metod: wersje, licencje, discover) - Utworzono Domain\Releases\UpdateRepository (auto-update mechanizm, przyjmuje $db + $settings) - Zaktualizowano 4 legacy wrappery: class.SeoAdditional, class.Cron, class.Releases, class.Update ## Zmienione pliki - `autoload/Shared/Helpers/Helpers.php` - `autoload/admin/factory/class.Update.php` - `updates/cmsPro.zip` - `updates/**/ver_*.zip` (121 paczek) - `updates/**/ver_*_manifest.json` (2 manifesty) - `.paul/phases/04h-hotfix-https-updates/04h-01-PLAN.md` - `.paul/phases/04h-hotfix-https-updates/04h-01-SUMMARY.md` - `.paul/phases/04h-hotfix-https-updates/audit-report.md` - `.paul/phases/04h-hotfix-https-updates/patch-log.md` - `.paul/phases/04h-hotfix-https-updates/patch-urlencode-log.md` - `.paul/phases/04h-hotfix-https-updates/upload-checklist.md` - `.paul/phases/04h-hotfix-https-updates/scripts/audit-packages.ps1` - `.paul/phases/04h-hotfix-https-updates/scripts/patch-packages.ps1` - `.paul/phases/04h-hotfix-https-updates/scripts/patch-urlencode.ps1` - `.paul/phases/04h-hotfix-https-updates/scripts/inject-anchor-1519.ps1` - `.paul/phases/04h-hotfix-https-updates/scripts/cleanup-baks.ps1` - `autoload/Domain/SeoAdditional/SeoAdditionalRepository.php` - `autoload/Domain/Cron/CronRepository.php` - `autoload/Domain/Releases/ReleasesRepository.php` - `autoload/Domain/Releases/UpdateRepository.php` - `autoload/admin/factory/class.SeoAdditional.php` - `autoload/class.Cron.php` - `autoload/admin/factory/class.Releases.php` - `autoload/admin/factory/class.Update.php` - `.paul/STATE.md` - `.paul/ROADMAP.md`