Files
shopPRO/.paul/changelog/2026-05-13.md
Jacek Pyziak 073069c303 fix: dziala aktualizacja systemu i Wyczysc cache na /admin/update/main_view/ (v0.353)
Zdalny changelog z shoppro.project-dc.pl/updates/changelog.php zwracal
niezbalansowany HTML (niezamkniety <script>/<style>/<textarea>/<!--),
ktory "polykal" reszte dokumentu - inline-script z handlerami
#confirm/#confirmUpdateAll i footer-script z main-layout.php
(#clear-cache-btn) nigdy nie parsowaly sie jako JS. Klienci nie mogli
aktualizowac shopPRO.

Fix w admin/templates/update/main-view.php:
1. Blok <script> z handlerami przeniesiony PRZED sekcje Changelog -
   handlery podpinaja sie niezaleznie od zdalnego HTML.
2. Sanityzacja zdalnego changeloga: preg_replace usuwa komentarze HTML,
   strip_tags z whitelista (<p><br><b><strong><i><em><u><ul><ol><li>
   <h1>-<h6><span><div><a><pre><code><hr>) wycina tagi strukturalne i
   wykonywalne (<script>, <style>, <iframe>, <textarea>).

Skutek uboczny: footer-script z main-layout.php (Wyczysc cache + globalne
wyszukiwanie + sprawdzanie aktualizacji) dziala teraz na podstronie update.

Po wgraniu na instancje: hard-reload (Ctrl+F5) + restart PHP-FPM /
wyczyszczenie OPcache.

Suita PHPUnit: 846 testow / 2348 assertions OK.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-13 23:10:08 +02:00

35 lines
2.5 KiB
Markdown

# 2026-05-13
## Co zrobiono
- [Phase 19, Plan 01] Fix metatagów na stronach kategorii/artykułu/produktu — eliminacja wycieku meta_title homepage
- Task 1: Diagnostyka produkcyjnej DB (pp_routes + pp_shop_categories_langs + pp_shop_products_langs + pp_pages_langs) — wynik w DIAGNOSTICS.md
- Task 2 (checkpoint:decision): Wybrano fix-engine-detection (root cause w kodzie, nie w danych)
- Task 3: Wyodrębniono `\front\LayoutEngine::applyEntityMetaToPage()` jako pure-function; 3 gałęzie (category/article/product) wywołują helper; suita 846 testów zielona (5 nowych w LayoutEngineMetaTagsTest)
- Task 4 (human-verify): Weryfikacja curl na produkcji — 3 strony pokazują 3 różne `<title>`, homepage meta nie wycieka
- .gitignore — dodano `temp/` (skrypty diagnostyczne z DB credentials)
- [Phase 20, Plan 01] Fix mojibake (double-encoded UTF-8) w labelkach formularza edycji kategorii
- Task 1: Podmiana 9 wystąpień mojibake na poprawne polskie znaki (Treść, Język domyślny, Tytuł kategorii, Sortowanie produktów, Wyświetlić podkategorie, Blokuj indeksację, Opis kategorii rozwinięcie)
- Task 2: Weryfikacja braku regresji (grep w całym repo — 0 innych plików dotkniętych), suita 846 zielona
- Task 3 (human-verify): Weryfikacja w panelu admina shoppro.project-dc.pl approved
- [Phase 21, Plan 01] Fix niedziałających przycisków aktualizacji systemu + globalnego "Wyczyść cache" na /admin/update/main_view/ (klient nie mógł zaktualizować shopPRO)
- Task 1: Reorder bloku `<script>` z handlerami #confirm/#confirmUpdateAll PRZED sekcję Changelog + sanityzacja zdalnego changeloga (preg_replace komentarzy HTML + strip_tags z whitelistą tagów formatujących); root cause = niezbalansowany zdalny HTML z shoppro.project-dc.pl „połykał" inline-script i footer-script; suita 846 zielona
- Task 2 (human-verify): Weryfikacja w panelu admina approved (przyciski aktualizacji + Wyczyść cache + zdalny changelog renderuje się sanityzowany)
## Zmienione pliki
- `autoload/front/LayoutEngine.php`
- `admin/templates/shop-category/category-edit.php`
- `admin/templates/update/main-view.php`
- `tests/Unit/front/LayoutEngineMetaTagsTest.php` (nowy)
- `.paul/phases/19-frontend-meta-tags-fix/19-01-PLAN.md` (nowy)
- `.paul/phases/19-frontend-meta-tags-fix/19-01-SUMMARY.md` (nowy)
- `.paul/phases/19-frontend-meta-tags-fix/DIAGNOSTICS.md` (nowy)
- `.paul/phases/21-admin-update-view-js-fix/21-01-PLAN.md` (nowy)
- `.paul/phases/21-admin-update-view-js-fix/21-01-SUMMARY.md` (nowy)
- `.paul/STATE.md`
- `.paul/ROADMAP.md`
- `.gitignore`