ver. 0.285: Tpl → Shared\Tpl namespace, CurlServer removal, thumb.php fix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 00:13:59 +01:00
parent fc7d18123d
commit 28b30c1e56
144 changed files with 385 additions and 285 deletions

View File

@@ -105,7 +105,7 @@ class ArticlesArchiveController
'Brak danych w tabeli.'
);
return \Tpl::view('articles/articles-archive-list', [
return \Shared\Tpl\Tpl::view('articles/articles-archive-list', [
'viewModel' => $viewModel,
]);
}

View File

@@ -146,7 +146,7 @@ class ArticlesController
'Dodaj artykul'
);
return \Tpl::view('articles/articles-list', [
return \Shared\Tpl\Tpl::view('articles/articles-list', [
'viewModel' => $viewModel,
]);
}
@@ -289,7 +289,7 @@ class ArticlesController
$viewModel = $this->buildFormViewModel($article, $languages, $menus, $layouts);
return \Tpl::view('articles/article-edit', [
return \Shared\Tpl\Tpl::view('articles/article-edit', [
'form' => $viewModel,
'article' => $article,
'user' => $user,
@@ -444,7 +444,7 @@ class ArticlesController
. '<i class="fa fa-caret-right"></i>'
. '</button>Menu: <b>' . $menuName . '</b>';
$html .= '</div>';
$html .= \Tpl::view('articles/subpages-list', [
$html .= \Shared\Tpl\Tpl::view('articles/subpages-list', [
'pages' => $menuPages,
'article_pages' => $article['pages'] ?? [],
'parent_id' => $menuId,

View File

@@ -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]);
}
/**

View File

@@ -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(),

View File

@@ -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

View File

@@ -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,
]);
}

View File

@@ -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' ),
] );
}

View File

@@ -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),
]);
}

View File

@@ -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(),

View File

@@ -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),
]);
}

View File

@@ -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),
]);

View File

@@ -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,
]);
}

View File

@@ -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),
]);
}

View File

@@ -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

View File

@@ -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(),

View File

@@ -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(),

View File

@@ -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,

View File

@@ -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,

View File

@@ -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(),

View File

@@ -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()),
]);
}

View File

@@ -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),
]);
}

View File

@@ -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 .= '<input type="checkbox" class="g-checkbox" name="categories[]" value="' . $catId . '"' . ( $checked ? ' checked="checked"' : '' ) . ' />';
$html .= '<b>' . $catTitle . '</b>';
$html .= '</div>';
$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(),

View File

@@ -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),
]);
}

View File

@@ -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,

View File

@@ -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),
]);
}

View File

@@ -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),
]);
}

View File

@@ -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(),
] );

View File

@@ -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'),
]);
}