Integrations DI refactor, remove Sellasist/Baselinker, fix product-edit encoding (0.263)

- New: Domain\Integrations\IntegrationsRepository + admin\Controllers\IntegrationsController (DI)
- Cleanup: removed all Sellasist and Baselinker integrations from entire project
- Fix: product-edit.php Polish characters (UTF-8/CP1250 double-encoding)
- Update: factory\Integrations as facade (Apilo + ShopPRO only)
- Tests: 212 tests, 577 assertions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 21:59:26 +01:00
parent b4559a5e74
commit 1303b17de4
51 changed files with 1166 additions and 2663 deletions

View File

@@ -57,26 +57,13 @@ shop\product:{product_id}:{lang_id}:{permutation_hash}
### Plik: `cron.php`
#### Sellasist
- **Aktualizacja produktów:** Linia 111-149
- **Funkcje:** Aktualizacja cen i stanów magazynowych
- **Częstotliwość:** Co 10 minut
- **Czyszczenie cache:** Linia 146
#### Apilo
- **Aktualizacja pojedynczego produktu:** Linia 152-176
- Częstotliwość: Co 10 minut
- Czyszczenie cache: Linia 173
- **Aktualizacja pojedynczego produktu:** synchronizacja cen i stanow
- Czestotliwosc: Co 10 minut
- **Synchronizacja cennika:** masowa aktualizacja cen z Apilo
- Czestotliwosc: Co 1 godzine
- **Synchronizacja cennika:** Linia 179-218
- Częstotliwość: Co 1 godzinę
- Czyszczenie cache: Linia 212
#### Baselinker
- **Aktualizacja produktów:** Linia 220-289
- **Funkcje:** Ceny, stany magazynowe, wagi
- **Częstotliwość:** Co 24 godziny (1440 minut)
- **Czyszczenie cache:** Linia 278
**Uwaga:** Integracje Sellasist i Baselinker zostaly usuniete w ver. 0.263.
## Panel Administratora
@@ -130,9 +117,10 @@ shopPRO/
### Tabele integracji
- Kolumny w `pp_shop_products`:
- `sellasist_product_id`, `sellasist_get_data_date`
- `apilo_product_id`, `apilo_get_data_date`
- `baselinker_product_id`, `baselinker_get_data_date`
- `apilo_product_id`, `apilo_product_name`, `apilo_get_data_date`
- Tabele ustawien:
- `pp_shop_apilo_settings` (key-value)
- `pp_shop_shoppro_settings` (key-value)
## Konfiguracja
@@ -387,9 +375,9 @@ Aktualnie w suite są też testy modułów `Dictionaries`, `Articles` i `Users`
- **UPDATE:** widoki Users przeniesione z `grid/gridEdit` na `components/table-list` i `components/form-edit`
## Aktualizacja 2026-02-12 (finalizacja Users)
- Modu<64> users dzia<69>a na `Domain\\User\\UserRepository` + `admin\\Controllers\\UsersController`.
- Usuni<6E>to legacy klasy: `autoload/admin/controls/class.Users.php`, `autoload/admin/factory/class.Users.php`, `autoload/admin/view/class.Users.php`.
- Walidacja: przy w<><77>czonym 2FA pole `twofa_email` jest wymagane.
- Modu<64> users dzia<69>a na `Domain\\User\\UserRepository` + `admin\\Controllers\\UsersController`.
- Usuni<6E>to legacy klasy: `autoload/admin/controls/class.Users.php`, `autoload/admin/factory/class.Users.php`, `autoload/admin/view/class.Users.php`.
- Walidacja: przy w<><77>czonym 2FA pole `twofa_email` jest wymagane.
- Widoki users przeniesione na `components/table-list` i `components/form-edit`.
- **NOWE:** `Domain\\Languages\\LanguagesRepository` - repozytorium jezykow i tlumaczen (lista, zapis, usuwanie, max_order)
- **NOWE:** `admin\\Controllers\\LanguagesController` - kontroler DI (`list/view_list`, `language_*`, `translation_*`)
@@ -479,3 +467,11 @@ Aktualnie w suite są też testy modułów `Dictionaries`, `Articles` i `Users`
- UPDATE: routing DI (`admin\\Site`) ma fabryke kontrolera `Pages`.
- UPDATE: zalezne endpointy `cookie_*` i `generate_seo_link` przepiete na `/admin/pages/*`.
- CLEANUP: usuniete legacy pliki `autoload/admin/controls/class.Pages.php`, `autoload/admin/view/class.Pages.php`, `autoload/admin/factory/class.Pages.php`, `admin/ajax/pages.php`.
## Aktualizacja 2026-02-13 (Integrations refactor, ver. 0.263)
- NOWE: `Domain\Integrations\IntegrationsRepository` (settings Apilo/ShopPRO, OAuth, product linking, API fetch).
- NOWE: `admin\Controllers\IntegrationsController` (DI) dla akcji Apilo (settings, authorization, fetch lists, product CRUD) i ShopPRO (settings, product import).
- UPDATE: `admin\factory\Integrations` jako fasada delegujaca do repozytorium (tylko Apilo + ShopPRO).
- CLEANUP: **usunieto integracje Sellasist i Baselinker z calego projektu** - kontrolery, factory, szablony, referencje w cron.php, Order, ShopStatuses, ShopTransport, ShopPaymentMethod, ShopProduct, config.php, front/factory/*.
- CLEANUP: usuniete pliki: `autoload/admin/controls/class.Integrations.php`, `autoload/admin/controls/class.Baselinker.php`, `autoload/admin/factory/class.Baselinker.php`, `autoload/front/factory/class.Shop.php`, `autoload/shop/class.ShopStatus.php`, szablony sellasist/baselinker.
- Testy: **OK (212 tests, 577 assertions)**.