From 28b30c1e5644ef018ec287faf20d41618d9f4e4d Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Tue, 17 Feb 2026 00:13:59 +0100 Subject: [PATCH] =?UTF-8?q?ver.=200.285:=20Tpl=20=E2=86=92=20Shared\Tpl=20?= =?UTF-8?q?namespace,=20CurlServer=20removal,=20thumb.php=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- admin/templates/articles/article-edit.php | 4 +- .../articles/articles-archive-list.php | 4 +- admin/templates/articles/articles-list.php | 4 +- admin/templates/articles/subpages-list.php | 2 +- admin/templates/banners/banners-list.php | 4 +- admin/templates/dictionaries/unit-edit.php | 2 +- admin/templates/dictionaries/units-list.php | 4 +- admin/templates/languages/language-edit.php | 2 +- admin/templates/languages/languages-list.php | 2 +- .../templates/languages/translation-edit.php | 2 +- .../templates/languages/translations-list.php | 2 +- admin/templates/layouts/layout-edit.php | 4 +- admin/templates/layouts/layouts-list.php | 2 +- .../templates/layouts/subcategories-list.php | 2 +- admin/templates/layouts/subpages-list.php | 2 +- .../newsletter/email-template-edit.php | 2 +- .../newsletter/email-templates-admin.php | 2 +- admin/templates/newsletter/emails-list.php | 2 +- admin/templates/newsletter/settings.php | 2 +- admin/templates/pages/menu-edit.php | 2 +- admin/templates/pages/page-edit.php | 2 +- admin/templates/pages/pages-browse-list.php | 2 +- admin/templates/pages/pages-list.php | 2 +- .../templates/pages/subpages-browse-list.php | 2 +- admin/templates/pages/subpages-list.php | 2 +- .../product-archive/products-list.php | 4 +- .../templates/scontainers/container-edit.php | 2 +- .../templates/scontainers/containers-list.php | 2 +- .../shop-attribute/attribute-edit.php | 2 +- .../shop-attribute/attributes-list.php | 2 +- .../templates/shop-attribute/values-edit.php | 6 +- .../shop-category/categories-list.php | 4 +- .../shop-category/category-browse-list.php | 4 +- .../templates/shop-category/category-edit.php | 2 +- .../shop-category/category-products.php | 2 +- .../shop-category/subcategories-list.php | 2 +- .../shop-category/subcategory-browse-list.php | 2 +- .../shop-clients/clients-details.php | 2 +- admin/templates/shop-clients/view-list.php | 2 +- .../coupon-categories-selector.php | 2 +- .../shop-coupon/coupon-categories-tree.php | 2 +- .../templates/shop-coupon/coupon-edit-new.php | 4 +- admin/templates/shop-coupon/coupons-list.php | 2 +- admin/templates/shop-order/order-details.php | 2 +- admin/templates/shop-order/order-edit.php | 2 +- admin/templates/shop-order/orders-list.php | 2 +- .../payment-method-edit.php | 2 +- .../payment-methods-list.php | 2 +- .../templates/shop-producer/producer-edit.php | 2 +- .../shop-producer/producers-list.php | 2 +- .../shop-product-sets/product-set-edit.php | 4 +- .../shop-product-sets/product-sets-list.php | 2 +- admin/templates/shop-product/mass-edit.php | 4 +- admin/templates/shop-product/product-edit.php | 4 +- .../templates/shop-product/products-list.php | 4 +- .../shop-product/subcategories-list.php | 2 +- .../promotion-categories-selector.php | 2 +- .../promotion-categories-tree.php | 2 +- .../shop-promotion/promotion-edit.php | 4 +- .../shop-promotion/promotions-list.php | 2 +- admin/templates/shop-statuses/status-edit.php | 2 +- admin/templates/shop-statuses/view-list.php | 2 +- .../shop-transport/transport-edit.php | 4 +- .../shop-transport/transports-list.php | 2 +- admin/templates/users/user-edit.php | 2 +- admin/templates/users/users-list.php | 2 +- autoload/Shared/Html/Html.php | 16 ++--- autoload/Shared/Tpl/Tpl.php | 63 ++++++++++++++++++ autoload/admin/App.php | 2 +- .../Controllers/ArticlesArchiveController.php | 2 +- .../admin/Controllers/ArticlesController.php | 6 +- .../admin/Controllers/BannerController.php | 4 +- .../admin/Controllers/DashboardController.php | 2 +- .../Controllers/DictionariesController.php | 4 +- .../Controllers/FilemanagerController.php | 2 +- .../Controllers/IntegrationsController.php | 4 +- .../admin/Controllers/LanguagesController.php | 8 +-- .../admin/Controllers/LayoutsController.php | 4 +- .../Controllers/NewsletterController.php | 8 +-- .../admin/Controllers/PagesController.php | 10 +-- .../Controllers/ProductArchiveController.php | 2 +- .../Controllers/ScontainersController.php | 4 +- .../admin/Controllers/SettingsController.php | 2 +- .../Controllers/ShopAttributeController.php | 8 +-- .../Controllers/ShopCategoryController.php | 8 +-- .../Controllers/ShopClientsController.php | 4 +- .../Controllers/ShopCouponController.php | 6 +- .../admin/Controllers/ShopOrderController.php | 6 +- .../ShopPaymentMethodController.php | 4 +- .../Controllers/ShopProducerController.php | 4 +- .../Controllers/ShopProductController.php | 10 +-- .../Controllers/ShopProductSetsController.php | 4 +- .../Controllers/ShopPromotionController.php | 8 +-- .../Controllers/ShopStatusesController.php | 4 +- .../Controllers/ShopTransportController.php | 4 +- .../admin/Controllers/UpdateController.php | 2 +- .../admin/Controllers/UsersController.php | 10 +-- autoload/front/Views/Articles.php | 18 ++--- autoload/front/Views/Banners.php | 4 +- autoload/front/Views/Languages.php | 2 +- autoload/front/Views/Newsletter.php | 2 +- autoload/front/controls/class.ShopBasket.php | 24 +++---- autoload/front/controls/class.ShopOrder.php | 4 +- .../front/controls/class.ShopProducer.php | 6 +- autoload/front/controls/class.ShopProduct.php | 2 +- autoload/front/controls/class.Site.php | 2 +- autoload/front/factory/class.ShopOrder.php | 2 +- autoload/front/view/class.Menu.php | 4 +- autoload/front/view/class.Scontainers.php | 2 +- autoload/front/view/class.ShopCategory.php | 10 +-- autoload/front/view/class.ShopClient.php | 16 ++--- autoload/front/view/class.ShopOrder.php | 2 +- .../front/view/class.ShopPaymentMethod.php | 2 +- autoload/front/view/class.Site.php | 32 ++++----- autoload/shop/class.Order.php | 2 +- autoload/shop/class.Product.php | 2 +- autoload/shop/class.Search.php | 8 +-- docs/CHANGELOG.md | 18 +++++ docs/FRONTEND_REFACTORING_PLAN.md | 2 +- docs/PROJECT_STRUCTURE.md | 13 +++- docs/REFACTORING_PLAN.md | 1 + docs/UPDATE_INSTRUCTIONS.md | 11 ++- libraries/thumb.php | 6 +- templates/articles/article-full.php | 10 +-- templates/articles/articles-entries.php | 2 +- templates/shop-basket/basket-details.php | 4 +- templates/shop-basket/summary-view.php | 6 +- .../shop-category/blog-category-products.php | 2 +- .../shop-category/category-infinitescroll.php | 6 +- templates/shop-category/category.php | 8 +-- templates/shop-category/products.php | 2 +- templates/shop-client/client-orders.php | 2 +- templates/shop-order/order-details.php | 2 +- templates/shop-producer/products.php | 4 +- templates/shop-product/product.php | 12 ++-- templates/shop-product/products-box.php | 2 +- templates/shop-product/products-new.php | 2 +- templates/shop-product/products-top.php | 2 +- templates/shop-product/promoted-products.php | 2 +- templates/shop-search/products.php | 2 +- updates/0.20/ver_0.285.zip | Bin 0 -> 183290 bytes updates/0.20/ver_0.285_files.txt | 2 + updates/changelog.php | 6 ++ updates/versions.php | 2 +- 144 files changed, 385 insertions(+), 285 deletions(-) create mode 100644 autoload/Shared/Tpl/Tpl.php create mode 100644 updates/0.20/ver_0.285.zip create mode 100644 updates/0.20/ver_0.285_files.txt diff --git a/admin/templates/articles/article-edit.php b/admin/templates/articles/article-edit.php index 7d3e596..7b72f8e 100644 --- a/admin/templates/articles/article-edit.php +++ b/admin/templates/articles/article-edit.php @@ -1,5 +1,5 @@ - $this->form]); ?> - $this->form]); ?> + $this->article, 'user' => $this->user, 'languages' => $this->form->languages ?? [] diff --git a/admin/templates/articles/articles-archive-list.php b/admin/templates/articles/articles-archive-list.php index 3e70c9a..c54663c 100644 --- a/admin/templates/articles/articles-archive-list.php +++ b/admin/templates/articles/articles-archive-list.php @@ -1,5 +1,5 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, ['list' => $this->viewModel]); ?> + viewModel->customScriptView, ['list' => $this->viewModel]); ?> diff --git a/admin/templates/articles/articles-list.php b/admin/templates/articles/articles-list.php index 3e70c9a..c54663c 100644 --- a/admin/templates/articles/articles-list.php +++ b/admin/templates/articles/articles-list.php @@ -1,5 +1,5 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, ['list' => $this->viewModel]); ?> + viewModel->customScriptView, ['list' => $this->viewModel]); ?> diff --git a/admin/templates/articles/subpages-list.php b/admin/templates/articles/subpages-list.php index 46aef2f..ce4d6b7 100644 --- a/admin/templates/articles/subpages-list.php +++ b/admin/templates/articles/subpages-list.php @@ -9,7 +9,7 @@ article_pages ) and in_array( $page['id'], $this -> article_pages ) ):?>checked="checked" /> - $page['subpages'], 'article_pages' => $this->article_pages, 'parent_id' => $page['id'], diff --git a/admin/templates/banners/banners-list.php b/admin/templates/banners/banners-list.php index 3e70c9a..c54663c 100644 --- a/admin/templates/banners/banners-list.php +++ b/admin/templates/banners/banners-list.php @@ -1,5 +1,5 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, ['list' => $this->viewModel]); ?> + viewModel->customScriptView, ['list' => $this->viewModel]); ?> diff --git a/admin/templates/dictionaries/unit-edit.php b/admin/templates/dictionaries/unit-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/dictionaries/unit-edit.php +++ b/admin/templates/dictionaries/unit-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/dictionaries/units-list.php b/admin/templates/dictionaries/units-list.php index 3e70c9a..c54663c 100644 --- a/admin/templates/dictionaries/units-list.php +++ b/admin/templates/dictionaries/units-list.php @@ -1,5 +1,5 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, ['list' => $this->viewModel]); ?> + viewModel->customScriptView, ['list' => $this->viewModel]); ?> diff --git a/admin/templates/languages/language-edit.php b/admin/templates/languages/language-edit.php index be2362b..e6b6284 100644 --- a/admin/templates/languages/language-edit.php +++ b/admin/templates/languages/language-edit.php @@ -1,2 +1,2 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/languages/languages-list.php b/admin/templates/languages/languages-list.php index b336124..b0e03a9 100644 --- a/admin/templates/languages/languages-list.php +++ b/admin/templates/languages/languages-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/languages/translation-edit.php b/admin/templates/languages/translation-edit.php index be2362b..e6b6284 100644 --- a/admin/templates/languages/translation-edit.php +++ b/admin/templates/languages/translation-edit.php @@ -1,2 +1,2 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/languages/translations-list.php b/admin/templates/languages/translations-list.php index b336124..b0e03a9 100644 --- a/admin/templates/languages/translations-list.php +++ b/admin/templates/languages/translations-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/layouts/layout-edit.php b/admin/templates/layouts/layout-edit.php index 5408603..b9bfbec 100644 --- a/admin/templates/layouts/layout-edit.php +++ b/admin/templates/layouts/layout-edit.php @@ -276,7 +276,7 @@ ob_start(); Menu: - $menu['pages'], 'layout_pages' => $this -> layout['pages'], 'step' => 1 @@ -302,7 +302,7 @@ ob_start(); layout['categories'] ) and in_array( $category['id'], $this -> layout['categories'] ) ):?>checked="checked" /> dlang]['title'];?> - $category['subcategories'], 'product_categories' => $this -> layout['categories'], 'dlang' => $this -> dlang diff --git a/admin/templates/layouts/layouts-list.php b/admin/templates/layouts/layouts-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/layouts/layouts-list.php +++ b/admin/templates/layouts/layouts-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/layouts/subcategories-list.php b/admin/templates/layouts/subcategories-list.php index 72880f2..c7b8c94 100644 --- a/admin/templates/layouts/subcategories-list.php +++ b/admin/templates/layouts/subcategories-list.php @@ -10,7 +10,7 @@ product_categories ) and in_array( $category['id'], $this -> product_categories ) ):?>checked="checked" /> dlang]['title'];?> - $category['subcategories'], 'product_categories' => $this -> product_categories, 'dlang' => $this -> dlang diff --git a/admin/templates/layouts/subpages-list.php b/admin/templates/layouts/subpages-list.php index 61fd7eb..ad83c4f 100644 --- a/admin/templates/layouts/subpages-list.php +++ b/admin/templates/layouts/subpages-list.php @@ -10,7 +10,7 @@ $page['subpages'], 'layout_pages' => $this -> layout_pages, 'step' => $this -> step + 1 diff --git a/admin/templates/newsletter/email-template-edit.php b/admin/templates/newsletter/email-template-edit.php index 3615024..93f676a 100644 --- a/admin/templates/newsletter/email-template-edit.php +++ b/admin/templates/newsletter/email-template-edit.php @@ -1 +1 @@ - $this->form]); ?> \ No newline at end of file + $this->form]); ?> \ No newline at end of file diff --git a/admin/templates/newsletter/email-templates-admin.php b/admin/templates/newsletter/email-templates-admin.php index 17cbbb8..e7abea0 100644 --- a/admin/templates/newsletter/email-templates-admin.php +++ b/admin/templates/newsletter/email-templates-admin.php @@ -1 +1 @@ - $this->viewModel]); ?> \ No newline at end of file + $this->viewModel]); ?> \ No newline at end of file diff --git a/admin/templates/newsletter/emails-list.php b/admin/templates/newsletter/emails-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/newsletter/emails-list.php +++ b/admin/templates/newsletter/emails-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/newsletter/settings.php b/admin/templates/newsletter/settings.php index 3615024..93f676a 100644 --- a/admin/templates/newsletter/settings.php +++ b/admin/templates/newsletter/settings.php @@ -1 +1 @@ - $this->form]); ?> \ No newline at end of file + $this->form]); ?> \ No newline at end of file diff --git a/admin/templates/pages/menu-edit.php b/admin/templates/pages/menu-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/pages/menu-edit.php +++ b/admin/templates/pages/menu-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/pages/page-edit.php b/admin/templates/pages/page-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/pages/page-edit.php +++ b/admin/templates/pages/page-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/pages/pages-browse-list.php b/admin/templates/pages/pages-browse-list.php index 847a337..c0ccc88 100644 --- a/admin/templates/pages/pages-browse-list.php +++ b/admin/templates/pages/pages-browse-list.php @@ -20,7 +20,7 @@ foreach ($menus as $menu): Menu: - $menu['pages'] ?? [], 'step' => 1, ]); ?> diff --git a/admin/templates/pages/pages-list.php b/admin/templates/pages/pages-list.php index c8cbe06..957c36a 100644 --- a/admin/templates/pages/pages-list.php +++ b/admin/templates/pages/pages-list.php @@ -32,7 +32,7 @@ foreach ($menus as $menu): - $menu['pages'] ?? [], 'step' => 1, ]); ?> diff --git a/admin/templates/pages/subpages-browse-list.php b/admin/templates/pages/subpages-browse-list.php index 8c14390..370be0f 100644 --- a/admin/templates/pages/subpages-browse-list.php +++ b/admin/templates/pages/subpages-browse-list.php @@ -51,7 +51,7 @@ if (empty($pages)) { - $page['subpages'] ?? [], 'step' => $step + 1, ]); ?> diff --git a/admin/templates/pages/subpages-list.php b/admin/templates/pages/subpages-list.php index f542209..f57ea9d 100644 --- a/admin/templates/pages/subpages-list.php +++ b/admin/templates/pages/subpages-list.php @@ -67,7 +67,7 @@ if (empty($pages)) { - $page['subpages'] ?? [], 'step' => $step + 1, ]); ?> diff --git a/admin/templates/product-archive/products-list.php b/admin/templates/product-archive/products-list.php index 3e70c9a..c54663c 100644 --- a/admin/templates/product-archive/products-list.php +++ b/admin/templates/product-archive/products-list.php @@ -1,5 +1,5 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, ['list' => $this->viewModel]); ?> + viewModel->customScriptView, ['list' => $this->viewModel]); ?> diff --git a/admin/templates/scontainers/container-edit.php b/admin/templates/scontainers/container-edit.php index 40bf9e9..4016d5b 100644 --- a/admin/templates/scontainers/container-edit.php +++ b/admin/templates/scontainers/container-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/scontainers/containers-list.php b/admin/templates/scontainers/containers-list.php index d2ecb80..7a81f6c 100644 --- a/admin/templates/scontainers/containers-list.php +++ b/admin/templates/scontainers/containers-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-attribute/attribute-edit.php b/admin/templates/shop-attribute/attribute-edit.php index be2362b..e6b6284 100644 --- a/admin/templates/shop-attribute/attribute-edit.php +++ b/admin/templates/shop-attribute/attribute-edit.php @@ -1,2 +1,2 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/shop-attribute/attributes-list.php b/admin/templates/shop-attribute/attributes-list.php index b336124..b0e03a9 100644 --- a/admin/templates/shop-attribute/attributes-list.php +++ b/admin/templates/shop-attribute/attributes-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-attribute/values-edit.php b/admin/templates/shop-attribute/values-edit.php index 5a8fdfa..5190a6c 100644 --- a/admin/templates/shop-attribute/values-edit.php +++ b/admin/templates/shop-attribute/values-edit.php @@ -38,7 +38,7 @@ if (!empty($values)) { foreach ($values as $value) { ++$rowCounter; $rowKey = 'existing-' . (int)($value['id'] ?? 0); - $initialRowsHtml .= \Tpl::view('shop-attribute/_partials/value-row', [ + $initialRowsHtml .= \Shared\Tpl\Tpl::view('shop-attribute/_partials/value-row', [ 'rowKey' => $rowKey, 'value' => $value, 'languages' => $activeLanguages, @@ -47,7 +47,7 @@ if (!empty($values)) { } } else { $rowCounter = 1; - $initialRowsHtml .= \Tpl::view('shop-attribute/_partials/value-row', [ + $initialRowsHtml .= \Shared\Tpl\Tpl::view('shop-attribute/_partials/value-row', [ 'rowKey' => 'new-1', 'value' => ['id' => 0, 'is_default' => 1, 'impact_on_the_price' => null, 'languages' => []], 'languages' => $activeLanguages, @@ -55,7 +55,7 @@ if (!empty($values)) { ]); } -$newRowTemplate = \Tpl::view('shop-attribute/_partials/value-row', [ +$newRowTemplate = \Shared\Tpl\Tpl::view('shop-attribute/_partials/value-row', [ 'rowKey' => '__ROW_KEY__', 'value' => ['id' => 0, 'is_default' => 0, 'impact_on_the_price' => null, 'languages' => []], 'languages' => $activeLanguages, diff --git a/admin/templates/shop-category/categories-list.php b/admin/templates/shop-category/categories-list.php index fb8ed8d..fb6335b 100644 --- a/admin/templates/shop-category/categories-list.php +++ b/admin/templates/shop-category/categories-list.php @@ -28,7 +28,7 @@ ob_start(); - ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category['id'] ), 'level' => $this -> level + 1, 'dlang' => $this -> dlang @@ -49,4 +49,4 @@ $gridContent = $out; $gridPersist = false; include __DIR__ . '/../components/grid-edit-replacement.php'; ?> - \ No newline at end of file + \ 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 cb61227..cfe75c9 100644 --- a/admin/templates/shop-category/category-browse-list.php +++ b/admin/templates/shop-category/category-browse-list.php @@ -18,7 +18,7 @@ ob_start(); - ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category['id'] ), 'level' => $this -> level + 1, 'dlang' => $this -> dlang @@ -55,4 +55,4 @@ include __DIR__ . '/../components/grid-edit-replacement.php'; float: none; } - \ No newline at end of file + \ No newline at end of file diff --git a/admin/templates/shop-category/category-edit.php b/admin/templates/shop-category/category-edit.php index d906209..1c41f7d 100644 --- a/admin/templates/shop-category/category-edit.php +++ b/admin/templates/shop-category/category-edit.php @@ -190,5 +190,5 @@ $gridPersist = true; include __DIR__ . '/../components/grid-edit-replacement.php'; ?> - + diff --git a/admin/templates/shop-category/category-products.php b/admin/templates/shop-category/category-products.php index aca888a..0b88e1e 100644 --- a/admin/templates/shop-category/category-products.php +++ b/admin/templates/shop-category/category-products.php @@ -27,4 +27,4 @@ $gridContent = $out; $gridPersist = false; include __DIR__ . '/../components/grid-edit-replacement.php'; ?> - $this -> category_id ] ); ?> \ No newline at end of file + $this -> category_id ] ); ?> \ No newline at end of file diff --git a/admin/templates/shop-category/subcategories-list.php b/admin/templates/shop-category/subcategories-list.php index 739fe25..a1e28b3 100644 --- a/admin/templates/shop-category/subcategories-list.php +++ b/admin/templates/shop-category/subcategories-list.php @@ -25,7 +25,7 @@ - ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category['id'] ), 'level' => $this -> level + 1, 'dlang' => $this -> dlang diff --git a/admin/templates/shop-category/subcategory-browse-list.php b/admin/templates/shop-category/subcategory-browse-list.php index 1fafb54..b22fa0f 100644 --- a/admin/templates/shop-category/subcategory-browse-list.php +++ b/admin/templates/shop-category/subcategory-browse-list.php @@ -14,7 +14,7 @@ - ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category['id'] ), 'level' => $this -> level + 1, 'dlang' => $this -> dlang diff --git a/admin/templates/shop-clients/clients-details.php b/admin/templates/shop-clients/clients-details.php index 6028434..fe520db 100644 --- a/admin/templates/shop-clients/clients-details.php +++ b/admin/templates/shop-clients/clients-details.php @@ -6,4 +6,4 @@
- $this->ordersTable]); ?> \ No newline at end of file + $this->ordersTable]); ?> \ No newline at end of file diff --git a/admin/templates/shop-clients/view-list.php b/admin/templates/shop-clients/view-list.php index e5f9b0c..01a1102 100644 --- a/admin/templates/shop-clients/view-list.php +++ b/admin/templates/shop-clients/view-list.php @@ -1,2 +1,2 @@
Lista klientów
- $this->viewModel]); ?> \ No newline at end of file + $this->viewModel]); ?> \ No newline at end of file diff --git a/admin/templates/shop-coupon/coupon-categories-selector.php b/admin/templates/shop-coupon/coupon-categories-selector.php index 34bda75..97227b6 100644 --- a/admin/templates/shop-coupon/coupon-categories-selector.php +++ b/admin/templates/shop-coupon/coupon-categories-selector.php @@ -8,7 +8,7 @@ $selectedIds = is_array($this->selectedIds ?? null) ? $this->selectedIds : [];
- $categories, 'selectedIds' => $selectedIds, 'inputName' => $inputName, diff --git a/admin/templates/shop-coupon/coupon-categories-tree.php b/admin/templates/shop-coupon/coupon-categories-tree.php index 5a22b24..579bf64 100644 --- a/admin/templates/shop-coupon/coupon-categories-tree.php +++ b/admin/templates/shop-coupon/coupon-categories-tree.php @@ -55,7 +55,7 @@ foreach ($selectedRaw as $value) {
- $children, 'selectedIds' => array_keys($selected), 'inputName' => $inputName, diff --git a/admin/templates/shop-coupon/coupon-edit-new.php b/admin/templates/shop-coupon/coupon-edit-new.php index 06f6ba8..a4d8c3c 100644 --- a/admin/templates/shop-coupon/coupon-edit-new.php +++ b/admin/templates/shop-coupon/coupon-edit-new.php @@ -1,3 +1,3 @@ - $this->form]); ?> - + $this->form]); ?> + diff --git a/admin/templates/shop-coupon/coupons-list.php b/admin/templates/shop-coupon/coupons-list.php index b336124..b0e03a9 100644 --- a/admin/templates/shop-coupon/coupons-list.php +++ b/admin/templates/shop-coupon/coupons-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-order/order-details.php b/admin/templates/shop-order/order-details.php index 0effba4..dd69a34 100644 --- a/admin/templates/shop-order/order-details.php +++ b/admin/templates/shop-order/order-details.php @@ -217,7 +217,7 @@ $orderId = (int)($this -> order['id'] ?? 0); order['trustmate_send'] ? 'Odznacz zamówienie jako wysłane do trustmate.io' : 'Zaznacz zamówienie jako wysłane do trustmate.io';?>
- $orderId, 'trustmate_send' => (int)($this -> order['trustmate_send'] ?? 0), ]);?> \ No newline at end of file diff --git a/admin/templates/shop-order/order-edit.php b/admin/templates/shop-order/order-edit.php index c6f92f2..a45295a 100644 --- a/admin/templates/shop-order/order-edit.php +++ b/admin/templates/shop-order/order-edit.php @@ -222,4 +222,4 @@ $orderId = (int)($this -> order['id'] ?? 0); - \ No newline at end of file + \ No newline at end of file diff --git a/admin/templates/shop-order/orders-list.php b/admin/templates/shop-order/orders-list.php index 8c5ebbe..a28e805 100644 --- a/admin/templates/shop-order/orders-list.php +++ b/admin/templates/shop-order/orders-list.php @@ -1,2 +1,2 @@
Lista zamówień
- $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-payment-method/payment-method-edit.php b/admin/templates/shop-payment-method/payment-method-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/shop-payment-method/payment-method-edit.php +++ b/admin/templates/shop-payment-method/payment-method-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/shop-payment-method/payment-methods-list.php b/admin/templates/shop-payment-method/payment-methods-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/shop-payment-method/payment-methods-list.php +++ b/admin/templates/shop-payment-method/payment-methods-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-producer/producer-edit.php b/admin/templates/shop-producer/producer-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/shop-producer/producer-edit.php +++ b/admin/templates/shop-producer/producer-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/shop-producer/producers-list.php b/admin/templates/shop-producer/producers-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/shop-producer/producers-list.php +++ b/admin/templates/shop-producer/producers-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-product-sets/product-set-edit.php b/admin/templates/shop-product-sets/product-set-edit.php index 557b0ac..a669c3c 100644 --- a/admin/templates/shop-product-sets/product-set-edit.php +++ b/admin/templates/shop-product-sets/product-set-edit.php @@ -1,2 +1,2 @@ - $this->form]); ?> - + $this->form]); ?> + diff --git a/admin/templates/shop-product-sets/product-sets-list.php b/admin/templates/shop-product-sets/product-sets-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/shop-product-sets/product-sets-list.php +++ b/admin/templates/shop-product-sets/product-sets-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-product/mass-edit.php b/admin/templates/shop-product/mass-edit.php index 0823132..a3e3b60 100644 --- a/admin/templates/shop-product/mass-edit.php +++ b/admin/templates/shop-product/mass-edit.php @@ -96,7 +96,7 @@ dlang]['title']; ?> - ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category['id'] ), 'level' => ($this->level ?? 0) + 1, 'dlang' => $this->dlang, @@ -111,4 +111,4 @@ - + diff --git a/admin/templates/shop-product/product-edit.php b/admin/templates/shop-product/product-edit.php index 30a07cc..b2bb2fd 100644 --- a/admin/templates/shop-product/product-edit.php +++ b/admin/templates/shop-product/product-edit.php @@ -1,5 +1,5 @@ - $this->form]); ?> - $this->form]); ?> + $this->product, 'user' => $this->user, 'languages' => $this->form->languages ?? [] diff --git a/admin/templates/shop-product/products-list.php b/admin/templates/shop-product/products-list.php index db59fe1..3ad71e7 100644 --- a/admin/templates/shop-product/products-list.php +++ b/admin/templates/shop-product/products-list.php @@ -1,7 +1,7 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> viewModel->customScriptView)): ?> - viewModel->customScriptView, [ + viewModel->customScriptView, [ 'list' => $this->viewModel, 'apilo_enabled' => $this->apilo_enabled, 'shoppro_enabled' => $this->shoppro_enabled, diff --git a/admin/templates/shop-product/subcategories-list.php b/admin/templates/shop-product/subcategories-list.php index 5c7f796..ba0d672 100644 --- a/admin/templates/shop-product/subcategories-list.php +++ b/admin/templates/shop-product/subcategories-list.php @@ -11,7 +11,7 @@ dlang ][ 'title' ];?> ( new \Domain\Category\CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $category[ 'id' ] ), 'product_categories' => $this -> product_categories, 'dlang' => $this -> dlang, diff --git a/admin/templates/shop-promotion/promotion-categories-selector.php b/admin/templates/shop-promotion/promotion-categories-selector.php index 88652ae..1750888 100644 --- a/admin/templates/shop-promotion/promotion-categories-selector.php +++ b/admin/templates/shop-promotion/promotion-categories-selector.php @@ -8,7 +8,7 @@ $selectedIds = is_array($this->selectedIds ?? null) ? $this->selectedIds : [];
- $categories, 'selectedIds' => $selectedIds, 'inputName' => $inputName, diff --git a/admin/templates/shop-promotion/promotion-categories-tree.php b/admin/templates/shop-promotion/promotion-categories-tree.php index 34114f4..0d70355 100644 --- a/admin/templates/shop-promotion/promotion-categories-tree.php +++ b/admin/templates/shop-promotion/promotion-categories-tree.php @@ -55,7 +55,7 @@ foreach ($selectedRaw as $value) {
- $children, 'selectedIds' => array_keys($selected), 'inputName' => $inputName, diff --git a/admin/templates/shop-promotion/promotion-edit.php b/admin/templates/shop-promotion/promotion-edit.php index 1b557e2..e8d9fc9 100644 --- a/admin/templates/shop-promotion/promotion-edit.php +++ b/admin/templates/shop-promotion/promotion-edit.php @@ -1,3 +1,3 @@ - $this->form]); ?> - + $this->form]); ?> + diff --git a/admin/templates/shop-promotion/promotions-list.php b/admin/templates/shop-promotion/promotions-list.php index b336124..b0e03a9 100644 --- a/admin/templates/shop-promotion/promotions-list.php +++ b/admin/templates/shop-promotion/promotions-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-statuses/status-edit.php b/admin/templates/shop-statuses/status-edit.php index 5fe1611..d92a9df 100644 --- a/admin/templates/shop-statuses/status-edit.php +++ b/admin/templates/shop-statuses/status-edit.php @@ -1 +1 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/shop-statuses/view-list.php b/admin/templates/shop-statuses/view-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/shop-statuses/view-list.php +++ b/admin/templates/shop-statuses/view-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/shop-transport/transport-edit.php b/admin/templates/shop-transport/transport-edit.php index 2f0eeee..d7ef592 100644 --- a/admin/templates/shop-transport/transport-edit.php +++ b/admin/templates/shop-transport/transport-edit.php @@ -1,8 +1,8 @@ $this->form, ]); -echo \Tpl::view('shop-transport/transport-edit-custom-script', [ +echo \Shared\Tpl\Tpl::view('shop-transport/transport-edit-custom-script', [ 'form' => $this->form, ]); diff --git a/admin/templates/shop-transport/transports-list.php b/admin/templates/shop-transport/transports-list.php index 0f89c5b..8836268 100644 --- a/admin/templates/shop-transport/transports-list.php +++ b/admin/templates/shop-transport/transports-list.php @@ -1 +1 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/admin/templates/users/user-edit.php b/admin/templates/users/user-edit.php index be2362b..e6b6284 100644 --- a/admin/templates/users/user-edit.php +++ b/admin/templates/users/user-edit.php @@ -1,2 +1,2 @@ - $this->form]); ?> + $this->form]); ?> diff --git a/admin/templates/users/users-list.php b/admin/templates/users/users-list.php index b336124..b0e03a9 100644 --- a/admin/templates/users/users-list.php +++ b/admin/templates/users/users-list.php @@ -1,2 +1,2 @@ - $this->viewModel]); ?> + $this->viewModel]); ?> diff --git a/autoload/Shared/Html/Html.php b/autoload/Shared/Html/Html.php index 2bec458..3ee98ac 100644 --- a/autoload/Shared/Html/Html.php +++ b/autoload/Shared/Html/Html.php @@ -5,21 +5,21 @@ class Html { public static function form_text( array $params = array() ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/form-text' ); } public static function input_switch( array $params = array() ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/input-switch' ); } public static function select( array $params = array() ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/select' ); } @@ -32,7 +32,7 @@ class Html $params = array_merge( $defaults, $params ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/textarea' ); } @@ -45,7 +45,7 @@ class Html $params = array_merge( $defaults, $params ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/input-icon' ); } @@ -58,7 +58,7 @@ class Html $params = array_merge( $defaults, $params ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/input' ); } @@ -71,7 +71,7 @@ class Html $params = array_merge( $defaults, $params ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/button' ); } @@ -86,7 +86,7 @@ class Html $params = array_merge( $defaults, $params ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> params = $params; return $tpl -> render( 'html/panel' ); } diff --git a/autoload/Shared/Tpl/Tpl.php b/autoload/Shared/Tpl/Tpl.php new file mode 100644 index 0000000..091c982 --- /dev/null +++ b/autoload/Shared/Tpl/Tpl.php @@ -0,0 +1,63 @@ + $val) + $tpl->$key = $val; + return $tpl->render($file); + } + + public function secureHTML($val) + { + $out = stripslashes($val); + $out = str_replace("'", "'", $out); + $out = str_replace('"', """, $out); + $out = str_replace("<", "<", $out); + $out = str_replace(">", ">", $out); + return $out; + } + + public function render($file) + { + $paths = [ + 'templates_user/' . $file . '.php', + 'templates/' . $file . '.php', + '../templates_user/' . $file . '.php', + '../templates/' . $file . '.php', + $file . '.php', + ]; + + foreach ($paths as $path) { + if (file_exists($path)) { + return $this->renderFile($path); + } + } + + return ''; - $html .= \Tpl::view('articles/subpages-list', [ + $html .= \Shared\Tpl\Tpl::view('articles/subpages-list', [ 'pages' => $menuPages, 'article_pages' => $article['pages'] ?? [], 'parent_id' => $menuId, diff --git a/autoload/admin/Controllers/BannerController.php b/autoload/admin/Controllers/BannerController.php index e78819b..28eeadb 100644 --- a/autoload/admin/Controllers/BannerController.php +++ b/autoload/admin/Controllers/BannerController.php @@ -154,7 +154,7 @@ class BannerController 'banners/banners-list-custom-script' ); - return \Tpl::view('banners/banners-list', [ + return \Shared\Tpl\Tpl::view('banners/banners-list', [ 'viewModel' => $viewModel, ]); } @@ -176,7 +176,7 @@ class BannerController $viewModel = $this->buildFormViewModel($banner, $languages, $validationErrors); - return \Tpl::view('components/form-edit', ['form' => $viewModel]); + return \Shared\Tpl\Tpl::view('components/form-edit', ['form' => $viewModel]); } /** diff --git a/autoload/admin/Controllers/DashboardController.php b/autoload/admin/Controllers/DashboardController.php index 9ec086a..6f52895 100644 --- a/autoload/admin/Controllers/DashboardController.php +++ b/autoload/admin/Controllers/DashboardController.php @@ -17,7 +17,7 @@ class DashboardController public function main_view(): string { - return \Tpl::view( 'dashboard/main-view', [ + return \Shared\Tpl\Tpl::view( 'dashboard/main-view', [ 'last_orders' => $this->repository->lastOrders(), 'order_statuses' => $this->statusesRepository->allStatuses(), 'sales' => $this->repository->last24MonthsSales(), diff --git a/autoload/admin/Controllers/DictionariesController.php b/autoload/admin/Controllers/DictionariesController.php index 44a5fce..012ccee 100644 --- a/autoload/admin/Controllers/DictionariesController.php +++ b/autoload/admin/Controllers/DictionariesController.php @@ -111,7 +111,7 @@ class DictionariesController 'Dodaj jednostke miary' ); - return \Tpl::view('dictionaries/units-list', [ + return \Shared\Tpl\Tpl::view('dictionaries/units-list', [ 'viewModel' => $viewModel, ]); } @@ -129,7 +129,7 @@ class DictionariesController $viewModel = $this->buildFormViewModel($unit, $languages, $validationErrors); - return \Tpl::view('dictionaries/unit-edit', ['form' => $viewModel]); + return \Shared\Tpl\Tpl::view('dictionaries/unit-edit', ['form' => $viewModel]); } public function save(): void diff --git a/autoload/admin/Controllers/FilemanagerController.php b/autoload/admin/Controllers/FilemanagerController.php index ba2535e..2302801 100644 --- a/autoload/admin/Controllers/FilemanagerController.php +++ b/autoload/admin/Controllers/FilemanagerController.php @@ -11,7 +11,7 @@ class FilemanagerController $akey = $this->ensureFilemanagerAccessKey(); $filemanagerUrl = $this->buildFilemanagerUrl($akey); - return \Tpl::view('filemanager/filemanager', [ + return \Shared\Tpl\Tpl::view('filemanager/filemanager', [ 'filemanager_url' => $filemanagerUrl, ]); } diff --git a/autoload/admin/Controllers/IntegrationsController.php b/autoload/admin/Controllers/IntegrationsController.php index d55657a..29d6888 100644 --- a/autoload/admin/Controllers/IntegrationsController.php +++ b/autoload/admin/Controllers/IntegrationsController.php @@ -14,7 +14,7 @@ class IntegrationsController public function apilo_settings(): string { - return \Tpl::view( 'integrations/apilo-settings', [ + return \Shared\Tpl\Tpl::view( 'integrations/apilo-settings', [ 'settings' => $this->repository->getSettings( 'apilo' ), 'apilo_status' => $this->repository->apiloIntegrationStatus(), ] ); @@ -127,7 +127,7 @@ class IntegrationsController public function shoppro_settings(): string { - return \Tpl::view( 'integrations/shoppro-settings', [ + return \Shared\Tpl\Tpl::view( 'integrations/shoppro-settings', [ 'settings' => $this->repository->getSettings( 'shoppro' ), ] ); } diff --git a/autoload/admin/Controllers/LanguagesController.php b/autoload/admin/Controllers/LanguagesController.php index 0f56074..5c013ae 100644 --- a/autoload/admin/Controllers/LanguagesController.php +++ b/autoload/admin/Controllers/LanguagesController.php @@ -131,7 +131,7 @@ class LanguagesController 'Dodaj jezyk' ); - return \Tpl::view('languages/languages-list', [ + return \Shared\Tpl\Tpl::view('languages/languages-list', [ 'viewModel' => $viewModel, ]); } @@ -150,7 +150,7 @@ class LanguagesController unset($_SESSION['form_errors'][$this->getLanguageFormId()]); } - return \Tpl::view('languages/language-edit', [ + return \Shared\Tpl\Tpl::view('languages/language-edit', [ 'form' => $this->buildLanguageFormViewModel($language, $this->repository->maxOrder(), $validationErrors), ]); } @@ -324,7 +324,7 @@ class LanguagesController 'Dodaj tlumaczenie' ); - return \Tpl::view('languages/translations-list', [ + return \Shared\Tpl\Tpl::view('languages/translations-list', [ 'viewModel' => $viewModel, ]); } @@ -339,7 +339,7 @@ class LanguagesController unset($_SESSION['form_errors'][$this->getTranslationFormId()]); } - return \Tpl::view('languages/translation-edit', [ + return \Shared\Tpl\Tpl::view('languages/translation-edit', [ 'form' => $this->buildTranslationFormViewModel($translation, $languages, $validationErrors), ]); } diff --git a/autoload/admin/Controllers/LayoutsController.php b/autoload/admin/Controllers/LayoutsController.php index f86e838..6b6fb75 100644 --- a/autoload/admin/Controllers/LayoutsController.php +++ b/autoload/admin/Controllers/LayoutsController.php @@ -128,14 +128,14 @@ class LayoutsController 'Dodaj szablon' ); - return \Tpl::view('layouts/layouts-list', [ + return \Shared\Tpl\Tpl::view('layouts/layouts-list', [ 'viewModel' => $viewModel, ]); } public function edit(): string { - return \Tpl::view('layouts/layout-edit', [ + return \Shared\Tpl\Tpl::view('layouts/layout-edit', [ 'layout' => $this->repository->find((int)\Shared\Helpers\Helpers::get('id')), 'menus' => $this->repository->menusWithPages(), 'categories' => $this->repository->categoriesTree(), diff --git a/autoload/admin/Controllers/NewsletterController.php b/autoload/admin/Controllers/NewsletterController.php index a0be827..cf35ee6 100644 --- a/autoload/admin/Controllers/NewsletterController.php +++ b/autoload/admin/Controllers/NewsletterController.php @@ -126,7 +126,7 @@ class NewsletterController 'Brak danych w tabeli.' ); - return \Tpl::view('newsletter/emails-list', [ + return \Shared\Tpl\Tpl::view('newsletter/emails-list', [ 'viewModel' => $viewModel, ]); } @@ -173,7 +173,7 @@ class NewsletterController unset($_SESSION['form_errors'][$this->settingsFormId()]); } - return \Tpl::view('newsletter/settings', [ + return \Shared\Tpl\Tpl::view('newsletter/settings', [ 'form' => $this->buildSettingsFormViewModel($settings, $validationErrors), ]); } @@ -223,7 +223,7 @@ class NewsletterController public function email_templates_admin(): string { $viewModel = $this->templatesListViewModel(); - return \Tpl::view('newsletter/email-templates-admin', [ + return \Shared\Tpl\Tpl::view('newsletter/email-templates-admin', [ 'viewModel' => $viewModel, ]); } @@ -243,7 +243,7 @@ class NewsletterController unset($_SESSION['form_errors'][$formId]); } - return \Tpl::view('newsletter/email-template-edit', [ + return \Shared\Tpl\Tpl::view('newsletter/email-template-edit', [ 'form' => $this->buildTemplateFormViewModel($template, $validationErrors), ]); } diff --git a/autoload/admin/Controllers/PagesController.php b/autoload/admin/Controllers/PagesController.php index 6e665ac..c97225e 100644 --- a/autoload/admin/Controllers/PagesController.php +++ b/autoload/admin/Controllers/PagesController.php @@ -27,7 +27,7 @@ class PagesController public function list(): string { - return \Tpl::view('pages/pages-list', [ + return \Shared\Tpl\Tpl::view('pages/pages-list', [ 'menus' => $this->repository->menusWithPages(), 'cookie_pages' => $this->cookieState('cookie_pages'), 'cookie_menus' => $this->cookieState('cookie_menus'), @@ -43,7 +43,7 @@ class PagesController $menus[$index]['pages'] = $this->withPreviewUrls($menu['pages'] ?? [], $defaultLanguage); } - return \Tpl::view('pages/pages-browse-list', [ + return \Shared\Tpl\Tpl::view('pages/pages-browse-list', [ 'menus' => $menus, 'modal' => \Shared\Helpers\Helpers::get('modal'), 'cookie_pages' => $this->cookieState('cookie_pages'), @@ -60,7 +60,7 @@ class PagesController { $menu = $this->repository->menuDetails((int)\Shared\Helpers\Helpers::get('id')); - return \Tpl::view('pages/menu-edit', [ + return \Shared\Tpl\Tpl::view('pages/menu-edit', [ 'form' => $this->buildMenuFormViewModel($menu), ]); } @@ -174,7 +174,7 @@ class PagesController $layouts = $this->layoutsRepository->listAll(); $languages = $this->languagesRepository->languagesList(); - return \Tpl::view('pages/page-edit', [ + return \Shared\Tpl\Tpl::view('pages/page-edit', [ 'form' => $this->buildPageFormViewModel( $page, $parentId, @@ -537,7 +537,7 @@ class PagesController public function pageArticles(): string { $pageId = (int)\Shared\Helpers\Helpers::get('id'); - return \Tpl::view('pages/page-articles', [ + return \Shared\Tpl\Tpl::view('pages/page-articles', [ 'page_id' => $pageId, 'articles' => $this->repository->pageArticles($pageId), ]); diff --git a/autoload/admin/Controllers/ProductArchiveController.php b/autoload/admin/Controllers/ProductArchiveController.php index d470946..a10a085 100644 --- a/autoload/admin/Controllers/ProductArchiveController.php +++ b/autoload/admin/Controllers/ProductArchiveController.php @@ -147,7 +147,7 @@ class ProductArchiveController 'product-archive/products-list-custom-script' ); - return \Tpl::view('product-archive/products-list', [ + return \Shared\Tpl\Tpl::view('product-archive/products-list', [ 'viewModel' => $viewModel, ]); } diff --git a/autoload/admin/Controllers/ScontainersController.php b/autoload/admin/Controllers/ScontainersController.php index 1af3139..b390d2f 100644 --- a/autoload/admin/Controllers/ScontainersController.php +++ b/autoload/admin/Controllers/ScontainersController.php @@ -125,7 +125,7 @@ class ScontainersController 'Dodaj kontener' ); - return \Tpl::view('scontainers/containers-list', [ + return \Shared\Tpl\Tpl::view('scontainers/containers-list', [ 'viewModel' => $viewModel, ]); } @@ -144,7 +144,7 @@ class ScontainersController unset($_SESSION['form_errors'][$this->formId()]); } - return \Tpl::view('scontainers/container-edit', [ + return \Shared\Tpl\Tpl::view('scontainers/container-edit', [ 'form' => $this->buildFormViewModel($container, $languages, $validationErrors), ]); } diff --git a/autoload/admin/Controllers/SettingsController.php b/autoload/admin/Controllers/SettingsController.php index 90d6017..d148966 100644 --- a/autoload/admin/Controllers/SettingsController.php +++ b/autoload/admin/Controllers/SettingsController.php @@ -279,7 +279,7 @@ class SettingsController $viewModel = $this->buildFormViewModel($settings, $languages, $validationErrors); - return \Tpl::view('components/form-edit', ['form' => $viewModel]); + return \Shared\Tpl\Tpl::view('components/form-edit', ['form' => $viewModel]); } private function buildFormViewModel(array $settings, array $languages, ?array $errors = null): FormEditViewModel diff --git a/autoload/admin/Controllers/ShopAttributeController.php b/autoload/admin/Controllers/ShopAttributeController.php index e21150d..3eb2b65 100644 --- a/autoload/admin/Controllers/ShopAttributeController.php +++ b/autoload/admin/Controllers/ShopAttributeController.php @@ -143,7 +143,7 @@ class ShopAttributeController 'Dodaj ceche' ); - return \Tpl::view('shop-attribute/attributes-list', [ + return \Shared\Tpl\Tpl::view('shop-attribute/attributes-list', [ 'viewModel' => $viewModel, ]); } @@ -153,7 +153,7 @@ class ShopAttributeController $attribute = $this->repository->findAttribute((int)\Shared\Helpers\Helpers::get('id')); $languages = $this->languagesRepository->languagesList(); - return \Tpl::view('shop-attribute/attribute-edit', [ + return \Shared\Tpl\Tpl::view('shop-attribute/attribute-edit', [ 'form' => $this->buildFormViewModel($attribute, $languages), ]); } @@ -236,7 +236,7 @@ class ShopAttributeController $languages = $this->languagesRepository->languagesList(); - return \Tpl::view('shop-attribute/values-edit', [ + return \Shared\Tpl\Tpl::view('shop-attribute/values-edit', [ 'attribute' => $attribute, 'values' => $this->repository->findValues($attributeId), 'languages' => $languages, @@ -318,7 +318,7 @@ class ShopAttributeController $rowKey = 'new-' . time(); } - $html = \Tpl::view('shop-attribute/_partials/value-row', [ + $html = \Shared\Tpl\Tpl::view('shop-attribute/_partials/value-row', [ 'rowKey' => $rowKey, 'value' => ['id' => 0, 'is_default' => 0, 'impact_on_the_price' => null, 'languages' => []], 'languages' => $this->languagesRepository->languagesList(), diff --git a/autoload/admin/Controllers/ShopCategoryController.php b/autoload/admin/Controllers/ShopCategoryController.php index cea21c4..d489a1c 100644 --- a/autoload/admin/Controllers/ShopCategoryController.php +++ b/autoload/admin/Controllers/ShopCategoryController.php @@ -17,7 +17,7 @@ class ShopCategoryController public function view_list(): string { - return \Tpl::view('shop-category/categories-list', [ + return \Shared\Tpl\Tpl::view('shop-category/categories-list', [ 'categories' => $this->repository->subcategories(null), 'level' => 0, 'dlang' => $this->languagesRepository->defaultLanguage(), @@ -31,7 +31,7 @@ class ShopCategoryController public function category_edit(): string { - return \Tpl::view('shop-category/category-edit', [ + return \Shared\Tpl\Tpl::view('shop-category/category-edit', [ 'category' => $this->repository->categoryDetails(\Shared\Helpers\Helpers::get('id')), 'pid' => \Shared\Helpers\Helpers::get('pid'), 'languages' => $this->languagesRepository->languagesList(), @@ -87,7 +87,7 @@ class ShopCategoryController public function category_products(): string { - return \Tpl::view('shop-category/category-products', [ + return \Shared\Tpl\Tpl::view('shop-category/category-products', [ 'category_id' => \Shared\Helpers\Helpers::get('id'), 'products' => $this->repository->categoryProducts((int)\Shared\Helpers\Helpers::get('id')), ]); @@ -100,7 +100,7 @@ class ShopCategoryController public function category_url_browser(): void { - echo \Tpl::view('shop-category/category-browse-list', [ + echo \Shared\Tpl\Tpl::view('shop-category/category-browse-list', [ 'categories' => $this->repository->subcategories(null), 'level' => 0, 'dlang' => $this->languagesRepository->defaultLanguage(), diff --git a/autoload/admin/Controllers/ShopClientsController.php b/autoload/admin/Controllers/ShopClientsController.php index 2072c86..5917ea4 100644 --- a/autoload/admin/Controllers/ShopClientsController.php +++ b/autoload/admin/Controllers/ShopClientsController.php @@ -143,7 +143,7 @@ class ShopClientsController 'Brak danych w tabeli.' ); - return \Tpl::view('shop-clients/view-list', [ + return \Shared\Tpl\Tpl::view('shop-clients/view-list', [ 'viewModel' => $viewModel, ]); } @@ -205,7 +205,7 @@ class ShopClientsController 'Brak zamowien klienta.' ); - return \Tpl::view('shop-clients/clients-details', [ + return \Shared\Tpl\Tpl::view('shop-clients/clients-details', [ 'name' => $name, 'surname' => $surname, 'email' => $email, diff --git a/autoload/admin/Controllers/ShopCouponController.php b/autoload/admin/Controllers/ShopCouponController.php index 1a68697..d0536ad 100644 --- a/autoload/admin/Controllers/ShopCouponController.php +++ b/autoload/admin/Controllers/ShopCouponController.php @@ -160,7 +160,7 @@ class ShopCouponController 'Dodaj kupon' ); - return \Tpl::view('shop-coupon/coupons-list', [ + return \Shared\Tpl\Tpl::view('shop-coupon/coupons-list', [ 'viewModel' => $viewModel, ]); } @@ -175,7 +175,7 @@ class ShopCouponController $coupon = $this->repository->find((int)\Shared\Helpers\Helpers::get('id')); $categories = $this->repository->categoriesTree(null); - return \Tpl::view('shop-coupon/coupon-edit-new', [ + return \Shared\Tpl\Tpl::view('shop-coupon/coupon-edit-new', [ 'form' => $this->buildFormViewModel($coupon, $categories), ]); } @@ -315,7 +315,7 @@ class ShopCouponController 'label' => 'Dotyczy rowniez produktow przecenionych', 'tab' => 'settings', ]), - FormField::custom('coupon_categories', \Tpl::view('shop-coupon/coupon-categories-selector', [ + FormField::custom('coupon_categories', \Shared\Tpl\Tpl::view('shop-coupon/coupon-categories-selector', [ 'label' => 'Ogranicz promocje do wybranych kategorii', 'inputName' => 'categories[]', 'categories' => $categories, diff --git a/autoload/admin/Controllers/ShopOrderController.php b/autoload/admin/Controllers/ShopOrderController.php index 3af5f11..63baae5 100644 --- a/autoload/admin/Controllers/ShopOrderController.php +++ b/autoload/admin/Controllers/ShopOrderController.php @@ -150,7 +150,7 @@ class ShopOrderController 'Brak danych w tabeli.' ); - return \Tpl::view('shop-order/orders-list', [ + return \Shared\Tpl\Tpl::view('shop-order/orders-list', [ 'viewModel' => $viewModel, ]); } @@ -170,7 +170,7 @@ class ShopOrderController $coupon = new \shop\Coupon((int)$order['coupon_id']); } - return \Tpl::view('shop-order/order-details', [ + return \Shared\Tpl\Tpl::view('shop-order/order-details', [ 'order' => $order, 'coupon' => $coupon, 'order_statuses' => $this->service->statuses(), @@ -188,7 +188,7 @@ class ShopOrderController { $orderId = (int)\Shared\Helpers\Helpers::get('order_id'); - return \Tpl::view('shop-order/order-edit', [ + return \Shared\Tpl\Tpl::view('shop-order/order-edit', [ 'order' => $this->service->details($orderId), 'order_statuses' => $this->service->statuses(), 'transport' => \shop\Transport::transport_list(), diff --git a/autoload/admin/Controllers/ShopPaymentMethodController.php b/autoload/admin/Controllers/ShopPaymentMethodController.php index 02e4d0c..4255acd 100644 --- a/autoload/admin/Controllers/ShopPaymentMethodController.php +++ b/autoload/admin/Controllers/ShopPaymentMethodController.php @@ -124,7 +124,7 @@ class ShopPaymentMethodController 'Brak danych w tabeli.' ); - return \Tpl::view('shop-payment-method/payment-methods-list', [ + return \Shared\Tpl\Tpl::view('shop-payment-method/payment-methods-list', [ 'viewModel' => $viewModel, ]); } @@ -138,7 +138,7 @@ class ShopPaymentMethodController exit; } - return \Tpl::view('shop-payment-method/payment-method-edit', [ + return \Shared\Tpl\Tpl::view('shop-payment-method/payment-method-edit', [ 'form' => $this->buildFormViewModel($paymentMethod, $this->getApiloPaymentTypes()), ]); } diff --git a/autoload/admin/Controllers/ShopProducerController.php b/autoload/admin/Controllers/ShopProducerController.php index 7656eb3..8259aa3 100644 --- a/autoload/admin/Controllers/ShopProducerController.php +++ b/autoload/admin/Controllers/ShopProducerController.php @@ -134,7 +134,7 @@ class ShopProducerController 'Dodaj producenta' ); - return \Tpl::view('shop-producer/producers-list', [ + return \Shared\Tpl\Tpl::view('shop-producer/producers-list', [ 'viewModel' => $viewModel, ]); } @@ -153,7 +153,7 @@ class ShopProducerController unset($_SESSION['form_errors'][$this->formId()]); } - return \Tpl::view('shop-producer/producer-edit', [ + return \Shared\Tpl\Tpl::view('shop-producer/producer-edit', [ 'form' => $this->buildFormViewModel($producer, $languages, $validationErrors), ]); } diff --git a/autoload/admin/Controllers/ShopProductController.php b/autoload/admin/Controllers/ShopProductController.php index 916cbea..da98388 100644 --- a/autoload/admin/Controllers/ShopProductController.php +++ b/autoload/admin/Controllers/ShopProductController.php @@ -190,7 +190,7 @@ class ShopProductController 'shop-product/products-list-custom-script' ); - return \Tpl::view( 'shop-product/products-list', [ + return \Shared\Tpl\Tpl::view( 'shop-product/products-list', [ 'viewModel' => $viewModel, 'apilo_enabled' => $apiloEnabled, 'shoppro_enabled' => $shopproEnabled, @@ -230,7 +230,7 @@ class ShopProductController $product, $languages, $categories, $layouts, $products, $sets, $producers, $units, $dlang ); - return \Tpl::view( 'shop-product/product-edit', [ + return \Shared\Tpl\Tpl::view( 'shop-product/product-edit', [ 'form' => $viewModel, 'product' => $product, 'user' => $user, @@ -600,7 +600,7 @@ class ShopProductController $html .= ''; $html .= '' . $catTitle . ''; $html .= '
'; - $html .= \Tpl::view( 'shop-product/subcategories-list', [ + $html .= \Shared\Tpl\Tpl::view( 'shop-product/subcategories-list', [ 'categories' => ( new CategoryRepository( $GLOBALS['mdb'] ) )->subcategories( $catId ), 'product_categories' => $product['categories'] ?? [], 'dlang' => $dlang, @@ -949,7 +949,7 @@ class ShopProductController { $db = $GLOBALS['mdb']; - return \Tpl::view( 'shop-product/product-combination', [ + return \Shared\Tpl\Tpl::view( 'shop-product/product-combination', [ 'product' => $this->repository->findForAdmin( (int) \Shared\Helpers\Helpers::get( 'product_id' ) ), 'attributes' => ( new \Domain\Attribute\AttributeRepository( $db ) )->getAttributesListForCombinations(), 'default_language' => $this->languagesRepository->defaultLanguage(), @@ -1146,7 +1146,7 @@ class ShopProductController { $categoryRepository = new CategoryRepository( $GLOBALS['mdb'] ); - return \Tpl::view( 'shop-product/mass-edit', [ + return \Shared\Tpl\Tpl::view( 'shop-product/mass-edit', [ 'products' => $this->repository->allProductsForMassEdit(), 'categories' => $categoryRepository->subcategories( null ), 'dlang' => $this->languagesRepository->defaultLanguage(), diff --git a/autoload/admin/Controllers/ShopProductSetsController.php b/autoload/admin/Controllers/ShopProductSetsController.php index ab048ad..37434fd 100644 --- a/autoload/admin/Controllers/ShopProductSetsController.php +++ b/autoload/admin/Controllers/ShopProductSetsController.php @@ -120,7 +120,7 @@ class ShopProductSetsController 'Dodaj komplet produktow' ); - return \Tpl::view('shop-product-sets/product-sets-list', [ + return \Shared\Tpl\Tpl::view('shop-product-sets/product-sets-list', [ 'viewModel' => $viewModel, ]); } @@ -135,7 +135,7 @@ class ShopProductSetsController $set = $this->repository->find((int)\Shared\Helpers\Helpers::get('id')); $products = $this->repository->allProductsMap(); - return \Tpl::view('shop-product-sets/product-set-edit', [ + return \Shared\Tpl\Tpl::view('shop-product-sets/product-set-edit', [ 'form' => $this->buildFormViewModel($set, $products), ]); } diff --git a/autoload/admin/Controllers/ShopPromotionController.php b/autoload/admin/Controllers/ShopPromotionController.php index 9ceb17f..e356310 100644 --- a/autoload/admin/Controllers/ShopPromotionController.php +++ b/autoload/admin/Controllers/ShopPromotionController.php @@ -129,7 +129,7 @@ class ShopPromotionController 'Dodaj promocje' ); - return \Tpl::view('shop-promotion/promotions-list', [ + return \Shared\Tpl\Tpl::view('shop-promotion/promotions-list', [ 'viewModel' => $viewModel, ]); } @@ -139,7 +139,7 @@ class ShopPromotionController $promotion = $this->repository->find((int)\Shared\Helpers\Helpers::get('id')); $categories = $this->repository->categoriesTree(null); - return \Tpl::view('shop-promotion/promotion-edit', [ + return \Shared\Tpl\Tpl::view('shop-promotion/promotion-edit', [ 'form' => $this->buildFormViewModel($promotion, $categories), ]); } @@ -280,7 +280,7 @@ class ShopPromotionController 'label' => 'Data do', 'tab' => 'settings', ]), - FormField::custom('categories_group_1', \Tpl::view('shop-promotion/promotion-categories-selector', [ + FormField::custom('categories_group_1', \Shared\Tpl\Tpl::view('shop-promotion/promotion-categories-selector', [ 'label' => 'Kategorie grupa I', 'inputName' => 'categories[]', 'categories' => $categories, @@ -288,7 +288,7 @@ class ShopPromotionController ]), [ 'tab' => 'categories', ]), - FormField::custom('categories_group_2', \Tpl::view('shop-promotion/promotion-categories-selector', [ + FormField::custom('categories_group_2', \Shared\Tpl\Tpl::view('shop-promotion/promotion-categories-selector', [ 'label' => 'Kategorie grupa II', 'inputName' => 'condition_categories[]', 'categories' => $categories, diff --git a/autoload/admin/Controllers/ShopStatusesController.php b/autoload/admin/Controllers/ShopStatusesController.php index 27d0d7f..8ad5e44 100644 --- a/autoload/admin/Controllers/ShopStatusesController.php +++ b/autoload/admin/Controllers/ShopStatusesController.php @@ -115,7 +115,7 @@ class ShopStatusesController 'Brak danych w tabeli.' ); - return \Tpl::view('shop-statuses/view-list', [ + return \Shared\Tpl\Tpl::view('shop-statuses/view-list', [ 'viewModel' => $viewModel, ]); } @@ -131,7 +131,7 @@ class ShopStatusesController $apiloStatusList = $this->getApiloStatusList(); - return \Tpl::view('shop-statuses/status-edit', [ + return \Shared\Tpl\Tpl::view('shop-statuses/status-edit', [ 'form' => $this->buildFormViewModel($status, $apiloStatusList), ]); } diff --git a/autoload/admin/Controllers/ShopTransportController.php b/autoload/admin/Controllers/ShopTransportController.php index 1a16e89..e886463 100644 --- a/autoload/admin/Controllers/ShopTransportController.php +++ b/autoload/admin/Controllers/ShopTransportController.php @@ -138,7 +138,7 @@ class ShopTransportController 'Brak danych w tabeli.' ); - return \Tpl::view('shop-transport/transports-list', [ + return \Shared\Tpl\Tpl::view('shop-transport/transports-list', [ 'viewModel' => $viewModel, ]); } @@ -155,7 +155,7 @@ class ShopTransportController $paymentMethods = $this->paymentMethodRepository->allForAdmin(); $apiloCarrierAccounts = $this->getApiloCarrierAccounts(); - return \Tpl::view('shop-transport/transport-edit', [ + return \Shared\Tpl\Tpl::view('shop-transport/transport-edit', [ 'form' => $this->buildFormViewModel($transport, $paymentMethods, $apiloCarrierAccounts), ]); } diff --git a/autoload/admin/Controllers/UpdateController.php b/autoload/admin/Controllers/UpdateController.php index 4a607c5..6e6c77d 100644 --- a/autoload/admin/Controllers/UpdateController.php +++ b/autoload/admin/Controllers/UpdateController.php @@ -14,7 +14,7 @@ class UpdateController public function main_view(): string { - return \Tpl::view( 'update/main-view', [ + return \Shared\Tpl\Tpl::view( 'update/main-view', [ 'ver' => \Shared\Helpers\Helpers::get_version(), 'new_ver' => \Shared\Helpers\Helpers::get_new_version(), ] ); diff --git a/autoload/admin/Controllers/UsersController.php b/autoload/admin/Controllers/UsersController.php index e75ed3d..6fe5994 100644 --- a/autoload/admin/Controllers/UsersController.php +++ b/autoload/admin/Controllers/UsersController.php @@ -122,7 +122,7 @@ class UsersController unset($_SESSION['form_errors'][$this->getFormId()]); } - return \Tpl::view('users/user-edit', [ + return \Shared\Tpl\Tpl::view('users/user-edit', [ 'form' => $this->buildFormViewModel($user, $validationErrors), ]); } @@ -228,7 +228,7 @@ class UsersController 'Dodaj uzytkownika' ); - return \Tpl::view('users/users-list', [ + return \Shared\Tpl\Tpl::view('users/users-list', [ 'viewModel' => $viewModel, ]); } @@ -240,13 +240,13 @@ class UsersController public function login_form(): string { - return \Tpl::view('site/unlogged-layout'); + return \Shared\Tpl\Tpl::view('site/unlogged-layout'); } public function twofa(): string { - return \Tpl::view('site/unlogged', [ - 'content' => \Tpl::view('users/user-2fa'), + return \Shared\Tpl\Tpl::view('site/unlogged', [ + 'content' => \Shared\Tpl\Tpl::view('users/user-2fa'), ]); } diff --git a/autoload/front/Views/Articles.php b/autoload/front/Views/Articles.php index 4fa78f6..cae3e4c 100644 --- a/autoload/front/Views/Articles.php +++ b/autoload/front/Views/Articles.php @@ -8,7 +8,7 @@ class Articles */ public static function fullArticle( $article ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->article = $article; return $tpl->render( 'articles/article' ); } @@ -22,14 +22,14 @@ class Articles if ( is_array( $articles ) ) foreach ( $articles as $article ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->article = $article; $out .= $tpl->render( 'articles/article-miniature' ); } if ( $ls > 1 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->ls = $ls; $tpl->bs = $bs ? $bs : 1; $tpl->page = $page; @@ -44,14 +44,14 @@ class Articles */ public static function entryArticlesList( $articles, $ls, $bs, $page ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->page_id = $page['id']; $tpl->articles = $articles; $out = $tpl->render( 'articles/articles-entries' ); if ( $ls > 1 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->ls = $ls; $tpl->bs = $bs ? $bs : 1; $tpl->page = $page; @@ -70,14 +70,14 @@ class Articles if ( is_array( $articles ) ) foreach ( $articles as $article ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->article = $article; $out .= $tpl->render( 'articles/article-full' ); } if ( $ls > 1 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->ls = $ls; $tpl->bs = $bs ? $bs : 1; $tpl->page = $page; @@ -92,7 +92,7 @@ class Articles */ public static function news( $page_id, $articles ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->page_id = $page_id; $tpl->articles = $articles; return $tpl->render( 'articles/news' ); @@ -103,7 +103,7 @@ class Articles */ public static function newsList( $articles ) { - return \Tpl::view( 'articles/news-list', [ + return \Shared\Tpl\Tpl::view( 'articles/news-list', [ 'articles' => $articles ] ); } diff --git a/autoload/front/Views/Banners.php b/autoload/front/Views/Banners.php index fc640c7..e4924d5 100644 --- a/autoload/front/Views/Banners.php +++ b/autoload/front/Views/Banners.php @@ -5,7 +5,7 @@ class Banners { public static function banners($banners) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->banners = $banners; return $tpl->render('banner/banners'); } @@ -13,7 +13,7 @@ class Banners public static function mainBanner($banner) { if (!\Shared\Helpers\Helpers::get_session('banner_close') && is_array($banner)) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl->banner = $banner; return $tpl->render('banner/main-banner'); } diff --git a/autoload/front/Views/Languages.php b/autoload/front/Views/Languages.php index ec0e8ee..be39e58 100644 --- a/autoload/front/Views/Languages.php +++ b/autoload/front/Views/Languages.php @@ -5,7 +5,7 @@ class Languages { public static function render( $languages ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> languages = $languages; return $tpl -> render( 'site/languages' ); } diff --git a/autoload/front/Views/Newsletter.php b/autoload/front/Views/Newsletter.php index be290d4..5dbea6e 100644 --- a/autoload/front/Views/Newsletter.php +++ b/autoload/front/Views/Newsletter.php @@ -5,7 +5,7 @@ class Newsletter { public static function render() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'newsletter/newsletter' ); } } diff --git a/autoload/front/controls/class.ShopBasket.php b/autoload/front/controls/class.ShopBasket.php index 27ca141..c97ba0e 100644 --- a/autoload/front/controls/class.ShopBasket.php +++ b/autoload/front/controls/class.ShopBasket.php @@ -32,7 +32,7 @@ class ShopBasket \Shared\Helpers\Helpers::set_session( 'basket', $basket ); echo json_encode( [ - 'basket' => \Tpl::view( 'shop-basket/basket-details', [ + 'basket' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-details', [ 'basket' => $basket, 'lang_id' => $lang_id, 'coupon' => $coupon @@ -40,7 +40,7 @@ class ShopBasket 'basket_mini_count' => \front\factory\ShopBasket::count_products_text( \front\factory\ShopBasket::count_products( $basket ) ), 'basket_mini_value' => \front\factory\ShopBasket::summary_price( $basket, $coupon ), 'products_count' => count( $basket ), - 'transport_methods' => \Tpl::view( 'shop-basket/basket-transport-methods', [ + 'transport_methods' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-transport-methods', [ 'transports_methods' => \front\factory\ShopTransport::transport_methods( $basket, $coupon ), 'transport_id' => $basket_transport_method_id ] ) @@ -67,7 +67,7 @@ class ShopBasket \Shared\Helpers\Helpers::set_session( 'basket', $basket ); echo json_encode( [ - 'basket' => \Tpl::view( 'shop-basket/basket-details', [ + 'basket' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-details', [ 'basket' => $basket, 'lang_id' => $lang_id, 'coupon' => $coupon @@ -75,7 +75,7 @@ class ShopBasket 'basket_mini_count' => \front\factory\ShopBasket::count_products_text( \front\factory\ShopBasket::count_products( $basket ) ), 'basket_mini_value' => \front\factory\ShopBasket::summary_price( $basket, $coupon ), 'products_count' => count( $basket ), - 'transport_methods' => \Tpl::view( 'shop-basket/basket-transport-methods', [ + 'transport_methods' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-transport-methods', [ 'transports_methods' => \front\factory\ShopTransport::transport_methods( $basket, $coupon ), 'transport_id' => $basket_transport_method_id ] ) @@ -103,7 +103,7 @@ class ShopBasket \Shared\Helpers\Helpers::set_session( 'basket', $basket ); echo json_encode( [ - 'basket' => \Tpl::view( 'shop-basket/basket-details', [ + 'basket' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-details', [ 'basket' => $basket, 'lang_id' => $lang_id, 'coupon' => $coupon @@ -111,7 +111,7 @@ class ShopBasket 'basket_mini_count' => \front\factory\ShopBasket::count_products_text( \front\factory\ShopBasket::count_products( $basket ) ), 'basket_mini_value' => \front\factory\ShopBasket::summary_price( $basket, $coupon ), 'products_count' => count( $basket ), - 'transport_methods' => \Tpl::view( 'shop-basket/basket-transport-methods', [ + 'transport_methods' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-transport-methods', [ 'transports_methods' => \front\factory\ShopTransport::transport_methods( $basket, $coupon ), 'transport_id' => $basket_transport_method_id ] ) @@ -140,7 +140,7 @@ class ShopBasket $basket = \Shared\Helpers\Helpers::get_session( 'basket' ); echo json_encode( [ - 'basket' => \Tpl::view( 'shop-basket/basket-details', [ + 'basket' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-details', [ 'basket' => $basket, 'lang_id' => $lang_id, 'coupon' => $coupon @@ -148,7 +148,7 @@ class ShopBasket 'basket_mini_count' => \front\factory\ShopBasket::count_products_text( \front\factory\ShopBasket::count_products( $basket ) ), 'basket_mini_value' => \front\factory\ShopBasket::summary_price( $basket, $coupon ), 'products_count' => count( $basket ), - 'transport_methods' => \Tpl::view( 'shop-basket/basket-transport-methods', [ + 'transport_methods' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-transport-methods', [ 'transports_methods' => \front\factory\ShopTransport::transport_methods( $basket, $coupon ), 'transport_id' => $basket_transport_method_id ] ) @@ -339,7 +339,7 @@ class ShopBasket $client = \Shared\Helpers\Helpers::get_session( 'client' ); - return \Tpl::view( 'shop-basket/summary-view', [ + return \Shared\Tpl\Tpl::view( 'shop-basket/summary-view', [ 'lang_id' => $lang_id, 'client' => \Shared\Helpers\Helpers::get_session( 'client' ), 'basket' => \Shared\Helpers\Helpers::get_session( 'basket' ), @@ -437,16 +437,16 @@ class ShopBasket $basket = \shop\Promotion::find_promotion( $basket ); - return \Tpl::view( 'shop-basket/basket', [ + return \Shared\Tpl\Tpl::view( 'shop-basket/basket', [ 'basket' => $basket, 'coupon' => $coupon, 'transport_id' => \Shared\Helpers\Helpers::get_session( 'basket-transport-method-id' ), - 'transport_methods' => \Tpl::view( 'shop-basket/basket-transport-methods', [ + 'transport_methods' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-transport-methods', [ 'transports_methods' => \front\factory\ShopTransport::transport_methods( $basket, $coupon ), 'transport_id' => $basket_transport_method_id ] ), 'payment_method_id' => $payment_method_id, - 'basket_details' => \Tpl::view( 'shop-basket/basket-details', [ + 'basket_details' => \Shared\Tpl\Tpl::view( 'shop-basket/basket-details', [ 'basket' => $basket, 'lang_id' => $lang_id, 'coupon' => $coupon, diff --git a/autoload/front/controls/class.ShopOrder.php b/autoload/front/controls/class.ShopOrder.php index a57fa79..dbd7caa 100644 --- a/autoload/front/controls/class.ShopOrder.php +++ b/autoload/front/controls/class.ShopOrder.php @@ -8,7 +8,7 @@ class ShopOrder $order = \front\factory\ShopOrder::order_details( null, \Shared\Helpers\Helpers::get( 'order_hash' ) ); - return \Tpl::view( 'shop-order/payment-confirmation', [ + return \Shared\Tpl\Tpl::view( 'shop-order/payment-confirmation', [ 'order' => $order, 'settings' => $settings ] ); @@ -143,7 +143,7 @@ class ShopOrder ); $coupon = (int)$order['coupon_id'] ? new \shop\Coupon( (int)$order['coupon_id'] ) : null; - return \Tpl::view( 'shop-order/order-details', [ + return \Shared\Tpl\Tpl::view( 'shop-order/order-details', [ 'order' => $order, 'coupon' => $coupon, 'client' => \Shared\Helpers\Helpers::get_session( 'client' ), diff --git a/autoload/front/controls/class.ShopProducer.php b/autoload/front/controls/class.ShopProducer.php index d118716..210f357 100644 --- a/autoload/front/controls/class.ShopProducer.php +++ b/autoload/front/controls/class.ShopProducer.php @@ -15,7 +15,7 @@ class ShopProducer if ( $results['ls'] > 1 ) { - $pager = \Tpl::view( 'site/pager', [ + $pager = \Shared\Tpl\Tpl::view( 'site/pager', [ 'ls' => $results['ls'], 'bs' => (int) \Shared\Helpers\Helpers::get( 'bs' ) ? (int) \Shared\Helpers\Helpers::get( 'bs' ) : 1, 'page' => $page, @@ -23,7 +23,7 @@ class ShopProducer ] ); } - return \Tpl::view( 'shop-producer/products', [ + return \Shared\Tpl\Tpl::view( 'shop-producer/products', [ 'producer' => $producer, 'products' => $results['products'], 'pager' => $pager @@ -41,7 +41,7 @@ class ShopProducer if ( \Shared\Helpers\Helpers::is_array_fix( $rows ) ) foreach ( $rows as $row ) $producers[] = new \shop\Producer( $row ); - return \Tpl::view( 'shop-producer/list', [ + return \Shared\Tpl\Tpl::view( 'shop-producer/list', [ 'producers' => $producers ] ); } diff --git a/autoload/front/controls/class.ShopProduct.php b/autoload/front/controls/class.ShopProduct.php index 3b6bb93..ec759c9 100644 --- a/autoload/front/controls/class.ShopProduct.php +++ b/autoload/front/controls/class.ShopProduct.php @@ -12,7 +12,7 @@ class ShopProduct $products_ids = \front\factory\ShopCategory::products_id( \Shared\Helpers\Helpers::get( 'category_id' ), \front\factory\ShopCategory::get_category_sort( (int)\Shared\Helpers\Helpers::get( 'category_id' ) ), $lang_id, 8, \Shared\Helpers\Helpers::get( 'offset' ) ); if ( is_array( $products_ids ) ): foreach ( $products_ids as $product_id ): - $output .= \Tpl::view('shop-product/product-mini', [ + $output .= \Shared\Tpl\Tpl::view('shop-product/product-mini', [ 'product' => Product::getFromCache( $product_id, $lang_id ) ] ); endforeach; diff --git a/autoload/front/controls/class.Site.php b/autoload/front/controls/class.Site.php index 142e125..058e7ad 100644 --- a/autoload/front/controls/class.Site.php +++ b/autoload/front/controls/class.Site.php @@ -44,7 +44,7 @@ class Site if ( $product ) { \shop\Product::add_visit( $product -> id ); - return \Tpl::view( 'shop-product/product', [ + return \Shared\Tpl\Tpl::view( 'shop-product/product', [ 'product' => $product, 'settings' => $settings, 'lang_id' => $lang_id, diff --git a/autoload/front/factory/class.ShopOrder.php b/autoload/front/factory/class.ShopOrder.php index 2226910..d0b37c7 100644 --- a/autoload/front/factory/class.ShopOrder.php +++ b/autoload/front/factory/class.ShopOrder.php @@ -216,7 +216,7 @@ class ShopOrder $order = \front\factory\ShopOrder::order_details( $order_id ); - $mail_order = \Tpl::view( 'shop-order/mail-summary', [ + $mail_order = \Shared\Tpl\Tpl::view( 'shop-order/mail-summary', [ 'settings' => $settings, 'order' => $order, 'coupon' => $coupon, diff --git a/autoload/front/view/class.Menu.php b/autoload/front/view/class.Menu.php index ea8a555..bedb43f 100644 --- a/autoload/front/view/class.Menu.php +++ b/autoload/front/view/class.Menu.php @@ -5,7 +5,7 @@ class Menu { public static function pages( $pages, $level = 0, $current_page = 0 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> pages = $pages; $tpl -> level = $level; $tpl -> current_page = $current_page; @@ -14,7 +14,7 @@ class Menu public static function menu( $menu, $current_page ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> menu = $menu; $tpl -> current_page = $current_page; return $tpl -> render( 'menu/menu' ); diff --git a/autoload/front/view/class.Scontainers.php b/autoload/front/view/class.Scontainers.php index 67703e2..db672f2 100644 --- a/autoload/front/view/class.Scontainers.php +++ b/autoload/front/view/class.Scontainers.php @@ -5,7 +5,7 @@ class Scontainers { public static function scontainer( $id ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> scontainer = \front\factory\Scontainers::scontainer_details( $id ); return $tpl -> render( 'scontainers/scontainer' ); } diff --git a/autoload/front/view/class.ShopCategory.php b/autoload/front/view/class.ShopCategory.php index d1969dc..c57f9fb 100644 --- a/autoload/front/view/class.ShopCategory.php +++ b/autoload/front/view/class.ShopCategory.php @@ -4,7 +4,7 @@ class ShopCategory { static public function category_description( $category ) { - return \Tpl::view( 'shop-category/category-description', [ + return \Shared\Tpl\Tpl::view( 'shop-category/category-description', [ 'category' => $category ] ); } @@ -19,7 +19,7 @@ class ShopCategory if ( $results['ls'] > 1 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> ls = $results['ls']; $tpl -> bs = $bs ? $bs : 1; $tpl -> page = $page; @@ -27,7 +27,7 @@ class ShopCategory $pager = $tpl -> render( 'site/pager' ); } - return \Tpl::view( 'shop-category/category', [ + return \Shared\Tpl\Tpl::view( 'shop-category/category', [ 'category' => $category, 'products' => $results['products'], 'pager' => $pager, @@ -37,7 +37,7 @@ class ShopCategory } $products_count = \front\factory\ShopCategory::category_products_count( $category, $lang_id ); - return \Tpl::view( 'shop-category/category-infinitescroll', [ + return \Shared\Tpl\Tpl::view( 'shop-category/category-infinitescroll', [ 'category' => $category, 'products_count' => $products_count, 'category_description' => (int)$bs <= 1 ? true : false, @@ -47,7 +47,7 @@ class ShopCategory public static function categories( $categories, $current_category = 0, $level = 0 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> level = $level; $tpl -> current_category = $current_category; $tpl -> categories = $categories; diff --git a/autoload/front/view/class.ShopClient.php b/autoload/front/view/class.ShopClient.php index af759eb..9a0c14c 100644 --- a/autoload/front/view/class.ShopClient.php +++ b/autoload/front/view/class.ShopClient.php @@ -4,7 +4,7 @@ class ShopClient { public static function address_edit( $values ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-client/address-edit' ); @@ -12,7 +12,7 @@ class ShopClient public static function client_addresses( $values ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-client/client-addresses' ); @@ -21,7 +21,7 @@ class ShopClient public static function client_menu( $values ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-client/client-menu' ); @@ -29,7 +29,7 @@ class ShopClient public static function client_orders( $values ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-client/client-orders' ); @@ -37,21 +37,21 @@ class ShopClient public static function recover_password() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'shop-client/recover-password' ); } public static function mini_login() { global $client; - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> client = $client; return $tpl -> render( 'shop-client/mini-login' ); } public static function login_form( $values = '' ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-client/login-form' ); @@ -59,7 +59,7 @@ class ShopClient public static function register_form() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'shop-client/register-form' ); } } diff --git a/autoload/front/view/class.ShopOrder.php b/autoload/front/view/class.ShopOrder.php index d28356a..c255c26 100644 --- a/autoload/front/view/class.ShopOrder.php +++ b/autoload/front/view/class.ShopOrder.php @@ -4,7 +4,7 @@ class ShopOrder { public static function order_details( $values ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; if ( is_array( $values ) ) foreach ( $values as $key => $val ) $tpl -> $key = $val; return $tpl -> render( 'shop-order/order-details' ); diff --git a/autoload/front/view/class.ShopPaymentMethod.php b/autoload/front/view/class.ShopPaymentMethod.php index 59ef1aa..39cd5df 100644 --- a/autoload/front/view/class.ShopPaymentMethod.php +++ b/autoload/front/view/class.ShopPaymentMethod.php @@ -4,7 +4,7 @@ class ShopPaymentMethod { public static function basket_payment_methods( $payment_methods, $payment_id ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> payment_methods = $payment_methods; $tpl -> payment_id = $payment_id; return $tpl -> render( 'shop-basket/basket-payments-methods' ); diff --git a/autoload/front/view/class.Site.php b/autoload/front/view/class.Site.php index 61864ff..9403f85 100644 --- a/autoload/front/view/class.Site.php +++ b/autoload/front/view/class.Site.php @@ -60,7 +60,7 @@ class Site $html = str_replace( '[BANER_STRONA_GLOWNA]', \front\Views\Banners::mainBanner( $bannerRepo->mainBanner( $lang_id ) ), $html ); $html = str_replace( '[BANERY]', \front\Views\Banners::banners( $bannerRepo->banners( $lang_id ) ), $html ); - $html = str_replace( '[KATEGORIE]', \Tpl::view( 'shop-category/categories', [ + $html = str_replace( '[KATEGORIE]', \Shared\Tpl\Tpl::view( 'shop-category/categories', [ 'level' => $level, 'current_category' => \Shared\Helpers\Helpers::get( 'category' ), 'categories' => \front\factory\ShopCategory::categories_details() @@ -76,7 +76,7 @@ class Site $products_promoted_tmp[1] ? $pattern = '[PROMOWANE_PRODUKTY:' . $products_promoted_tmp[1] . ']' : $pattern = '[PROMOWANE_PRODUKTY]'; $html = str_replace( $pattern, - \Tpl::view( 'shop-product/promoted-products', [ + \Shared\Tpl\Tpl::view( 'shop-product/promoted-products', [ 'products' => \front\factory\ShopProduct::promoted_products( $limit ) ] ), $html @@ -99,7 +99,7 @@ class Site } $html = str_replace( '[KOSZYK]', - \Tpl::view( 'shop-basket/basket-mini', [ + \Shared\Tpl\Tpl::view( 'shop-basket/basket-mini', [ 'basket' => \Shared\Helpers\Helpers::get_session( 'basket' ), 'lang_id' => $lang_id, 'coupon' => \Shared\Helpers\Helpers::get_session( 'coupon' ) @@ -129,7 +129,7 @@ class Site $menu_tmp = explode( ':', $menu_tmp ); $html = str_replace( '[MENU_GLOWNE:' . $menu_tmp[1] . ']', - \Tpl::view( 'menu/main-menu', [ + \Shared\Tpl\Tpl::view( 'menu/main-menu', [ 'menu' => \front\factory\Menu::menu_details( $menu_tmp[1] ) ] ), $html ); @@ -237,7 +237,7 @@ class Site $single_product = explode( ':', $single_product ); $html = str_replace( '[PRODUKT:' . $single_product[1] . ']', - \Tpl::view( 'shop-product/product-mini', [ + \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => \shop\Product::getFromCache( (int)$single_product[1], $lang_id ) ] ), $html @@ -259,7 +259,7 @@ class Site $html = str_replace( '[PRODUKTY_BOX:' . $products_box[1] . ']', - \Tpl::view( 'shop-product/products-box', [ + \Shared\Tpl\Tpl::view( 'shop-product/products-box', [ 'products' => $products ] ), $html @@ -287,7 +287,7 @@ class Site } $html = str_replace( $pattern, - \Tpl::view( 'shop-product/products-top', [ + \Shared\Tpl\Tpl::view( 'shop-product/products-top', [ 'products' => $top_products_arr, ] ), $html @@ -316,7 +316,7 @@ class Site } $html = str_replace( $pattern, - \Tpl::view( 'shop-product/products-new', [ + \Shared\Tpl\Tpl::view( 'shop-product/products-new', [ 'products' => $top_products_arr, ] ), $html @@ -377,7 +377,7 @@ class Site $html = str_replace( $pattern, - \Tpl::view( 'shop-category/blog-category-products', [ + \Shared\Tpl\Tpl::view( 'shop-category/blog-category-products', [ 'products' => \front\factory\ShopCategory::blog_category_products( $category_list_tmp[1], $lang_id, $products_limit ) ] ), $html ); @@ -421,14 +421,14 @@ class Site public static function facebook( $facebook_link ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> facebook_link = $facebook_link; return $tpl -> render( 'site/facebook' ); } static public function title( $title, $show_title, $page_title ) { - return \Tpl::view( 'site/title', [ + return \Shared\Tpl\Tpl::view( 'site/title', [ 'title' => $title, 'page_title' => $page_title, 'show_title' => $show_title @@ -441,7 +441,7 @@ class Site { \Shared\Helpers\Helpers::delete_session( 'alert' ); - return $tpl = \Tpl::view( 'site/alert', [ + return $tpl = \Shared\Tpl\Tpl::view( 'site/alert', [ 'alert' => $alert ] ); } @@ -450,7 +450,7 @@ class Site { \Shared\Helpers\Helpers::delete_session( 'error' ); - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> error = $error; return $tpl -> render( 'site/error' ); } @@ -458,19 +458,19 @@ class Site public static function copyright() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'site/copyright' ); } public static function contact() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'site/contact' ); } public static function cookie_information() { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; return $tpl -> render( 'site/cookie-information' ); } } diff --git a/autoload/shop/class.Order.php b/autoload/shop/class.Order.php index fd40117..92a980c 100644 --- a/autoload/shop/class.Order.php +++ b/autoload/shop/class.Order.php @@ -169,7 +169,7 @@ class Order implements \ArrayAccess $order = \front\factory\ShopOrder::order_details( $this -> id ); $coupon = (int)$order['coupon_id'] ? new \shop\Coupon( (int)$order['coupon_id'] ) : null; - $mail_order = \Tpl::view( 'shop-order/mail-summary', [ + $mail_order = \Shared\Tpl\Tpl::view( 'shop-order/mail-summary', [ 'settings' => $settings, 'order' => $order, 'coupon' => $coupon, diff --git a/autoload/shop/class.Product.php b/autoload/shop/class.Product.php index 3faf184..249480b 100644 --- a/autoload/shop/class.Product.php +++ b/autoload/shop/class.Product.php @@ -348,7 +348,7 @@ class Product implements \ArrayAccess $products = array_diff( $products, [ $product_id ] ); } - return \Tpl::view( 'shop-basket/alert-product-sets', [ + return \Shared\Tpl\Tpl::view( 'shop-basket/alert-product-sets', [ 'products' => $products ] ); } diff --git a/autoload/shop/class.Search.php b/autoload/shop/class.Search.php index 0444571..a34cd53 100644 --- a/autoload/shop/class.Search.php +++ b/autoload/shop/class.Search.php @@ -6,7 +6,7 @@ class Search implements \ArrayAccess { static public function simple_form() { - return \Tpl::view( 'shop-search/simple-form' ); + return \Shared\Tpl\Tpl::view( 'shop-search/simple-form' ); } static public function search_results() @@ -17,14 +17,14 @@ class Search implements \ArrayAccess $results = \shop\Product::searchProductsByName( \Shared\Helpers\Helpers::get( 'query' ), $lang_id, (int)$bs ); - $out = \Tpl::view( 'shop-search/products', [ + $out = \Shared\Tpl\Tpl::view( 'shop-search/products', [ 'query' => \Shared\Helpers\Helpers::get( 'query' ), 'products' => $results['products'] ]); if ( $results['ls'] > 1 ) { - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> ls = $results['ls']; $tpl -> bs = $bs ? $bs : 1; $tpl -> link = 'wyszukiwarka/' . \Shared\Helpers\Helpers::get( 'query' ); @@ -40,7 +40,7 @@ class Search implements \ArrayAccess $results = \shop\Product::searchProductByNameAjax( \Shared\Helpers\Helpers::get( 'query' ), $lang_id ); if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) foreach ( $results as $row ) - $products[] = \Tpl::view( 'shop-search/product-search', [ + $products[] = \Shared\Tpl\Tpl::view( 'shop-search/product-search', [ 'product' => Product::getFromCache( $row['product_id'], $lang_id ) ] ); diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index fdaeb91..694ca11 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,6 +4,24 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze. --- +## ver. 0.285 (2026-02-17) - Tpl namespace, CurlServer removal, thumb.php fix + +- **Shared\Tpl\Tpl** — migracja silnika szablonow do namespace Shared + - NOWY: `autoload/Shared/Tpl/Tpl.php` (namespace `Shared\Tpl`) + - USUNIETA: `autoload/class.Tpl.php` — zastapiona przez `Shared\Tpl\Tpl` + - ZAMIENIONE: ~135 plikow — `\Tpl::` / `new \Tpl` → `\Shared\Tpl\Tpl::` / `new \Shared\Tpl\Tpl` + - DRY: wyciagnieto powtorzony `ob_start/include/ob_get_contents/ob_end_clean` do prywatnej metody `renderFile()` + - FIX: bug w `render()` branch 3 — sprawdzal `../templates_user/` ale ladowal `../templates/` + - CLEANUP: usunieta nieuzywana property `$dir` i konstruktor `__construct($dir)` +- **CurlServer** — usuniecie nieuzywanej klasy + - USUNIETA: `autoload/curl.class.php` — klasa `CurlServer` bez referencji w projekcie (0 uzyc) +- **thumb.php** — naprawa require po migracji Image + - FIX: `libraries/thumb.php` — zmiana `require_once '../autoload/class.Image.php'` na `../autoload/Shared/Image/ImageManipulator.php` + `use` + - FIX: poprawiony short open tag ` article['language']['text'], '[GALERIA]' ) !== false ) { if ( is_array( $this -> article['images'] ) ): - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> article = $this -> article; $tpl -> images = $this -> article['images']; $gallery = $tpl -> render( 'articles/article-gallery' ); @@ -92,7 +92,7 @@ $text = \front\Views\Articles::generateHeadersIds( $text ); if ( strpos( $this -> article['language']['text'], '[ZALACZNIKI]' ) !== false ) { if ( is_array( $this -> article['files'] ) ): - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> article = $this -> article; $tpl -> files = $this -> article['files']; $files = $tpl -> render( 'articles/article-files' ); @@ -121,7 +121,7 @@ $text = \front\Views\Articles::generateHeadersIds( $text ); $images[] = $image; } - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> images = $images; $tpl -> article_id = $this -> article['id']; $tpl -> i = $i; @@ -161,14 +161,14 @@ $text = \front\Views\Articles::generateHeadersIds( $text ); article['images'] ) and strpos( $this -> article['language']['text'], '[GALERIA]' ) === false ): - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> article = $this -> article; $tpl -> images = $this -> article['images']; echo $tpl -> render( 'articles/article-gallery' ); endif; if ( is_array( $this -> article['files'] ) and strpos( $this -> article['language']['text'], '[ZALACZNIKI]' ) === false ): - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> article = $this -> article; $tpl -> files = $this -> article['files']; echo $tpl -> render( 'articles/article-files' ); diff --git a/templates/articles/articles-entries.php b/templates/articles/articles-entries.php index 34a2a49..e6ebfdf 100644 --- a/templates/articles/articles-entries.php +++ b/templates/articles/articles-entries.php @@ -1,6 +1,6 @@
articles ) ): foreach ( $this -> articles as $article ): - $tpl = new \Tpl; + $tpl = new \Shared\Tpl\Tpl; $tpl -> page_id = $this -> page_id; $tpl -> article = $article; echo $tpl -> render( 'articles/article-entry' ); diff --git a/templates/shop-basket/basket-details.php b/templates/shop-basket/basket-details.php index 467100b..240e011 100644 --- a/templates/shop-basket/basket-details.php +++ b/templates/shop-basket/basket-details.php @@ -59,7 +59,7 @@
- $position['custom_fields'] ] ); ?> additional_message ):?> @@ -117,7 +117,7 @@
- \Shared\Helpers\Helpers::get_session('coupon') ] ); ?> diff --git a/templates/shop-basket/summary-view.php b/templates/shop-basket/summary-view.php index 938b33c..fc7a751 100644 --- a/templates/shop-basket/summary-view.php +++ b/templates/shop-basket/summary-view.php @@ -40,7 +40,7 @@
- $position['custom_fields'] ] ); ?>
@@ -138,12 +138,12 @@ ?>
- $this -> transport ] );?>
- $this -> client, 'addresses' => $this -> addresses, 'transport_method' => $this -> transport diff --git a/templates/shop-category/blog-category-products.php b/templates/shop-category/blog-category-products.php index 6bf78aa..7ca0a9d 100644 --- a/templates/shop-category/blog-category-products.php +++ b/templates/shop-category/blog-category-products.php @@ -1,7 +1,7 @@
products ) ): foreach ( $this -> products as $product_id ):?> - \shop\Product::getFromCache( $product_id, $lang_id ), 'class' => 'col-12 col-sm-6 col-lg-3' ] );?> diff --git a/templates/shop-category/category-infinitescroll.php b/templates/shop-category/category-infinitescroll.php index 321285f..1352b16 100644 --- a/templates/shop-category/category-infinitescroll.php +++ b/templates/shop-category/category-infinitescroll.php @@ -6,14 +6,14 @@ category_additional_text) : - echo \Tpl::view('shop-category/_partials/category-additional-text', [ + echo \Shared\Tpl\Tpl::view('shop-category/_partials/category-additional-text', [ 'category' => $this->category ]); endif; ?>
products)) : foreach ($this->products as $product_id) : - echo \Tpl::view('shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view('shop-product/product-mini', [ 'product' => \shop\Product::getFromCache( $product_id, $lang_id ) ]); endforeach; @@ -21,7 +21,7 @@ endif;
category_description) : - echo \Tpl::view('shop-category/category-description', [ + echo \Shared\Tpl\Tpl::view('shop-category/category-description', [ 'category' => $this->category ]); endif; diff --git a/templates/shop-category/category.php b/templates/shop-category/category.php index 9df22a9..cac1631 100644 --- a/templates/shop-category/category.php +++ b/templates/shop-category/category.php @@ -6,7 +6,7 @@ category_additional_text ): - echo \Tpl::view( 'shop-category/_partials/category-additional-text', [ + echo \Shared\Tpl\Tpl::view( 'shop-category/_partials/category-additional-text', [ 'category' => $this -> category ] ); endif; @@ -15,7 +15,7 @@ endif; category['view_subcategories'] ): - echo \Tpl::view( 'shop-category/_partials/category-subcategory-tiles', [ + echo \Shared\Tpl\Tpl::view( 'shop-category/_partials/category-subcategory-tiles', [ 'categories' => \shop\Category::get_subcategory_by_category( $this -> category['id'] ), ] ); @@ -24,7 +24,7 @@ endif;
products ) ): foreach ( $this -> products as $product_id ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => \shop\Product::getFromCache( $product_id, $lang_id ) ] ); endforeach; endif;?> @@ -32,7 +32,7 @@ endif; pager;?> category_description ): - echo \Tpl::view( 'shop-category/category-description', [ + echo \Shared\Tpl\Tpl::view( 'shop-category/category-description', [ 'category' => $this -> category ] ); endif; diff --git a/templates/shop-category/products.php b/templates/shop-category/products.php index 3700dbf..75ae448 100644 --- a/templates/shop-category/products.php +++ b/templates/shop-category/products.php @@ -7,7 +7,7 @@
products ) ): foreach ( $this -> products as $product_id ): $product = new \shop\Product( $product_id ); - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => new \shop\Product( $product_id, $lang_id ) ] ); endforeach; endif;?> diff --git a/templates/shop-client/client-orders.php b/templates/shop-client/client-orders.php index cd7ba88..21a269a 100644 --- a/templates/shop-client/client-orders.php +++ b/templates/shop-client/client-orders.php @@ -7,7 +7,7 @@
orders ) ): foreach ( $this -> orders as $order ):?> - $order, 'statuses' => \shop\Order::order_statuses() ] );?> diff --git a/templates/shop-order/order-details.php b/templates/shop-order/order-details.php index 37f8eee..a163b99 100644 --- a/templates/shop-order/order-details.php +++ b/templates/shop-order/order-details.php @@ -3,7 +3,7 @@
: order['number'];?>
- $this -> order, 'coupon' => $this -> coupon, 'statuses' => \shop\Order::order_statuses() diff --git a/templates/shop-producer/products.php b/templates/shop-producer/products.php index 89990ca..8e5e871 100644 --- a/templates/shop-producer/products.php +++ b/templates/shop-producer/products.php @@ -1,7 +1,7 @@
products ) ): foreach ( $this -> products as $product_id ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product = \shop\Product::getFromCache( $product_id, $lang_id ) ] ); endforeach; endif;?> @@ -9,7 +9,7 @@ pager;?> producer['languages'][$lang_id]['description'] ): - echo \Tpl::view( 'shop-producer/description', [ + echo \Shared\Tpl\Tpl::view( 'shop-producer/description', [ 'description' => $this -> producer['languages'][$lang_id]['description'] ] ); endif; diff --git a/templates/shop-product/product.php b/templates/shop-product/product.php index 2fd6e11..96b932e 100644 --- a/templates/shop-product/product.php +++ b/templates/shop-product/product.php @@ -40,7 +40,7 @@
- $this -> product, 'lang_id' => $this -> lang_id, 'settings' => $this -> settings @@ -79,7 +79,7 @@
Opcje produktu
$val ) - echo \Tpl::view( 'shop-product/_partial/product-attribute', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/_partial/product-attribute', [ 'attribute' => $val, 'order' => $key, 'level' => ++$level, @@ -92,7 +92,7 @@
- $this -> product['custom_fields'] ] );?>
@@ -127,7 +127,7 @@
- $this->product['id'] ]);?> @@ -223,7 +223,7 @@ foreach ( $this -> product['products_sets'] as $product_sets_id ): $product = \shop\Product::getFromCache( $product_sets_id, $lang_id ); if ( $product and $product -> status ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product, 'class' => 'item' ] ); @@ -245,7 +245,7 @@ foreach ( $this -> product['products_related'] as $product_related_id ): $product = \shop\Product::getFromCache( $product_related_id, $lang_id ); if ( $product and $product -> status ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product, 'class' => 'item' ] ); diff --git a/templates/shop-product/products-box.php b/templates/shop-product/products-box.php index bd7c021..e8c36ec 100644 --- a/templates/shop-product/products-box.php +++ b/templates/shop-product/products-box.php @@ -5,7 +5,7 @@ products as $product ): if ( $product -> status ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product, 'class' => 'item', 'product_mini_class' => 'swiper-slide' diff --git a/templates/shop-product/products-new.php b/templates/shop-product/products-new.php index 962338e..8322375 100644 --- a/templates/shop-product/products-new.php +++ b/templates/shop-product/products-new.php @@ -7,7 +7,7 @@ products as $product ): if ( $product -> status ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product, 'class' => 'item', 'product_mini_class' => 'swiper-slide' diff --git a/templates/shop-product/products-top.php b/templates/shop-product/products-top.php index 767f956..9befd75 100644 --- a/templates/shop-product/products-top.php +++ b/templates/shop-product/products-top.php @@ -7,7 +7,7 @@ products as $product ): if ( $product -> status ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => $product, 'class' => 'item', 'product_mini_class' => 'swiper-slide' diff --git a/templates/shop-product/promoted-products.php b/templates/shop-product/promoted-products.php index 4849f89..1a76122 100644 --- a/templates/shop-product/promoted-products.php +++ b/templates/shop-product/promoted-products.php @@ -10,7 +10,7 @@ if ( \Shared\Helpers\Helpers::get_session( 'current-lang' ) != ( new \Domain\Languages\LanguagesRepository( $GLOBALS['mdb'] ) )->defaultLanguage() and $url != '#' ) $url = '/' . \Shared\Helpers\Helpers::get_session( 'current-lang' ) . $url; ?> - $product, 'class' => 'col-12 col-sm-4 col-md-4 col-lg-3' ] );?> diff --git a/templates/shop-search/products.php b/templates/shop-search/products.php index cd7a65a..4841ada 100644 --- a/templates/shop-search/products.php +++ b/templates/shop-search/products.php @@ -6,7 +6,7 @@
products ) ): foreach ( $this -> products as $product_id ): - echo \Tpl::view( 'shop-product/product-mini', [ + echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [ 'product' => \shop\Product::getFromCache( $product_id, $lang_id ) ] ); endforeach; endif;?> diff --git a/updates/0.20/ver_0.285.zip b/updates/0.20/ver_0.285.zip new file mode 100644 index 0000000000000000000000000000000000000000..1225b57a0da2c2830363bb7b269a353b1bd44306 GIT binary patch literal 183290 zcmd421yG*bk~WIFy9Ot?YjAgWcXx;2?oM!b2(H21-7UDgyInG8&OZC>$^5l%)y#h{ z#rnRNs+X##dv*6({dBji1TY8+z^|WZKsn9-c=*o`gpY4MLn||DO-CauTT4AhBL_{{ z|9l$)Ko>wxv&j!$CFA2Q2tWV;^549zXYXicVEOTH|M@^|WN79{V{2;b-r?R6*;dXk zX)CNRXD%)&$_EFbq4v$FFwvs;^Zq{C&VIq(Hq4=%22U!o?Zl9puArb6~1`n}-VeNFJM-`-X&4Ky|m>nov-5 z&10>6p$>g^CBhZLV@UWsLL{a2wZEF_e>JCXhITsLkcYavgPN*t)ua;v2KaXw1+2_t zqCaE<|B#X4Z^-CCt!HmwYUXT2ZE5E4AHvpFH!6idj*C)>ONBy`4+82@eyO?2dH80IqKulDtx&W8I#>zv&{8@QMy=yHh zDLiSUza2l1mw-`3Q?ke?1gD-|E<>%!|3J9(Y0MS)T&z;pHM zPIU$`xLglZ0J-XV?F>|=B_)g?rehf&@We&yQ0)M?kD$bRej|?gD$zFei@yn2=Fb(9 zQE*YfTybFX2Ql%v7OVBDMY9|U z%`D?f=vNbCWQkEn@;mwCid~~UYLxKM)TJGm%b)Nf@CdeeZVUw8D%*yd=-Jdi5AOIh zf`4w}S-h^Z?i52uI09-RRbP*`n>lUb5E?+=0xYJGLk0{{885>|Pbj$QsSUj#wTvlp(JIjBzVG;2?r-T@IB4rUcj7Dy9f?B9bV}xs? z3}8w-lChmO0@M_BfU_+XTI#NTOK5e$77)oqy@;dLwT9fse3kd|KW9Xto<=ifm7?mq zP0Y29K%aAN?a}uR9mBePxIq6`SomdNe+~;|zwsM=J!@+tdk4+`{Qkqd{(l<`ehG!Q zAuuoTA&l(D`kmJpni)8n*;wn@n|;J|Cu=juKLYyS5v%ScS95hXVe}s%4naoiPcg1H zdah2ns&RW4=uh$KuX?8Zjh_DtqhUn zOq&0E`k&YJ)_>79V?5o&FGQ*zi|S+j_4xlMmVcr8-%~gAUo7Fz8l(9?Vso_Dvv&Bn zuY8#5|81qw{#{`I_w?q4kaVI10{}2b2LSN-xA5F-oE(4c=&$cT6t=5w<*>qn^ma13 z!;>9WnNV1`Qzy0@PyHxAz$mt!Uh=aAzCs2#HUruL8dCw5L2Bv8!T|)gxY=;Z35ea`9;ehc3U^)Ka?Bo?>-^!e&Su-!QV!EQ4NKkbYw+V;<{l9ZQI$e_Zd9H$x)L zYlv7MzfONiE>V}IgFAP;l>nBixH~EK>vj}kQib9EA#-bp_{r6iJX$Cpqr2Wpby=SsMOjD$QIV64RzZ^RGohm9E}fl&GN z>66z=QgCZO@xesKmdc9QVb#=0z+JmwY06Bqg?H1)kw+TxD{M5*f&gqx8TN4(9R`Sa znJaqAnPT-4f|X2Yw|)KAXjsx)NW9l~;Ube|=~KWFOOd&66SBbXCUfQTh(#w{to+An18 z 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

?dB`VlNH3-31pU@G*=}OS$I|nKSk#w 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�dU{U+?0V$rbzNx^!-BGREho-*d!N5YeQcLlUg| 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�B^j;}K)YJkPMzsQl~0#hYPQk@uBO0F#`xh%Rsn38!UF%{wPD}pS_l^7V#2Vr5zV2 z>;$6o<*>~CXAwUKWUiKgPvNFv!6_@&XD24M=RyW*9uNe=9)| z=$~CK#TbYlRqt|I`vEEIKnifS^LI1-Z>0R}GhHo1DcNCP04R1fz+PvIgFXL`G8F&m z3S2EB35TAO3}_|@fe3i^F}lkCC_)MRCLEl(UoE5l{Q@5skPQR^?e*DgNu=>g8Ok;W zKm@rO{>Dk{c_&Z~!2tQ}2ts$$)o^g~el`0o))w|V!2aXFiv`*<)o#A$6#HkYt^YGu z1&<8_gDLciK#Udqaa`Q_{1ogxx`}C9M}Rpxu+G0z+L>R2}^?)|3YJlwz1naZ?(XiRSXa6?q2aIMOVb#zERDOc-a}(HK z#*Uu zfFKIM6vSt^m^;65!JXxQpwhrw>x=Z1xr-F?0^oo*2%|c~quafTcPb6J2wN~6nPCX1 zhzO+mXCI&7>y=o*asO?&FXCpy594V8s*(X-05nIZuFkzba(}ee7g0|vz3JNk7CS(u zIK>2ktPcJ}y|kp-(^S&x0hlTPJsWu34*vu_(`sI%@yj@cc5);TNKE>?8~7hx3BSNy z!Bt=?K?)b#9asZG0?`=@tixaXm5%-lHunLy`qd>quO1l36yaSjBWCFw^p#O2| zn!)%TrDS8F3EbyF;6PD&jN41r~lO>0lceWJYcMw zXIO542n*8(c0Xq&I+!?GKDY=V|6bES7bvtXz^%@D!mjAGQ)eLjHbK?M@#o1Srw5q8 z8l69}_Lou+J#f$wj^q+-Y=QTaQ*yb0s uH~uQver. 0.285 - 17.02.2026
    +- UPDATE - migracja class.Tpl.php do Shared\Tpl\Tpl (~135 plikow przepietych) +- CLEANUP - usunieta nieuzywana klasa CurlServer (curl.class.php) +- FIX - thumb.php: naprawa require po migracji Image do Shared namespace +- 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
    diff --git a/updates/versions.php b/updates/versions.php index 211079b..3113e54 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@