From 319491975d1029a3cfdf6fe48a7ee8c6cc1e5afe Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Mon, 16 Feb 2026 23:06:06 +0100 Subject: [PATCH] =?UTF-8?q?ver.=200.283:=20Legacy=20class=20cleanup=20?= =?UTF-8?q?=E2=80=94=20S,=20Html,=20Email,=20Image,=20Log,=20Mobile=5FDete?= =?UTF-8?q?ct=20=E2=86=92=20Shared=20namespace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Migrate class.S → Shared\Helpers\Helpers (140+ files), remove 12 unused methods - Migrate class.Html → Shared\Html\Html - Migrate class.Email → Shared\Email\Email - Migrate class.Image → Shared\Image\ImageManipulator - Delete class.Log (unused), class.Mobile_Detect (outdated UA detection) - Remove grid library loading from admin (index.php, ajax.php) - Replace gridEdit usage in 10 admin templates with grid-edit-replacement.php - Fix grid-edit-replacement.php AJAX to send values as JSON (grid.js compat) - Remove mobile layout conditionals (m_html/m_css/m_js) from Site + LayoutsRepository - Remove \Log::save_log() calls from OrderAdminService, ShopOrder, Order Co-Authored-By: Claude Opus 4.6 --- admin/ajax.php | 1 - admin/ajax/shop-category.php | 4 +- admin/ajax/users.php | 4 +- admin/index.php | 13 +- admin/templates/banners/banner-edit.php | 46 +- admin/templates/components/form-edit.php | 2 +- .../components/grid-edit-replacement.php | 171 ++ admin/templates/dashboard/main-view.php | 6 +- admin/templates/layouts/layout-edit.php | 35 +- admin/templates/pages/page-articles.php | 23 +- admin/templates/pages/pages-browse-list.php | 17 +- admin/templates/pages/pages-list.php | 25 +- admin/templates/settings/settings.php | 87 +- .../shop-category/categories-list.php | 25 +- .../shop-category/category-browse-list.php | 17 +- .../templates/shop-category/category-edit.php | 63 +- .../shop-category/category-products.php | 23 +- admin/templates/shop-order/order-details.php | 8 +- admin/templates/shop-order/order-edit.php | 8 +- .../shop-product/product-combination.php | 2 +- admin/templates/site/main-layout.php | 8 +- admin/templates/site/unlogged-layout.php | 4 +- admin/templates/site/unlogged.php | 4 +- ajax.php | 32 +- api.php | 6 +- autoload/Domain/Article/ArticleRepository.php | 24 +- .../Domain/Attribute/AttributeRepository.php | 4 +- autoload/Domain/Banner/BannerRepository.php | 2 +- autoload/Domain/Cache/CacheRepository.php | 4 +- .../Domain/Category/CategoryRepository.php | 6 +- .../Dictionaries/DictionariesRepository.php | 4 +- .../Integrations/IntegrationsRepository.php | 4 +- .../Domain/Languages/LanguagesRepository.php | 12 +- autoload/Domain/Layouts/LayoutsRepository.php | 10 +- .../Newsletter/NewsletterPreviewRenderer.php | 2 +- .../Newsletter/NewsletterRepository.php | 14 +- autoload/Domain/Order/OrderAdminService.php | 11 +- autoload/Domain/Pages/PagesRepository.php | 18 +- autoload/Domain/Product/ProductRepository.php | 62 +- .../ProductSet/ProductSetRepository.php | 4 +- .../Domain/Promotion/PromotionRepository.php | 4 +- .../Scontainers/ScontainersRepository.php | 2 +- .../Domain/Settings/SettingsRepository.php | 4 +- autoload/Domain/Update/UpdateRepository.php | 8 +- autoload/Domain/User/UserRepository.php | 6 +- .../Email/Email.php} | 6 +- .../Helpers/Helpers.php} | 253 +-- .../{class.Html.php => Shared/Html/Html.php} | 32 +- .../Image/ImageManipulator.php} | 66 +- autoload/admin/App.php | 56 +- .../Controllers/ArticlesArchiveController.php | 8 +- .../admin/Controllers/ArticlesController.php | 22 +- .../admin/Controllers/BannerController.php | 12 +- .../Controllers/DictionariesController.php | 12 +- .../Controllers/IntegrationsController.php | 26 +- .../admin/Controllers/LanguagesController.php | 28 +- .../admin/Controllers/LayoutsController.php | 10 +- .../Controllers/NewsletterController.php | 30 +- .../admin/Controllers/PagesController.php | 58 +- .../Controllers/ProductArchiveController.php | 6 +- .../Controllers/ScontainersController.php | 12 +- .../admin/Controllers/SettingsController.php | 26 +- .../Controllers/ShopAttributeController.php | 28 +- .../Controllers/ShopCategoryController.php | 22 +- .../Controllers/ShopClientsController.php | 8 +- .../Controllers/ShopCouponController.php | 12 +- .../admin/Controllers/ShopOrderController.php | 66 +- .../ShopPaymentMethodController.php | 10 +- .../Controllers/ShopProducerController.php | 24 +- .../Controllers/ShopProductController.php | 94 +- .../Controllers/ShopProductSetsController.php | 12 +- .../Controllers/ShopPromotionController.php | 12 +- .../Controllers/ShopStatusesController.php | 10 +- .../Controllers/ShopTransportController.php | 12 +- .../admin/Controllers/UpdateController.php | 10 +- .../admin/Controllers/UsersController.php | 12 +- .../admin/Support/Forms/FormFieldRenderer.php | 38 +- .../Support/class.TableListRequestFactory.php | 10 +- autoload/class.Log.php | 14 - autoload/class.Mobile_Detect.php | 1431 ----------------- autoload/cms/class.Layout.php | 2 +- .../Controllers/NewsletterController.php | 10 +- autoload/front/Views/Articles.php | 2 +- autoload/front/Views/Banners.php | 2 +- autoload/front/controls/class.ShopBasket.php | 190 +-- autoload/front/controls/class.ShopClient.php | 72 +- autoload/front/controls/class.ShopCoupon.php | 8 +- autoload/front/controls/class.ShopOrder.php | 42 +- .../front/controls/class.ShopProducer.php | 10 +- autoload/front/controls/class.ShopProduct.php | 8 +- autoload/front/controls/class.Site.php | 36 +- autoload/front/factory/class.Pages.php | 2 +- autoload/front/factory/class.ShopBasket.php | 2 +- autoload/front/factory/class.ShopCategory.php | 6 +- autoload/front/factory/class.ShopClient.php | 24 +- autoload/front/factory/class.ShopOrder.php | 6 +- autoload/front/factory/class.ShopProduct.php | 6 +- .../front/factory/class.ShopTransport.php | 2 +- autoload/front/view/class.ShopCategory.php | 2 +- autoload/front/view/class.Site.php | 67 +- autoload/shop/class.Basket.php | 4 +- autoload/shop/class.Coupon.php | 2 +- autoload/shop/class.Order.php | 16 +- autoload/shop/class.Product.php | 42 +- autoload/shop/class.ProductAttribute.php | 4 +- autoload/shop/class.ProductCustomField.php | 2 +- autoload/shop/class.Search.php | 12 +- autoload/shop/class.Shop.php | 2 +- cron.php | 14 +- download.php | 2 +- index.php | 38 +- templates/articles/article-entry.php | 4 +- templates/articles/article-full.php | 6 +- templates/articles/article-gallery.php | 16 +- templates/articles/article-miniature.php | 2 +- templates/articles/article.php | 8 +- templates/articles/news-list.php | 6 +- templates/articles/news.php | 2 +- templates/controls/alert-product-sets.php | 10 +- templates/menu/pages.php | 6 +- templates/menu/submenu.php | 6 +- templates/newsletter/preview.php | 4 +- templates/shop-basket/address-form.php | 34 +- templates/shop-basket/alert-product-sets.php | 10 +- templates/shop-basket/basket-details.php | 20 +- templates/shop-basket/basket-mini.php | 2 +- .../shop-basket/basket-payments-methods.php | 16 +- .../shop-basket/basket-transport-methods.php | 20 +- templates/shop-basket/basket.php | 20 +- templates/shop-basket/summary-view.php | 34 +- templates/shop-category/categories.php | 6 +- .../shop-category/category-description.php | 6 +- .../shop-category/category-infinitescroll.php | 2 +- templates/shop-category/category.php | 2 +- templates/shop-category/products.php | 2 +- templates/shop-client/address-edit.php | 18 +- templates/shop-client/client-addresses.php | 16 +- templates/shop-client/client-menu.php | 4 +- templates/shop-client/client-orders.php | 2 +- templates/shop-client/login-form.php | 12 +- templates/shop-client/mini-login.php | 4 +- templates/shop-client/recover-password.php | 6 +- templates/shop-client/register-form.php | 30 +- templates/shop-order/mail-summary.php | 50 +- templates/shop-order/order-details.php | 28 +- templates/shop-order/order-simple.php | 24 +- templates/shop-producer/list.php | 2 +- .../_partial/product-attribute.php | 4 +- templates/shop-product/product-mini.php | 8 +- templates/shop-product/product.php | 54 +- templates/shop-product/promoted-products.php | 8 +- templates/shop-search/product-search.php | 8 +- templates/shop-search/products.php | 2 +- templates/shop-search/simple-form.php | 8 +- templates/site/pager.php | 2 +- .../Unit/Domain/Cache/CacheRepositoryTest.php | 2 +- .../Controllers/SettingsControllerTest.php | 2 +- tests/bootstrap.php | 21 +- tests/stubs/Helpers.php | 21 + 159 files changed, 1501 insertions(+), 3043 deletions(-) create mode 100644 admin/templates/components/grid-edit-replacement.php rename autoload/{class.Email.php => Shared/Email/Email.php} (98%) rename autoload/{class.S.php => Shared/Helpers/Helpers.php} (81%) rename autoload/{class.Html.php => Shared/Html/Html.php} (96%) rename autoload/{class.Image.php => Shared/Image/ImageManipulator.php} (82%) delete mode 100644 autoload/class.Log.php delete mode 100644 autoload/class.Mobile_Detect.php create mode 100644 tests/stubs/Helpers.php diff --git a/admin/ajax.php b/admin/ajax.php index dc4fdbb..91bde26 100644 --- a/admin/ajax.php +++ b/admin/ajax.php @@ -23,7 +23,6 @@ spl_autoload_register( '__autoload_my_classes' ); require_once '../config.php'; require_once '../libraries/medoo/medoo.php'; -require_once '../libraries/grid/config.php'; date_default_timezone_set('Europe/Warsaw'); session_start(); diff --git a/admin/ajax/shop-category.php b/admin/ajax/shop-category.php index a16c6b6..7fce9fd 100644 --- a/admin/ajax/shop-category.php +++ b/admin/ajax/shop-category.php @@ -1,5 +1,5 @@ saveProductOrder( \S::get( 'category_id' ), \S::get( 'products' ) ) ) + if ( $categoryRepository->saveProductOrder( \Shared\Helpers\Helpers::get( 'category_id' ), \Shared\Helpers\Helpers::get( 'products' ) ) ) $response = [ 'status' => 'ok' ]; echo json_encode( $response ); diff --git a/admin/ajax/users.php b/admin/ajax/users.php index 72ed241..eacf900 100644 --- a/admin/ajax/users.php +++ b/admin/ajax/users.php @@ -1,11 +1,11 @@ checkLogin( (string)\S::get( 'login' ), (int)\S::get( 'user_id' ) ); + $response = $repository->checkLogin( (string)\Shared\Helpers\Helpers::get( 'login' ), (int)\Shared\Helpers\Helpers::get( 'user_id' ) ); echo json_encode( $response ); exit; } diff --git a/admin/index.php b/admin/index.php index 6eb5c7a..2a228cb 100644 --- a/admin/index.php +++ b/admin/index.php @@ -31,7 +31,6 @@ function __autoload_my_classes( $classname ) spl_autoload_register( '__autoload_my_classes' ); require_once '../config.php'; require_once '../libraries/medoo/medoo.php'; -require_once '../libraries/grid/config.php'; require_once '../libraries/rb.php'; require_once '../libraries/phpmailer/class.phpmailer.php'; require_once '../libraries/phpmailer/class.smtp.php'; @@ -68,16 +67,16 @@ if ( $_SESSION['ip'] !== $_SERVER['REMOTE_ADDR'] ) $langRepo = new \Domain\Languages\LanguagesRepository( $mdb ); -if ( !$lang_id = \S::get_session( 'current-lang' ) ) +if ( !$lang_id = \Shared\Helpers\Helpers::get_session( 'current-lang' ) ) { $lang_id = $langRepo->defaultLanguage(); - \S::set_session( 'current-lang', $lang_id ); + \Shared\Helpers\Helpers::set_session( 'current-lang', $lang_id ); } -if ( !$lang = \S::get_session( 'lang-' . $lang_id ) ) +if ( !$lang = \Shared\Helpers\Helpers::get_session( 'lang-' . $lang_id ) ) { $lang = $langRepo->translations( $lang_id ); - \S::set_session( 'lang-' . $lang_id, $lang ); + \Shared\Helpers\Helpers::set_session( 'lang-' . $lang_id, $lang ); } $mdb = new medoo( [ @@ -89,7 +88,7 @@ $mdb = new medoo( [ 'charset' => 'utf8' ] ); -$user = \S::get_session( 'user', true ); +$user = \Shared\Helpers\Helpers::get_session( 'user', true ); \admin\App::update(); \admin\App::special_actions(); @@ -117,7 +116,7 @@ if ( isset( $_COOKIE[$cookie_name] ) && !isset( $_SESSION['user'] ) ) $user_data = $mdb->get('pp_users', '*', ['AND' => ['login' => $data['login'], 'status' => 1]]); if ($user_data) { - \S::set_session('user', $users->details($data['login'])); + \Shared\Helpers\Helpers::set_session('user', $users->details($data['login'])); $redirect = $_SERVER['REQUEST_URI'] ?: '/admin/articles/view_list/'; header('Location: ' . $redirect); exit; diff --git a/admin/templates/banners/banner-edit.php b/admin/templates/banners/banner-edit.php index 21fc5a3..c059d2f 100644 --- a/admin/templates/banners/banner-edit.php +++ b/admin/templates/banners/banner-edit.php @@ -1,7 +1,7 @@
- 'Nazwa', 'name' => 'name', @@ -28,7 +28,7 @@ ob_start(); 'class' => 'require' ) ); ?> - 'Aktywny', 'name' => 'status', @@ -46,7 +46,7 @@ ob_start(); ) ); ?> - 'Data zakończenia', 'name' => 'date_end', @@ -55,7 +55,7 @@ ob_start(); 'class' => 'date' ) ); ?> - 'Slajder / Strona główna', 'name' => 'home_page', @@ -78,7 +78,7 @@ ob_start(); languages ) ): foreach ( $this -> languages as $lg ):?>
- 'Obraz', 'name' => 'src[' . $lg['id'] . ']', @@ -89,7 +89,7 @@ ob_start(); ) ); ?> - 'Url', 'name' => 'url[' . $lg['id'] . ']', @@ -98,7 +98,7 @@ ob_start(); ) ); ?> - 'Kod html', 'name' => 'html[' . $lg['id'] . ']', @@ -107,7 +107,7 @@ ob_start(); ) ); ?> - 'Treść', 'name' => 'text[' . $lg['id'] . ']', @@ -136,26 +136,14 @@ ob_start(); id = 'banner-edit'; -$grid -> gdb_opt = $gdb; -$grid -> include_plugins = true; -$grid -> title = 'Edycja baneru'; -$grid -> fields = [ - [ - 'db' => 'id', - 'type' => 'hidden', - 'value' => $this -> banner['id'] - ] -]; -$grid -> external_code = $out; -$grid -> actions = [ - 'save' => [ 'url' => '/admin/banners/save/', 'back_url' => '/admin/banners/list/' ], - 'cancel' => [ 'url' => '/admin/banners/list/' ] -]; -$grid -> persist_edit = true; -$grid -> id_param = 'id'; -echo $grid -> draw(); +$gridId = 'banner-edit'; +$gridTitle = 'Edycja baneru'; +$gridSaveUrl = '/admin/banners/save/'; +$gridBackUrl = '/admin/banners/list/'; +$gridHidden = [['name' => 'id', 'value' => $this -> banner['id']]]; +$gridContent = $out; +$gridPersist = true; +include __DIR__ . '/../components/grid-edit-replacement.php'; ?> + + + + +
+
+
+
+
+ +
+ + + +
+
+ + + + + + +
+
+
+
+
+
+ diff --git a/admin/templates/dashboard/main-view.php b/admin/templates/dashboard/main-view.php index 563bc47..a835dee 100644 --- a/admin/templates/dashboard/main-view.php +++ b/admin/templates/dashboard/main-view.php @@ -32,7 +32,7 @@ - last_orders ) ): foreach ( $this -> last_orders as $order ):?> + last_orders ) ): foreach ( $this -> last_orders as $order ):?> @@ -122,7 +122,7 @@ - best_sales_products ) ): foreach ( $this -> best_sales_products as $row ):?> + best_sales_products ) ): foreach ( $this -> best_sales_products as $row ):?> defaultLanguage() );?> @@ -157,7 +157,7 @@ - most_view_products ) ): foreach ( $this -> most_view_products as $row ):?> + most_view_products ) ): foreach ( $this -> most_view_products as $row ):?> diff --git a/admin/templates/layouts/layout-edit.php b/admin/templates/layouts/layout-edit.php index 1885bc3..5408603 100644 --- a/admin/templates/layouts/layout-edit.php +++ b/admin/templates/layouts/layout-edit.php @@ -241,7 +241,7 @@ ob_start();
- 'Nazwa', 'name' => 'name', @@ -249,14 +249,14 @@ ob_start(); 'value' => $this -> layout['name'] ) );?> - 'Szablon domyślny', 'name' => 'status', 'checked' => $this -> layout['status'] == 1 ? true : false ) );?> - 'Szablon domyślny (kategorie)', 'name' => 'categories_default', @@ -329,26 +329,13 @@ ob_start(); id = 'layout-edit'; -$grid -> gdb_opt = $gdb; -$grid -> include_plugins = true; -$grid -> title = 'Edycja szablonu'; -$grid -> fields = [ - [ - 'db' => 'id', - 'type' => 'hidden', - 'value' => $this -> layout['id'] - ] - ]; -$grid -> actions = [ - 'save' => [ 'url' => '/admin/layouts/save/', 'back_url' => '/admin/layouts/list/' ], - 'cancel' => [ 'url' => '/admin/layouts/list/' ] - ]; -$grid -> external_code = $out; -$grid -> persist_edit = true; -$grid -> id_param = 'id'; - -echo $grid -> draw(); +$gridId = 'layout-edit'; +$gridTitle = 'Edycja szablonu'; +$gridSaveUrl = '/admin/layouts/save/'; +$gridBackUrl = '/admin/layouts/list/'; +$gridHidden = [['name' => 'id', 'value' => $this->layout['id']]]; +$gridContent = $out; +$gridPersist = true; +include __DIR__ . '/../components/grid-edit-replacement.php'; ?> diff --git a/admin/templates/pages/page-articles.php b/admin/templates/pages/page-articles.php index 8e32fab..5e28d1b 100644 --- a/admin/templates/pages/page-articles.php +++ b/admin/templates/pages/page-articles.php @@ -21,21 +21,14 @@ ob_start(); gdb_opt = $gdb; -$grid->include_plugins = true; -$grid->default_buttons = false; -$grid->external_code = $out; -$grid->title = 'Lista artykułów'; -$grid->buttons = [ - [ - 'label' => 'Wstecz', - 'url' => '/admin/pages/list/', - 'icon' => 'fa-reply', - 'class' => 'btn-dark', - ], -]; -echo $grid->draw(); +$gridId = 'page-articles'; +$gridTitle = 'Lista artykułów'; +$gridSaveUrl = ''; +$gridBackUrl = ''; +$gridHidden = []; +$gridContent = $out; +$gridPersist = false; +include __DIR__ . '/../components/grid-edit-replacement.php'; ?> diff --git a/admin/templates/shop-category/categories-list.php b/admin/templates/shop-category/categories-list.php index 3a4ef4c..fb8ed8d 100644 --- a/admin/templates/shop-category/categories-list.php +++ b/admin/templates/shop-category/categories-list.php @@ -40,22 +40,13 @@ ob_start(); id = 'pages-list'; -$grid -> gdb_opt = $gdb; -$grid -> include_plugins = true; -$grid -> title = 'Lista kategorii'; -$grid -> default_buttons = false; -$grid -> buttons = [ - [ - 'label' => 'Dodaj kategorię', - 'url' => '/admin/shop_category/category_edit/', - 'icon' => 'fa-plus-circle', - 'class' => 'btn-success' - ] - ]; -$grid -> external_code = $out; - -echo $grid -> draw(); +$gridId = 'pages-list'; +$gridTitle = 'Lista kategorii'; +$gridSaveUrl = ''; +$gridBackUrl = ''; +$gridHidden = []; +$gridContent = $out; +$gridPersist = false; +include __DIR__ . '/../components/grid-edit-replacement.php'; ?> \ No newline at end of file diff --git a/admin/templates/shop-category/category-browse-list.php b/admin/templates/shop-category/category-browse-list.php index 0ad148f..cb61227 100644 --- a/admin/templates/shop-category/category-browse-list.php +++ b/admin/templates/shop-category/category-browse-list.php @@ -30,15 +30,14 @@ ob_start(); id = 'pages-list'; -$grid -> gdb_opt = $gdb; -$grid -> include_plugins = false; -$grid -> title = 'Lista kategorii'; -$grid -> default_buttons = false; -$grid -> external_code = $out; - -echo $grid -> draw(); +$gridId = 'pages-list'; +$gridTitle = 'Lista kategorii'; +$gridSaveUrl = ''; +$gridBackUrl = ''; +$gridHidden = []; +$gridContent = $out; +$gridPersist = false; +include __DIR__ . '/../components/grid-edit-replacement.php'; ?>