From 218a0e895623e5587b6cfa93c7011ff235e5ae86 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Fri, 27 Feb 2026 20:40:22 +0100 Subject: [PATCH] =?UTF-8?q?build:=20update=20package=20v0.327=20=E2=80=94?= =?UTF-8?q?=20bulk=20delete=20in=20product=20archive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- updates/0.30/ver_0.327.zip | Bin 0 -> 5981 bytes updates/0.30/ver_0.327_manifest.json | 25 +++ updates/changelog-data.html | 229 ++++++++++++++------------- updates/versions.php | 2 +- 4 files changed, 142 insertions(+), 114 deletions(-) create mode 100644 updates/0.30/ver_0.327.zip create mode 100644 updates/0.30/ver_0.327_manifest.json diff --git a/updates/0.30/ver_0.327.zip b/updates/0.30/ver_0.327.zip new file mode 100644 index 0000000000000000000000000000000000000000..cd9d6732c7cd7930504bf8993e28ea3253e74762 GIT binary patch literal 5981 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 literal 0 HcmV?d00001 diff --git a/updates/0.30/ver_0.327_manifest.json b/updates/0.30/ver_0.327_manifest.json new file mode 100644 index 0000000..9b8e1f0 --- /dev/null +++ b/updates/0.30/ver_0.327_manifest.json @@ -0,0 +1,25 @@ +{ + "changelog": "NEW - masowe usuwanie produktow w archiwum", + "version": "0.327", + "files": { + "added": [ + + ], + "deleted": [ + + ], + "modified": [ + "admin/templates/product-archive/products-list-custom-script.php", + "admin/templates/product-archive/products-list.php", + "autoload/admin/Controllers/ProductArchiveController.php" + ] + }, + "checksum_zip": "sha256:02e43a9b4bf13eab08d739cf710dcdc37ee242c62e991427980dc0f88e60e96a", + "sql": [ + + ], + "date": "2026-02-27", + "directories_deleted": [ + + ] +} \ No newline at end of file diff --git a/updates/changelog-data.html b/updates/changelog-data.html index b279749..4fe96ae 100644 --- a/updates/changelog-data.html +++ b/updates/changelog-data.html @@ -1,3 +1,6 @@ +ver. 0.327 - 27.02.2026
+NEW - masowe usuwanie produktow w archiwum +
ver. 0.326 - 27.02.2026
NEW - Endpoint API categories/list: plaska lista aktywnych kategorii (id, parent_id, title) w domyslnym jezyku sklepu
@@ -11,28 +14,28 @@ NEW - Endpoint API categories/list: plaska lista aktywnych kategorii (id, parent FIX - naprawione krzaczki (mojibake) w changelog, limit wyswietlania do 5 wersji wstecz od wersji instancji
ver. 0.324 - 27.02.2026
-NEW - system kolejki zadań cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron +NEW - system kolejki zadaĹ„ cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron
ver. 0.323 - 24.02.2026
FIX - refactor importu zdjec w shopPRO import (walidacja HTTP, curl timeouty, logi), FIX - saveCustomFields tylko przy jawnym podaniu, FIX - delete() czysci custom_fields, FIX - sciezka upload w API, NEW - trwale usuwanie produktow z archiwum
ver. 0.322 - 24.02.2026
-FIX - custom_fields: jawne mapowanie kluczy w ProductRepository, spójne !empty w ProductsApiController +FIX - custom_fields: jawne mapowanie kluczy w ProductRepository, spĂłjne !empty w ProductsApiController
ver. 0.321 - 24.02.2026
-NEW - API: obsługa custom_fields w create/update produktu +NEW - API: obsĹ‚uga custom_fields w create/update produktu
ver. 0.320 - 24.02.2026
-NEW - API: endpoint ensure_producer (znajdź lub utwórz producenta); GET product zwraca producer_name +NEW - API: endpoint ensure_producer (znajdĹş lub utwĂłrz producenta); GET product zwraca producer_name
ver. 0.319 - 24.02.2026
-FIX - usunięcie shopPRO eksportu produktów; API produktu: dodano custom_fields i security_information +FIX - usuniÄ™cie shopPRO eksportu produktĂłw; API produktu: dodano custom_fields i security_information
ver. 0.318 - 24.02.2026
-NEW - shopPRO export produktów + API endpoints (ensure_attribute, ensure_attribute_value, upload_image) +NEW - shopPRO export produktĂłw + API endpoints (ensure_attribute, ensure_attribute_value, upload_image)
ver. 0.317 - 23.02.2026
-FIX - klucz API: fix zapisu (brakowalo w whiteliście), przycisk Generuj losowy klucz, ulepszony routing API +FIX - klucz API: fix zapisu (brakowalo w whiteliĹ›cie), przycisk Generuj losowy klucz, ulepszony routing API
ver. 0.316 - 23.02.2026
FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields @@ -41,16 +44,16 @@ FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields FIX - PDOException w listowaniu atrybutow admin (SQLSTATE HY093)
ver. 0.314 - 23.02.2026
-FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamówienia +FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamĂłwienia
ver. 0.313 - 23.02.2026
-FIX - sync płatności Apilo (int cast na apilo_order_id PPxxxxxx dawał 0) + logowanie decyzji sync do pp_log +FIX - sync pĹ‚atnoĹ›ci Apilo (int cast na apilo_order_id PPxxxxxx dawaĹ‚ 0) + logowanie decyzji sync do pp_log
ver. 0.312 - 23.02.2026
-FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskończona pętla wysyłki, ceny 0.00 PLN, walidacja cen +FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskoĹ„czona pÄ™tla wysyĹ‚ki, ceny 0.00 PLN, walidacja cen
ver. 0.311 - 23.02.2026
-FIX - race condition callback płatności Apilo, persistence filtrów tabel admin, poprawki cen zamówień +FIX - race condition callback pĹ‚atnoĹ›ci Apilo, persistence filtrĂłw tabel admin, poprawki cen zamĂłwieĹ„
ver. 0.310 - 23.02.2026
NEW - Zakladka Logi w sekcji Integracje (podglad pp_log z paginacja, sortowaniem, filtrami) @@ -80,10 +83,10 @@ FIX - naprawiono wyswietlanie atrybutow produktu na froncie (kolizja kolejnosci) NEW - REST API wariantow produktow (CRUD), slownik atrybutow, filtrowanie po atrybutach, wzbogacone atrybuty z tlumaczeniami
ver. 0.301 - 22.02.2026
-NEW - Ukrywalne filtry tabel, mobilna wersja szczegółów zamówienia +NEW - Ukrywalne filtry tabel, mobilna wersja szczegółów zamĂłwienia
ver. 0.300 - 21.02.2026
-- NEW - System aktualizacji oparty na manifestach JSON (checksum SHA256, backup plików, automatyczny build) +- NEW - System aktualizacji oparty na manifestach JSON (checksum SHA256, backup plikĂłw, automatyczny build) - NEW - Panel logu aktualizacji w panelu admina
ver. 0.299 - 21.02.2026
@@ -93,31 +96,31 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - kilka poprawek po aktualizacji
ver. 0.297 - 19.02.2026
-- NEW - REST API produktów (lista, szczegóły, tworzenie, aktualizacja) -- NEW - Endpoint products z filtrowaniem, sortowaniem i paginacją -- NEW - Partial update produktów (tylko zmienione pola) +- NEW - REST API produktĂłw (lista, szczegóły, tworzenie, aktualizacja) +- NEW - Endpoint products z filtrowaniem, sortowaniem i paginacjÄ… +- NEW - Partial update produktĂłw (tylko zmienione pola)
ver. 0.296 - 19.02.2026
-- NEW - REST API zamówień dla ordersPRO (lista, szczegóły, zmiana statusu, płatności) -- NEW - Endpointy słownikowe (statusy, transporty, metody płatności) +- NEW - REST API zamĂłwieĹ„ dla ordersPRO (lista, szczegóły, zmiana statusu, pĹ‚atnoĹ›ci) +- NEW - Endpointy sĹ‚ownikowe (statusy, transporty, metody pĹ‚atnoĹ›ci) - NEW - Autentykacja API przez X-Api-Key header - NEW - Kolumna updated_at w pp_shop_orders (polling zmian)
ver. 0.295 - 19.02.2026
-- NEW - Edycja produktów w zamówieniu z panelu admina (dodawanie, usuwanie, zmiana ilości/cen) -- NEW - Wyszukiwarka produktów AJAX w formularzu edycji zamówienia -- NEW - Automatyczna korekta stanów magazynowych i przeliczanie kosztu dostawy -- FIX - Cena promo w zamówieniu = 0 gdy identyczna z ceną bazową +- NEW - Edycja produktĂłw w zamĂłwieniu z panelu admina (dodawanie, usuwanie, zmiana iloĹ›ci/cen) +- NEW - Wyszukiwarka produktĂłw AJAX w formularzu edycji zamĂłwienia +- NEW - Automatyczna korekta stanĂłw magazynowych i przeliczanie kosztu dostawy +- FIX - Cena promo w zamĂłwieniu = 0 gdy identyczna z cenÄ… bazowÄ…
ver. 0.294 - 19.02.2026
-- FIX - Code review zakończony (96/96 klas, ~1144 metod): 27 fixów across all layers +- FIX - Code review zakoĹ„czony (96/96 klas, ~1144 metod): 27 fixĂłw across all layers - FIX - Domain: null guard na query()->fetchAll() w 8 repozytoriach, redundancja DI w PromotionRepository - FIX - Admin: null safety find() ?: [] w 10 kontrolerach, null guard w App logowaniu/2FA - FIX - Front: LayoutEngine undefined $level + $_GET null check, ShopBasketController missing global $lang_id -- FIX - Shared: Helpers $_GET null check + bug 'png' → 'image/png' (Imagick lossless WebP nigdy nie działał) +- FIX - Shared: Helpers $_GET null check + bug 'png' → 'image/png' (Imagick lossless WebP nigdy nie dziaĹ‚aĹ‚)
ver. 0.293 - 19.02.2026
-- FIX - ArticleRepository: SQL injection fix (addslashes→parameterized), uproszczenie articleDetailsFrontend +- FIX - ArticleRepository: SQL injection fix (addslashes→parameterized), uproszczenie articleDetailsFrontend - FIX - AttributeRepository: martwy class_exists('\S') blokowal czyszczenie cache/temp - FIX - CategoryRepository: martwy class_exists('\S') blokowal generowanie linkow SEO kategorii - FIX - BannerRepository: parametryzacja dat w SQL + null guard na query() @@ -136,12 +139,12 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - front\controls\Site przemianowany na front\App (router, camelCase: checkUrlParams, pageTitle) - UPDATE - front\view\Site przemianowany na front\LayoutEngine (layout engine, camelCase: cookieInformation) - CLEANUP - usuniete autoload/front/controls/ i autoload/front/view/ (puste foldery + pliki legacy) -- UPDATE - usuniecie 12 legacy klas z autoload/shop/ (~2363 linii) — pelna migracja na Domain-Driven Architecture +- UPDATE - usuniecie 12 legacy klas z autoload/shop/ (~2363 linii) — pelna migracja na Domain-Driven Architecture - UPDATE - class.Order.php: logika Apilo sync i email statusu przeniesiona do OrderAdminService - UPDATE - class.Product.php: ~20 metod przeniesionych do ProductRepository, calculate_basket_product_price do BasketCalculator - FIX - findCached(): stale Redis cache z obiektami \shop\Product powodowal ceny 0,00 zl - FIX - szablony: konwersja object access na array access po migracji Product -- UPDATE - AttributeRepository::getAttributeValueById() — dodano Redis cache +- UPDATE - AttributeRepository::getAttributeValueById() — dodano Redis cache - CLEANUP - katalog autoload/shop/ pusty, zero referencji \shop\ w aktywnym kodzie
ver. 0.291 - 17.02.2026
@@ -185,17 +188,17 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - Tpl::render() branch 3: sprawdzal templates_user ale ladowal templates
ver. 0.284 - 16.02.2026
-- CLEANUP - usunieta klasa DbModel (base ORM) — logika wbudowana bezposrednio w shop\Promotion +- CLEANUP - usunieta klasa DbModel (base ORM) — logika wbudowana bezposrednio w shop\Promotion
ver. 0.283 - 16.02.2026
- UPDATE - migracja class.S.php do Shared\Helpers\Helpers (~140 plikow przepietych) - UPDATE - migracja class.Html.php do Shared\Html\Html - UPDATE - migracja class.Email.php do Shared\Email\Email - UPDATE - migracja class.Image.php do Shared\Image\ImageManipulator -- UPDATE - migracja class.Log.php do Shared\Log\Log (usunieta — logika przeniesiona) +- UPDATE - migracja class.Log.php do Shared\Log\Log (usunieta — logika przeniesiona) - CLEANUP - usunieta class.Mobile_Detect.php (przestarzala detekcja UA) - CLEANUP - usunieto 12 nieuzywanych metod z klasy S -- FIX - array_cartesian_product() — blad iteracji po niezdefiniowanej zmiennej +- FIX - array_cartesian_product() — blad iteracji po niezdefiniowanej zmiennej
ver. 0.282 - 16.02.2026
- UPDATE - Cache cleanup: eliminacja legacy class.Cache.php, migracja CacheHandler i RedisConnection do Shared\Cache namespace @@ -207,7 +210,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚Ă
ver. 0.281 - 16.02.2026
- UPDATE - migracja Banners frontend: factory + view do Domain/Views (DI) -- NEW - `front\Views\Banners` — czysty VIEW (banners, mainBanner) +- NEW - `front\Views\Banners` — czysty VIEW (banners, mainBanner) - UPDATE - `BannerRepository` rozszerzony o 2 metody frontendowe (banners, mainBanner) z Redis cache - UPDATE - `front\view\Site::show()` przepiety na repo + Views - CLEANUP - usuniete: front\factory\Banners, front\view\Banners @@ -215,10 +218,10 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚Ă
ver. 0.280 - 16.02.2026
- UPDATE - migracja Articles frontend: factory + view + encja do Domain/Views (DI) -- NEW - `front\Views\Articles` — czysty VIEW + utility (renderowanie, generateTableOfContents, generateHeadersIds, getImage) +- NEW - `front\Views\Articles` — czysty VIEW + utility (renderowanie, generateTableOfContents, generateHeadersIds, getImage) - UPDATE - `ArticleRepository` rozszerzony o 8 metod frontendowych (z Redis cache) -- UPDATE - `front\view\Site::show()` — 5 sekcji przepietych na repo + Views -- UPDATE - `front\controls\Site::route()` — single article + page_type switch przepiete na repo + Views +- UPDATE - `front\view\Site::show()` — 5 sekcji przepietych na repo + Views +- UPDATE - `front\controls\Site::route()` — single article + page_type switch przepiete na repo + Views - UPDATE - 5 szablonow `templates/articles/*` przepietych na `\front\Views\Articles::` - CLEANUP - usuniete: `class.Article` (encja + metody statyczne), `front\factory\Settings` (fasada) - FIX - eliminacja `global $lang` z `articleNoindex()`, eliminacja zaleznosci od `front\factory\Pages::page_sort()` @@ -229,22 +232,22 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - nowy namespace `front\Controllers` z `NewsletterController` (DI via factory closures) - UPDATE - nowy namespace `front\Views` z `Languages` i `Newsletter` (czyste VIEW, statyczne metody) - UPDATE - routing frontend: `Site::getControllerFactories()` z fallback na stare kontrolery -- FIX - `newsletter_unsubscribe()` — poprawiona skladnia medoo `delete()` (2 argumenty zamiast 3) -- UPDATE - eliminacja fasady `front\factory\Languages` — 26 zaleznosci przepietych na `LanguagesRepository` +- FIX - `newsletter_unsubscribe()` — poprawiona skladnia medoo `delete()` (2 argumenty zamiast 3) +- UPDATE - eliminacja fasady `front\factory\Languages` — 26 zaleznosci przepietych na `LanguagesRepository` - CLEANUP - usuniete: `front\factory\Languages`, `front\factory\Newsletter`, `front\view\Languages`, `front\view\Newsletter`, `front\controls\Newsletter` - UPDATE - testy: `OK (437 tests, 1398 assertions)`
ver. 0.278 - 16.02.2026
- UPDATE - migracja Settings + Languages do wspolnych klas Domain (z cache Redis) -- FIX - `get_single_settings_value()` — parametr `$param` poprawnie uzywany (wczesniej hardcoded `firm_name`) +- FIX - `get_single_settings_value()` — parametr `$param` poprawnie uzywany (wczesniej hardcoded `firm_name`)
ver. 0.277 - 16.02.2026
-- NEW - migracja modulu `ShopProduct` (factory) — pelna migracja ~40 metod do `ProductRepository` + ~30 akcji w `ShopProductController` +- NEW - migracja modulu `ShopProduct` (factory) — pelna migracja ~40 metod do `ProductRepository` + ~30 akcji w `ShopProductController` - NEW - migracja modulu `Dashboard` do Domain + DI (`DashboardRepository`, `DashboardController`) - NEW - migracja modulu `Update` do Domain + DI (`UpdateRepository`, `UpdateController`) - UPDATE - klasa `admin\Site` przemianowana na `admin\App` (plik `App.php`) -- UPDATE - refaktoring routingu — usunieto fallback na stare kontrolery, uproszczony routing -- UPDATE - template `update/main-view.php` — panele zamiast `gridEdit`, `$.confirm()` zamiast `$.prompt()` +- UPDATE - refaktoring routingu — usunieto fallback na stare kontrolery, uproszczony routing +- UPDATE - template `update/main-view.php` — panele zamiast `gridEdit`, `$.confirm()` zamiast `$.prompt()` - CLEANUP - usuniete stare foldery: `autoload/admin/controls/`, `autoload/admin/factory/`, `autoload/admin/view/` - CLEANUP - usuniete legacy: `class.Dashboard.php` (controls/shop), `class.Update.php` (controls/factory/view), `class.Articles.php` (factory), `class.Page.php` (view), `class.ShopProduct.php` (controls/factory/view) - UPDATE - `front\factory\Newsletter` przepieta na `ArticleRepository::articlesByDateAdd()` @@ -333,12 +336,12 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - pliki aktualizacji: `updates/0.20/ver_0.268.zip`, `ver_0.268_files.txt`
ver. 0.267 - 13.02.2026
-- FIX - front: poprawione dobieranie layoutu dla kategorii/produktu/koszyka i innych stron modułowych (fallback do layoutu domyślnego) -- FIX - produkt/koszyk: poprawiona obsługa ilości dla kombinacji (stan 0 po dodaniu do koszyka, limit max, odczyt `stock_0_buy`) -- FIX - produkt: usunięty błąd JS `TypeError: $(...).visible is not a function` (zamiana na `:visible`) -- FIX - SEO redirecty produktów: blokada konfliktów po kopiowaniu URL oraz utwardzone wykrywanie pętli redirectów (`lang_id` + graf przejść) -- UPDATE - admin: `input-switch` zapisuje wartość `on` (spójnie z obsługą pól checkbox w formularzach) -- CLEANUP - usunięte pliki: `apilo-bck`, `geocode-cache.php` +- FIX - front: poprawione dobieranie layoutu dla kategorii/produktu/koszyka i innych stron moduĹ‚owych (fallback do layoutu domyĹ›lnego) +- FIX - produkt/koszyk: poprawiona obsĹ‚uga iloĹ›ci dla kombinacji (stan 0 po dodaniu do koszyka, limit max, odczyt `stock_0_buy`) +- FIX - produkt: usuniÄ™ty błąd JS `TypeError: $(...).visible is not a function` (zamiana na `:visible`) +- FIX - SEO redirecty produktĂłw: blokada konfliktĂłw po kopiowaniu URL oraz utwardzone wykrywanie pÄ™tli redirectĂłw (`lang_id` + graf przejść) +- UPDATE - admin: `input-switch` zapisuje wartość `on` (spĂłjnie z obsĹ‚ugÄ… pĂłl checkbox w formularzach) +- CLEANUP - usuniÄ™te pliki: `apilo-bck`, `geocode-cache.php` - UPDATE - testy: `OK (235 tests, 682 assertions)` - UPDATE - pliki aktualizacji: `updates/0.20/ver_0.267.zip`, `ver_0.267_files.txt`, `ver_0.267_sql.txt`
@@ -420,7 +423,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à ver. 0.257 - 12.02.2026
- NEW - migracja modulu `Newsletter` do architektury Domain + DI (`Domain\Newsletter\NewsletterRepository`, `Domain\Newsletter\NewsletterPreviewRenderer`, `admin\Controllers\NewsletterController`) - UPDATE - widoki `/admin/newsletter/*` przepiete z legacy `grid/gridEdit` na nowe komponenty (`components/table-list`, `components/form-edit`) + nowy endpoint `/admin/newsletter/preview/` -- UPDATE - routing DI (`admin\Site`) rozszerzony o moduĹ‚ `Newsletter` +- UPDATE - routing DI (`admin\Site`) rozszerzony o moduĹ‚ `Newsletter` - UPDATE - `admin\factory\Newsletter` dziala jako fasada do nowego repozytorium (backward compatibility) - UPDATE - `front\factory\Newsletter` nie korzysta juz z `admin\view\Newsletter` - CLEANUP - usuniete legacy klasy `autoload/admin/controls/class.Newsletter.php`, `autoload/admin/view/class.Newsletter.php` @@ -444,7 +447,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - migracja widokow languages (`languages-list`, `language-edit`, `translations-list`, `translation-edit`) na `components/table-list` i `components/form-edit` - UPDATE - routing DI dla `Languages` w `admin\Site` oraz kompatybilna fasada `admin\factory\Languages` delegujaca do repozytorium - UPDATE - naprawiono zapis edycji jezyka (ID jezyka pobierane z URL przy edycji) -- UPDATE - globalne poprawki UX filtrĂłw w `components/table-list` (kompaktowe kolumny `Aktywny`/`Domyslny`, spacing i pelna szerokosc selecta) +- UPDATE - globalne poprawki UX filtrĂłw w `components/table-list` (kompaktowe kolumny `Aktywny`/`Domyslny`, spacing i pelna szerokosc selecta) - CLEANUP - usuniete legacy klasy: `autoload/admin/controls/class.Languages.php`, `autoload/admin/view/class.Languages.php`
ver. 0.253 - 12.02.2026
@@ -513,78 +516,78 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - refaktoryzacja: article_save przeniesiony do Domain\Article\ArticleRepository::save() z prywatnymi helperami - UPDATE - refaktoryzacja: article_delete przeniesiony do Domain\Article\ArticleRepository::archive() - UPDATE - ArticlesController: nowe akcje save() i delete() z DI -- UPDATE - admin\factory\Articles::article_save() i articles_set_archive() delegujÄ… do repozytorium (kompatybilność) +- UPDATE - admin\factory\Articles::article_save() i articles_set_archive() delegujÄ… do repozytorium (kompatybilność)
ver. 0.243
-- UPDATE - refaktoryzacja: cleanup nieprzypisanych plików/zdjęć artykułów przeniesiony do Domain\Article\ArticleRepository -- UPDATE - ArticlesController::edit() używa repozytorium do cleanupu, a admin\factory\Articles zachowuje delegowanie (kompatybilność) +- UPDATE - refaktoryzacja: cleanup nieprzypisanych plikĂłw/zdjęć artykułów przeniesiony do Domain\Article\ArticleRepository +- UPDATE - ArticlesController::edit() uĹĽywa repozytorium do cleanupu, a admin\factory\Articles zachowuje delegowanie (kompatybilność)
ver. 0.242
- NEW - refaktoryzacja: Domain\Article\ArticleRepository + migracja article_edit do admin\Controllers\ArticlesController (DI) -- UPDATE - admin\factory\Articles::article_details() deleguje do nowego repozytorium (kompatybilność zachowana) -- UPDATE - metody przejęte przez nowe kontrolery oznaczone jako @deprecated w legacy kontrolerach admin\controls +- UPDATE - admin\factory\Articles::article_details() deleguje do nowego repozytorium (kompatybilność zachowana) +- UPDATE - metody przejÄ™te przez nowe kontrolery oznaczone jako @deprecated w legacy kontrolerach admin\controls
ver. 0.241
-- NEW - refaktoryzacja: admin\Controllers\ProductArchiveController - archiwum produktów z DI +- NEW - refaktoryzacja: admin\Controllers\ProductArchiveController - archiwum produktĂłw z DI - NEW - ProductRepository::archive(), unarchive() - operacje archiwizacji w repozytorium -- FIX - naprawiono SQL w liście archiwum (puste wyszukiwanie filtrowało wszystkie wyniki) -- FIX - naprawiono brakujący filtr archive = 1 w zapytaniu bez wyszukiwania -- UPDATE - wyczyszczono szablony archiwum (usunięto zbędne funkcje: apilo, baselinker, duplikowanie) +- FIX - naprawiono SQL w liĹ›cie archiwum (puste wyszukiwanie filtrowaĹ‚o wszystkie wyniki) +- FIX - naprawiono brakujÄ…cy filtr archive = 1 w zapytaniu bez wyszukiwania +- UPDATE - wyczyszczono szablony archiwum (usuniÄ™to zbÄ™dne funkcje: apilo, baselinker, duplikowanie)
ver. 0.240
- NEW - refaktoryzacja: Domain\Settings\SettingsRepository + admin\Controllers\SettingsController (architektura Domain-Driven) -- NEW - refaktoryzacja: Domain\Cache\CacheRepository - czyszczenie cache z obsługą Redis -- FIX - komunikat potwierdzenia zapisu ustawień w panelu administratora +- NEW - refaktoryzacja: Domain\Cache\CacheRepository - czyszczenie cache z obsĹ‚ugÄ… Redis +- FIX - komunikat potwierdzenia zapisu ustawieĹ„ w panelu administratora - FIX - naprawiono element #content w layoucie admina (powiadomienia grid.js)
ver. 0.239
-- NEW - refaktoryzacja: Domain\Banner\BannerRepository + admin\Controllers\BannerController (pełna migracja kontrolera) +- NEW - refaktoryzacja: Domain\Banner\BannerRepository + admin\Controllers\BannerController (peĹ‚na migracja kontrolera) - NEW - refaktoryzacja: Domain\Product\ProductRepository::getPrice(), getName() - migracja kolejnych metod -- NEW - router admin z obsługą nowych kontrolerów (fallback na stare) -- UPDATE - shop\Product::get_product_price(), get_product_name() używają nowego repozytorium (kompatybilność zachowana) +- NEW - router admin z obsĹ‚ugÄ… nowych kontrolerĂłw (fallback na stare) +- UPDATE - shop\Product::get_product_price(), get_product_name() uĹĽywajÄ… nowego repozytorium (kompatybilność zachowana)
ver. 0.238
- NEW - refaktoryzacja: Domain\Product\ProductRepository - pierwsza klasa w nowej architekturze Domain-Driven - NEW - Dependency Injection zamiast global variables -- UPDATE - shop\Product::get_product_quantity() używa teraz nowego repozytorium (kompatybilność zachowana) +- UPDATE - shop\Product::get_product_quantity() uĹĽywa teraz nowego repozytorium (kompatybilność zachowana)
ver. 0.237
- NEW - automatyczne czyszczenie cache produktu po aktualizacji przez CRON (Sellasist, Apilo, Baselinker) -- UPDATE - przycisk "Wyczyść cache" w panelu administratora z obsługą AJAX i komunikatami o postępie +- UPDATE - przycisk "Wyczyść cache" w panelu administratora z obsĹ‚ugÄ… AJAX i komunikatami o postÄ™pie
ver. 0.236
-- FIX - zabezpieczenie przed duplikatami zamówień w Apilo - automatyczne pobieranie ID zamówienia przy błędzie "idExternal już wykorzystywany" +- FIX - zabezpieczenie przed duplikatami zamĂłwieĹ„ w Apilo - automatyczne pobieranie ID zamĂłwienia przy błędzie "idExternal juĹĽ wykorzystywany"
ver. 0.235
- FIX - poprawka funkcji aktualizacji
ver. 0.234
-- NEW - przycisk zaznaczania zamówienia jako wysłane do trustmate.io +- NEW - przycisk zaznaczania zamĂłwienia jako wysĹ‚ane do trustmate.io
ver. 0.232
- NEW - opcje GPSR
ver. 0.231
-- FIX - poprawki bezpieczeństwa + dwuetapowa weryfikacja logowania +- FIX - poprawki bezpieczeĹ„stwa + dwuetapowa weryfikacja logowania
ver. 0.230
-- FIX - poprawki bezpieczeństwa +- FIX - poprawki bezpieczeĹ„stwa
ver. 0.229
-- NEW - pola dodatkowe z opcją wymagane/niewymagane +- NEW - pola dodatkowe z opcjÄ… wymagane/niewymagane
ver. 0.228
-- NEW - cron do wysyłania zamówień do trustmate.io +- NEW - cron do wysyĹ‚ania zamĂłwieĹ„ do trustmate.io
ver. 0.227
-- NEW - historia kodów rabatowych +- NEW - historia kodĂłw rabatowych
ver. 0.226
-- NEW - dodanie opcji faktury do zamówienia +- NEW - dodanie opcji faktury do zamĂłwienia
ver. 0.225
- NEW - przycisk czyszczenia cache -- NEW - ponowne wysyłanie zamówienia do apilo +- NEW - ponowne wysyĹ‚anie zamĂłwienia do apilo
ver. 0.224
- NEW - sortowanie form dostawy @@ -596,20 +599,20 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - NEW - integracja z Orlen Paczka
ver. 0.221
-- NEW - Automatyczne przekierowania adresów URL produktów, zmiany w pliku htaccess +- NEW - Automatyczne przekierowania adresĂłw URL produktĂłw, zmiany w pliku htaccess
ver. 0.220
-- NEW - Dodanie możliwości wyświetlenia na strone ostatnio dodane produkty [PRODUKTY_NEW] lub [PRODUKTY_NEW:10]. -- NEW - Dodanie możliwości wyświetlenia na strone popularnych produktów [PRODUKTY_TOP] lub [PRODUKTY_TOP:10]. +- NEW - Dodanie moĹĽliwoĹ›ci wyĹ›wietlenia na strone ostatnio dodane produkty [PRODUKTY_NEW] lub [PRODUKTY_NEW:10]. +- NEW - Dodanie moĹĽliwoĹ›ci wyĹ›wietlenia na strone popularnych produktĂłw [PRODUKTY_TOP] lub [PRODUKTY_TOP:10].
ver. 0.219
-- NEW - Dodanie możliwości zmiany daty w artykułach +- NEW - Dodanie moĹĽliwoĹ›ci zmiany daty w artykuĹ‚ach
ver. 0.218
- NEW - indywidualny kod GTM
ver. 0.217
-- NEW - zwiększenie obsługi REDIS +- NEW - zwiÄ™kszenie obsĹ‚ugi REDIS
ver. 0.216
- NEW - aktualizacja api i cron (apilo) @@ -624,43 +627,43 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - wyliczenie darmowej dostawy
ver. 0.212
-- NEW - zmiany w zapisywaniu zamówienia do apilo +- NEW - zmiany w zapisywaniu zamĂłwienia do apilo
ver. 0.211
-- NEW - Debugowanie apilo + wyświetlanie podkategorii +- NEW - Debugowanie apilo + wyĹ›wietlanie podkategorii
ver. 0.210
-- NEW - dodatkowe pola w widoku produktów +- NEW - dodatkowe pola w widoku produktĂłw
ver. 0.209
-- NEW - zmiany w widoku produktów (panel administratora) +- NEW - zmiany w widoku produktĂłw (panel administratora)
ver. 0.208
-- NEW - zmiany w wyszukiwarce produktów +- NEW - zmiany w wyszukiwarce produktĂłw
ver. 0.204-0.207
- NEW - htaccess update
ver. 0.204-0.206
-- NEW - wysyłanie produktów do apilo +- NEW - wysyĹ‚anie produktĂłw do apilo
ver. 0.203
- NEW - zmiana sposobu wyliczania cen produkty z dodatkami
ver. 0.202
-- NEW - dodano "główne zdjęcie" w edycji artykułu +- NEW - dodano "główne zdjÄ™cie" w edycji artykuĹ‚u
ver. 0.201
-- FIX - aktualizacja statusów na podstawie baselinkera +- FIX - aktualizacja statusĂłw na podstawie baselinkera
ver. 0.200
-- NEW - wysyłanie produktów do baselinker +- NEW - wysyĹ‚anie produktĂłw do baselinker
ver. 0.199
- NEW - usprawnienie edycji danych do XML
ver. 0.198
-- NEW - automatyczne generowanie kodów SKU +- NEW - automatyczne generowanie kodĂłw SKU
ver. 0.197
- FIX - poprawki w Dashboard @@ -669,7 +672,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - integracja z apilo.com
ver. 0.195
-- FIX - aktualizacja statusów +- FIX - aktualizacja statusĂłw
ver. 0.194
- UPDATE - integracja apilo @@ -678,46 +681,46 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - UPDATE - aktualizacja synchronizacji z baselinker
ver. 0.192
-- NEW - pobieranie statusów z sellasist +- NEW - pobieranie statusĂłw z sellasist
ver. 0.191
- NEW - integracja z selasist
ver. 0.190
-- FIX - produkty powiązane +- FIX - produkty powiÄ…zane
ver. 0.189
-- FIX - ceny promocyjne produktów z dodatkiem +- FIX - ceny promocyjne produktĂłw z dodatkiem
ver. 0.188
-- NEW - widok listy produktów +- NEW - widok listy produktĂłw
ver. 0.187
- FIX - pobieranie cen z APILO
ver. 0.186
-- FIX - dodawanie do koszyka tych samych produktów ale z różną personalizacją +- FIX - dodawanie do koszyka tych samych produktĂłw ale z różnÄ… personalizacjÄ…
ver. 0.185
-- FIX - masowa edycja produktów +- FIX - masowa edycja produktĂłw
ver. 0.184
-- NEW - druga część integracji z apilo, masowa edycja produktów +- NEW - druga część integracji z apilo, masowa edycja produktĂłw
ver. 0.183
-- NEW - pierwsza część integracji z apilo +- NEW - pierwsza część integracji z apilo
ver. 0.182
- FIX - layout
ver. 0.181
-- NEW - infinitescroll - opcja włączy/wyłącz +- NEW - infinitescroll - opcja włączy/wyłącz
ver. 0.180
- NEW - aktualizacja dashboard
ver. 0.179
-- NEW - obsługa EAN +- NEW - obsĹ‚uga EAN
ver. 0.177, 0.178
- FIX - custom_label @@ -733,7 +736,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚Ă
ver. 0.173
- NEW - duplikowanie produktu wraz z kombinacjami -- NEW - dodanie przechodzenia pomiędzy zamówienia (poprzednie/następne zamówienie) +- NEW - dodanie przechodzenia pomiÄ™dzy zamĂłwienia (poprzednie/nastÄ™pne zamĂłwienie)
ver. 0.172
- FIX - poprawki w Cache @@ -745,22 +748,22 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - NEW - usuwanie cache produktu przy zapisie
ver. 0.169
-- FIX - poprawki w liście produktów +- FIX - poprawki w liĹ›cie produktĂłw
ver. 0.168
-- NEW - archiwum produktów +- NEW - archiwum produktĂłw
ver. 0.167
-- NEW - dodanie obsługi cen i stanów magazynowych kombinacji produktów +- NEW - dodanie obsĹ‚ugi cen i stanĂłw magazynowych kombinacji produktĂłw
ver. 0.166
-- NEW - współpraca z GTM +- NEW - współpraca z GTM
ver. 0.164/5
-- FIX - ukrywanie produktów nieaktywnych +- FIX - ukrywanie produktĂłw nieaktywnych
ver. 0.163
-- NEW - automatyczne podpowiadanie produktów do zestawu na podstawie wcześniejszych zakupów klientów +- NEW - automatyczne podpowiadanie produktĂłw do zestawu na podstawie wczeĹ›niejszych zakupĂłw klientĂłw
ver. 0.162
- NEW - GA4 @@ -776,7 +779,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - cron Baselinker
ver. 0.158
-- UPDATE - poprawa kolorystyki przycisków +- UPDATE - poprawa kolorystyki przyciskĂłw
ver. 0.157
- NEW - szybka zmiana statusu produktu @@ -788,10 +791,10 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - NEW - infinite scroll w widoku kategorii
ver. 0.154
-- FIX - atrybuty produktów +- FIX - atrybuty produktĂłw
ver. 0.153
-- FIX - atrybuty produktów +- FIX - atrybuty produktĂłw
ver. 0.152
- FIX - tematy maili @@ -800,7 +803,7 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - FIX - tematy maili
ver. 0.150
-- NEW - domyślna forma transportu +- NEW - domyĹ›lna forma transportu
ver. 0.149
- NEW - tematy maili @@ -818,11 +821,11 @@ NEW - Ukrywalne filtry tabel, mobilna wersja szczegÄ‚à - NEW - omnibus ready
ver. 0.144
-- FIX - usunięcie adresu marianek.pl z kodu +- FIX - usuniÄ™cie adresu marianek.pl z kodu
ver. 0.143
-- FIX - poprawa generowania plików WEBP +- FIX - poprawa generowania plikĂłw WEBP
ver. 0.142
-- FIX - poprawa adresu strony głównej +- FIX - poprawa adresu strony głównej
diff --git a/updates/versions.php b/updates/versions.php index 52c0036..078c089 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@