From d2444500e92b459b496dcaf88abd45eb8866fc32 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Tue, 17 Feb 2026 22:21:44 +0100 Subject: [PATCH] =?UTF-8?q?ver.=200.293:=20front\controls\Site=20+=20front?= =?UTF-8?q?\view\Site=20=E2=86=92=20front\App=20+=20front\LayoutEngine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- ajax.php | 2 +- .../{controls/class.Site.php => App.php} | 11 +++---- .../{view/class.Site.php => LayoutEngine.php} | 17 +++++----- docs/CHANGELOG.md | 24 +++++++++++++- docs/FRONTEND_REFACTORING_PLAN.md | 4 +-- docs/PROJECT_STRUCTURE.md | 30 ++++++++++++------ docs/TESTING.md | 6 ++++ docs/UPDATE_INSTRUCTIONS.md | 10 +++--- index.php | 6 ++-- temp/update_build/ver_0.293.zip | Bin 0 -> 10732 bytes temp/update_build/ver_0.293_files.txt | 2 ++ updates/changelog.php | 7 ++++ updates/versions.php | 2 +- 13 files changed, 83 insertions(+), 38 deletions(-) rename autoload/front/{controls/class.Site.php => App.php} (97%) rename autoload/front/{view/class.Site.php => LayoutEngine.php} (97%) create mode 100644 temp/update_build/ver_0.293.zip create mode 100644 temp/update_build/ver_0.293_files.txt diff --git a/ajax.php b/ajax.php index df9a583..2e52a48 100644 --- a/ajax.php +++ b/ajax.php @@ -48,7 +48,7 @@ if ( !$lang = \Shared\Helpers\Helpers::get_session( 'lang' ) ) \Shared\Helpers\Helpers::set_session( 'lang', $lang ); } -\front\controls\Site::check_url_params(); +\front\App::checkUrlParams(); if ( !$settings = \Shared\Helpers\Helpers::get_session( 'settings' ) ) { diff --git a/autoload/front/controls/class.Site.php b/autoload/front/App.php similarity index 97% rename from autoload/front/controls/class.Site.php rename to autoload/front/App.php index 15c2b97..5db9b14 100644 --- a/autoload/front/controls/class.Site.php +++ b/autoload/front/App.php @@ -1,9 +1,9 @@ diff --git a/autoload/front/view/class.Site.php b/autoload/front/LayoutEngine.php similarity index 97% rename from autoload/front/view/class.Site.php rename to autoload/front/LayoutEngine.php index 0b52402..f401298 100644 --- a/autoload/front/view/class.Site.php +++ b/autoload/front/LayoutEngine.php @@ -1,8 +1,8 @@ ', \front\view\Site::facebook( $settings['facebook_link'] ) . '', $html ); + $html = str_replace( '', self::facebook( $settings['facebook_link'] ) . '', $html ); $html = str_replace( '[COPYRIGHT]', - \front\view\Site::copyright(), + self::copyright(), $html ); $html = str_replace( '[BANER_STRONA_GLOWNA]', \front\Views\Banners::mainBanner( $bannerRepo->mainBanner( $lang_id ) ), $html ); @@ -233,7 +233,7 @@ class Site } $html = str_replace( '[CANONICAL]', '', $html ); - $html = str_replace( '[ZAWARTOSC]', \front\controls\Site::route( $product, $category ), $html ); + $html = str_replace( '[ZAWARTOSC]', \front\App::route( $product, $category ), $html ); /* pojedynczy produkt */ preg_match_all( self::single_product_pattern, $html, $single_product_array ); @@ -315,7 +315,7 @@ class Site $products_id_arr = ( new \Domain\Product\ProductRepository( $GLOBALS['mdb'] ) )->newProductIds( $limit ); - + foreach ( $products_id_arr as $product_id ){ $top_products_arr[] = Product::getFromCache( (int)$product_id, $lang_id ); } @@ -412,7 +412,7 @@ class Site $html = str_replace( $pattern, \front\Views\Articles::newsList( $topArticles ), $html ); } - $html = str_replace( '[ALERT]', \front\view\Site::alert(), $html ); + $html = str_replace( '[ALERT]', self::alert(), $html ); preg_match_all( self::container_pattern, $html, $container_list ); if ( is_array( $container_list[0] ) ) foreach( $container_list[0] as $container_list_tmp ) @@ -473,10 +473,9 @@ class Site return $tpl -> render( 'site/contact' ); } - public static function cookie_information() + public static function cookieInformation() { $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'site/cookie-information' ); } } -?> diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 890d0f5..7c1b8e6 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,6 +4,28 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze. --- +## ver. 0.293 (2026-02-17) - front\controls\Site + front\view\Site → front\App + front\LayoutEngine + +- **front\controls\Site → front\App** — migracja routera na nowy namespace + - Port 1:1 z camelCase: `check_url_params()` → `checkUrlParams()`, `page_title()` → `pageTitle()` + - Wewnętrzna zmiana: `\front\view\Site::contact()` → `\front\LayoutEngine::contact()` + - USUNIETA: `autoload/front/controls/class.Site.php` +- **front\view\Site → front\LayoutEngine** — migracja layout engine na nowy namespace + - Port 1:1 z camelCase: `cookie_information()` → `cookieInformation()` + - Wewnętrzne zmiany: `\front\controls\Site::route()` → `\front\App::route()`, self-referencje na `self::` + - 13 stałych regex i ~30 tag replacements przeniesione 1:1 + - USUNIETA: `autoload/front/view/class.Site.php` +- **Call sites** — 4 miejsca przepięte: + - `index.php:62` — `\front\App::checkUrlParams()` + - `index.php:157` — `\front\LayoutEngine::show()` + - `index.php:160` — `\front\LayoutEngine::cookieInformation()` + - `ajax.php:51` — `\front\App::checkUrlParams()` +- USUNIETE puste foldery: `autoload/front/controls/`, `autoload/front/view/` +- **Pelna migracja frontendu zakonczona** — `autoload/front/` zawiera: `App.php`, `LayoutEngine.php`, `Controllers/`, `Views/` +- Testy: 610 OK, 1816 asercji (bez zmian — czysty rename/restructure) + +--- + ## ver. 0.292 (2026-02-17) - ShopProduct + ShopPaymentMethod + ShopPromotion + ShopStatuses + ShopTransport frontend migration - **Pelna migracja front\factory\** — USUNIETY caly folder `autoload/front/factory/` (wszystkie 20 klas zmigrowane do Domain) @@ -803,4 +825,4 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze. - Metoda `clear_product_cache()` w klasie S --- -*Dokument aktualizowany: 2026-02-17 (ver. 0.292)* +*Dokument aktualizowany: 2026-02-17 (ver. 0.293)* diff --git a/docs/FRONTEND_REFACTORING_PLAN.md b/docs/FRONTEND_REFACTORING_PLAN.md index 0e05a41..591fb3c 100644 --- a/docs/FRONTEND_REFACTORING_PLAN.md +++ b/docs/FRONTEND_REFACTORING_PLAN.md @@ -13,7 +13,7 @@ Panel administratora (33 moduły) został w pełni zmigrowany na architekturę D ### front/controls/ (8 klas — handlery requestów) | Klasa | Status | Logika biznesowa | |-------|--------|-----------------| -| Site | Router główny | route(), check_url_params(), title() | +| Site | ZMIGROWANY do `front\App` — usunięty | route(), checkUrlParams(), title(), pageTitle(), getControllerFactories() | | ShopBasket | ZMIGROWANY do `front\Controllers\ShopBasketController` | Operacje koszyka, add/remove/quantity, checkout | | ShopClient | ZMIGROWANY do `front\Controllers\ShopClientController` | Logowanie, rejestracja, odzyskiwanie hasla, adresy, zamowienia | | ShopOrder | ZMIGROWANY do `front\Controllers\ShopOrderController` | Webhooki płatności + order details | @@ -49,7 +49,7 @@ Panel administratora (33 moduły) został w pełni zmigrowany na architekturę D ### front/view/ (12 klas — renderowanie) | Klasa | Status | |-------|--------| -| Site | KRYTYCZNY — show() ~600 linii, pattern substitution engine | +| Site | ZMIGROWANY do `front\LayoutEngine` — usunięty | | ShopCategory | PRZENIESIONA do `front\Views\ShopCategory` | | Articles | Czyste VIEW | | Scontainers | PRZENIESIONA do `front\Views\Scontainers` | diff --git a/docs/PROJECT_STRUCTURE.md b/docs/PROJECT_STRUCTURE.md index 60a12b3..851189f 100644 --- a/docs/PROJECT_STRUCTURE.md +++ b/docs/PROJECT_STRUCTURE.md @@ -108,10 +108,10 @@ shopPRO/ │ │ ├── Helpers/ # Helpers (ex class.S.php) │ │ └── Tpl/ # Tpl (silnik szablonow) │ ├── front/ # Klasy frontendu -│ │ ├── Controllers/ # Nowe kontrolery DI (Newsletter, ShopBasket, ShopClient, ShopCoupon, ShopOrder, ShopProducer) -│ │ ├── Views/ # Nowe widoki (Newsletter, Articles, Languages, Banners, Menu, Scontainers, ShopCategory, ShopClient) -│ │ ├── controls/ # Kontroler legacy (tylko Site — router) -│ │ └── view/ # Widok legacy (tylko Site — layout engine) +│ │ ├── App.php # Router (ex controls/Site) — route(), checkUrlParams(), getControllerFactories() +│ │ ├── LayoutEngine.php # Layout engine (ex view/Site) — show(), contact(), cookieInformation() +│ │ ├── Controllers/ # Kontrolery DI (Newsletter, ShopBasket, ShopClient, ShopCoupon, ShopOrder, ShopProducer, ShopProduct) +│ │ └── Views/ # Widoki (Newsletter, Articles, Languages, Banners, Menu, Scontainers, ShopCategory, ShopClient) │ └── shop/ # Klasy sklepu ├── docs/ # Dokumentacja techniczna ├── libraries/ # Biblioteki zewnętrzne @@ -177,6 +177,8 @@ Główna klasa helper (przeniesiona z `class.S.php`) z metodami: - `\Domain\` - repozytoria/logika domenowa - `\admin\factory\` - helpery/fabryki admin - ~~`\front\factory\`~~ - USUNIĘTY — wszystkie fabryki zmigrowane do Domain +- ~~`\front\controls\`~~ - USUNIĘTY — router przeniesiony do `\front\App` +- ~~`\front\view\`~~ - USUNIĘTY — layout engine przeniesiony do `\front\LayoutEngine` - `\shop\` - klasy sklepu (Product, Order, itp.) ### Cachowanie produktów @@ -241,10 +243,10 @@ autoload/ │ ├── factory/ # Stare helpery (niezależny fallback) │ └── view/ # Widoki (statyczne - bez zmian) ├── front/ -│ ├── Controllers/ # Nowe kontrolery frontendowe (namespace \front\Controllers\) z DI -│ ├── Views/ # Nowe widoki (namespace \front\Views\) — czyste VIEW, statyczne (Menu, Newsletter, Articles, Languages, Banners, Scontainers, ShopCategory, ShopClient) -│ ├── controls/ # Legacy kontroler (tylko Site — router) -│ └── view/ # Legacy widok (tylko Site — layout engine) +│ ├── App.php # Router (namespace \front\) — route(), checkUrlParams(), getControllerFactories() +│ ├── LayoutEngine.php # Layout engine (namespace \front\) — show(), contact(), cookieInformation() +│ ├── Controllers/ # Kontrolery frontendowe (namespace \front\Controllers\) z DI +│ └── Views/ # Widoki (namespace \front\Views\) — czyste VIEW, statyczne ├── shop/ # Legacy - fasady do Domain ``` @@ -479,6 +481,14 @@ Pelna dokumentacja testow: `TESTING.md` - UPDATE: `front\view\Site::show()` — przepiecie na `$producerRepo->findForFrontend()` - UPDATE: `front\controls\Site::getControllerFactories()` — zarejestrowany `ShopProducer` +## Aktualizacja 2026-02-17 (ver. 0.293) - front\controls\Site + front\view\Site → front\App + front\LayoutEngine +- Przemianowano `front\controls\Site` na `front\App` (plik `App.php`) — router z camelCase metodami. +- Przemianowano `front\view\Site` na `front\LayoutEngine` (plik `LayoutEngine.php`) — layout engine z camelCase metodami. +- Przepiete call sites: `index.php` (3 miejsca), `ajax.php` (1 miejsce). +- Usuniete pliki: `autoload/front/controls/class.Site.php`, `autoload/front/view/class.Site.php`. +- Usuniete puste foldery: `autoload/front/controls/`, `autoload/front/view/`. +- Pelna migracja frontendu zakonczona — struktura `autoload/front/`: `App.php`, `LayoutEngine.php`, `Controllers/`, `Views/`. + ## Aktualizacja 2026-02-17 (ver. 0.292) - ShopProduct + ShopPaymentMethod + ShopPromotion + ShopStatuses + ShopTransport frontend migration - **Pelna migracja front\factory\** — USUNIETY caly folder `autoload/front/factory/`; 5 ostatnich klas zmigrowanych: - `front\factory\ShopProduct` (~410 linii) → `ProductRepository` (~20 nowych metod frontendowych) @@ -488,7 +498,7 @@ Pelna dokumentacja testow: `TESTING.md` - `front\factory\ShopTransport` → `TransportRepository` (4 metody frontendowe z Redis cache) - Usuniete legacy: `front\controls\class.ShopProduct.php`, `front\view\class.ShopPaymentMethod.php`, `front\view\class.ShopTransport.php`, `shop\class.PaymentMethod.php` - FIX: broken `transports_list()` w ajax.php → nowa metoda `forPaymentMethod()` -- Pozostale w front\: `controls/class.Site.php` (router), `view/class.Site.php` (layout engine) +- Pelna migracja frontendu zakonczona — `autoload/front/`: `App.php`, `LayoutEngine.php`, `Controllers/`, `Views/` --- -*Dokument aktualizowany: 2026-02-17 (ver. 0.292)* +*Dokument aktualizowany: 2026-02-17 (ver. 0.293)* diff --git a/docs/TESTING.md b/docs/TESTING.md index 68beac2..b54bf96 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -39,6 +39,12 @@ Ostatnio zweryfikowano: 2026-02-17 OK (610 tests, 1816 assertions) ``` +Aktualizacja po migracji front\controls\Site + front\view\Site (2026-02-17, ver. 0.293): +```text +Pelny suite: OK (610 tests, 1816 assertions) +Brak nowych testow — czysty rename/restructure (klasy statyczne, bez logiki biznesowej) +``` + Aktualizacja po migracji ShopProduct + ShopPaymentMethod + ShopPromotion + ShopStatuses + ShopTransport frontend (2026-02-17, ver. 0.292): ```text Pelny suite: OK (610 tests, 1816 assertions) diff --git a/docs/UPDATE_INSTRUCTIONS.md b/docs/UPDATE_INSTRUCTIONS.md index e359107..7fb5012 100644 --- a/docs/UPDATE_INSTRUCTIONS.md +++ b/docs/UPDATE_INSTRUCTIONS.md @@ -18,14 +18,14 @@ Aktualizacje znajdują się w folderze `updates/0.XX/` gdzie XX oznacza dziesią ## Procedura tworzenia nowej aktualizacji -## Status biezacej aktualizacji (ver. 0.292) +## Status biezacej aktualizacji (ver. 0.293) -- Wersja udostepniona: `0.292` (data: 2026-02-17). +- Wersja udostepniona: `0.293` (data: 2026-02-17). - Pliki publikacyjne: - - `temp/update_build/ver_0.292.zip`, `ver_0.292_files.txt` + - `temp/update_build/ver_0.293.zip`, `ver_0.293_files.txt` - Pliki metadanych aktualizacji: - - `updates/changelog.php` (dodany wpis `ver. 0.292`) - - `updates/versions.php` (`$current_ver = 292`) + - `updates/changelog.php` (dodany wpis `ver. 0.293`) + - `updates/versions.php` (`$current_ver = 293`) - Weryfikacja testow przed publikacja: - `OK (610 tests, 1816 assertions)` diff --git a/index.php b/index.php index 7148420..543f3fc 100644 --- a/index.php +++ b/index.php @@ -59,7 +59,7 @@ $mdb = new medoo( [ 'time_debug' => $database['time_debug'] ] ); -\front\controls\Site::check_url_params(); +\front\App::checkUrlParams(); $langRepo = new \Domain\Languages\LanguagesRepository( $mdb ); @@ -154,10 +154,10 @@ if ( !is_array( $page ) or !(int)$page['id'] ) if ( \Shared\Helpers\Helpers::get( 'devel' ) ) $settings[ 'devel' ] = true; -$out = \front\view\Site::show(); +$out = \front\LayoutEngine::show(); if ( !isset( $_COOKIE[ "cookie_information" ] ) ) - $out = strrev( implode( strrev( \front\view\Site::cookie_information() . '' ), explode( strrev( '' ), strrev( $out ), 2 ) ) ); + $out = strrev( implode( strrev( \front\LayoutEngine::cookieInformation() . '' ), explode( strrev( '' ), strrev( $out ), 2 ) ) ); if ( $settings[ 'statistic_code' ] ) $out = strrev( implode( strrev( $settings[ 'statistic_code' ] . '' ), explode( strrev( '' ), strrev( $out ), 2 ) ) ); diff --git a/temp/update_build/ver_0.293.zip b/temp/update_build/ver_0.293.zip new file mode 100644 index 0000000000000000000000000000000000000000..e8326336714db3fe932362681afe1f15393a1532 GIT binary patch literal 10732 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 literal 0 HcmV?d00001 diff --git a/temp/update_build/ver_0.293_files.txt b/temp/update_build/ver_0.293_files.txt new file mode 100644 index 0000000..0a506e8 --- /dev/null +++ b/temp/update_build/ver_0.293_files.txt @@ -0,0 +1,2 @@ +F: ../autoload/front/controls/class.Site.php +F: ../autoload/front/view/class.Site.php diff --git a/updates/changelog.php b/updates/changelog.php index 459a11e..d2a6063 100644 --- a/updates/changelog.php +++ b/updates/changelog.php @@ -1,3 +1,10 @@ +ver. 0.293 - 17.02.2026
+- UPDATE - front\controls\Site przemianowany na front\App (router, camelCase: checkUrlParams, pageTitle) +- UPDATE - front\view\Site przemianowany na front\LayoutEngine (layout engine, camelCase: cookieInformation) +- UPDATE - przepiete call sites w index.php (3 miejsca) i ajax.php (1 miejsce) +- CLEANUP - usuniete autoload/front/controls/ i autoload/front/view/ (puste foldery + pliki legacy) +- UPDATE - pelna migracja frontendu zakonczona: autoload/front/ = App.php + LayoutEngine.php + Controllers/ + Views/ +
ver. 0.292 - 17.02.2026
- UPDATE - pelna migracja front\factory\ do Domain (5 ostatnich klas: ShopProduct, ShopPaymentMethod, ShopPromotion, ShopStatuses, ShopTransport) - UPDATE - ProductRepository: ~20 nowych metod frontendowych (cache Redis, lazy loading, SKU/EAN fallback) diff --git a/updates/versions.php b/updates/versions.php index 07c8c55..861e4e9 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@