# Katalog klas i metod — autoload/
Wygenerowano: 2026-02-18
Łącznie: **96 klas**, ~**530+ metod**
---
## Spis treści
1. [Domain/ — Warstwa domenowa (29 klas)](#domain)
2. [admin/ — Warstwa administracyjna (39 klas)](#admin)
3. [front/ — Warstwa frontendowa (21 klas)](#front)
4. [Shared/ — Klasy współdzielone (7 klas)](#shared)
---
## 1. Domain/ — Warstwa domenowa
### Domain\Article\ArticleRepository ✅ REVIEWED
File: `autoload/Domain/Article/ArticleRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Public Methods:
- ✅ `public function __construct($db)`
- ✅ `public function find(int $articleId): ?array` — try/catch na brak kolumny `o` (kompatybilność)
- ✅ `public function save(int $articleId, array $data, int $userId): int`
- ✅ `public function archive(int $articleId): bool`
- ✅ `public function restore(int $articleId): bool`
- ✅ `public function deletePermanently(int $articleId): bool`
- ✅ `public function listForAdmin(array $filters, string $sortColumn = 'date_add', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- ✅ `public function listArchivedForAdmin(array $filters, string $sortColumn = 'date_add', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- ✅ `public function saveGalleryOrder(int $articleId, string $order): bool`
- ✅ `public function saveFilesOrder(int $articleId, string $order): bool`
- ✅ `public function pagesSummaryForArticles(array $articleIds): array`
- ✅ `public function updateImageAlt(int $imageId, string $imageAlt): bool`
- ✅ `public function updateFileName(int $fileId, string $fileName): bool`
- ✅ `public function markFileToDelete(int $fileId): bool`
- ✅ `public function markImageToDelete(int $imageId): bool`
- ✅ `public function deleteNonassignedFiles(): void`
- ✅ `public function deleteNonassignedImages(): void`
- 🔧 `public function articlesByDateAdd(string $dateStart, string $dateEnd, string $langId = 'pl'): array` — naprawiono SQL injection (addslashes→parameterized), dodano parametr $langId
- 🔧 `public function articleDetailsFrontend(int $articleId, string $langId): ?array` — select+foreach → get() (uproszczono)
- 🔧 `public function articlesIds(int $pageId, string $langId, int $limit, int $sortType, int $from): ?array` — parametryzacja $langId
- 🔧 `public function pageArticlesCount(int $pageId, string $langId): int` — parametryzacja $langId
- ✅ `public function pageArticles(array $page, string $langId, int $bs): array`
- ✅ `public function news(int $pageId, int $limit, string $langId): ?array`
- ✅ `public function articleNoindex(int $articleId, string $langId): bool`
- 🔧 `public function topArticles(int $pageId, int $limit, string $langId): ?array` — parametryzacja $langId + DRY via fetchArticlesByPage()
- 🔧 `public function newsListArticles(int $pageId, int $limit, string $langId): ?array` — parametryzacja $langId + DRY via fetchArticlesByPage()
Private Methods:
- ✅ `private function createArticle(array $data, int $userId): int`
- ✅ `private function updateArticle(int $articleId, array $data, int $userId): int`
- ✅ `private function buildArticleRow(array $data, int $userId, bool $isNew): array`
- ✅ `private function buildLangRow($langId, array $data): array`
- ✅ `private function applyGalleryOrderIfProvided(int $articleId, array $data): void`
- ✅ `private function applyFilesOrderIfProvided(int $articleId, array $data): void`
- ✅ `private function saveTranslations(int $articleId, array $data, bool $isNew): void`
- ✅ `private function savePages(int $articleId, $pages, bool $isNew): void`
- ✅ `private function assignTempFiles(int $articleId): void`
- ✅ `private function assignTempImages(int $articleId): void`
- ✅ `private function deleteMarkedImages(int $articleId): void`
- ✅ `private function deleteMarkedFiles(int $articleId): void`
- ✅ `private function maxPageOrder(): int`
- ✅ `private function isCheckedValue($value): bool`
- ✅ `private function appendDateRangeFilter(array &$where, array &$params, string $column, string $fromKey, string $toKey, array $filters): void`
- 🔧 `private function fetchArticlesByPage(string $cachePrefix, int $pageId, int $limit, string $langId, string $orderBy): ?array` — NOWA, wspólna logika topArticles/newsListArticles
---
### Domain\Attribute\AttributeRepository ✅ REVIEWED
File: `autoload/Domain/Attribute/AttributeRepository.php`
Properties:
- `private $db`
- `private ?string $defaultLangId = null`
- `private const MAX_PER_PAGE = 100`
Public Methods:
- ✅ `public function __construct($db)`
- ✅ `public function listForAdmin(array $filters, string $sortColumn = 'o', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array`
- ✅ `public function findAttribute(int $attributeId): array`
- ✅ `public function saveAttribute(array $data): ?int`
- ✅ `public function deleteAttribute(int $attributeId): bool`
- ✅ `public function findValues(int $attributeId): array`
- ✅ `public function saveValues(int $attributeId, array $payload): bool`
- ✅ `public function saveLegacyValues(int $attributeId, array $names, array $values, array $ids, $defaultValue, array $impactOnThePrice): ?int`
- ✅ `public function valueDetails(int $valueId): array`
- ✅ `public function getAttributeNameById(int $attributeId, ?string $langId = null): string`
- ✅ `public function getAttributeValueById(int $valueId, ?string $langId = null): string` — z cache
- ✅ `public function getAttributesListForCombinations(): array`
- ✅ `public function frontAttributeDetails(int $attributeId, string $langId): array` — z cache
- ✅ `public function frontValueDetails(int $valueId, string $langId): array` — z cache
- ✅ `public function isValueDefault(int $valueId)`
- ✅ `public function getAttributeOrder(int $attributeId)`
- ✅ `public function getAttributeNameByValue(int $valueId, string $langId)` — parametryzowane query
Private Methods:
- ✅ `private function buildAdminWhere(array $filters): array`
- ✅ `private function saveAttributeTranslations(int $attributeId, array $names): void`
- ✅ `private function saveValueTranslations(int $valueId, array $translations): void`
- ✅ `private function valueBelongsToAttribute(int $valueId, int $attributeId): bool`
- ✅ `private function normalizeValueRows(array $rows): array`
- ✅ `private function refreshCombinationPricesForValue(int $valueId, ?string $impactOnThePrice): void`
- ✅ `private function toSwitchValue($value): int`
- ✅ `private function toTypeValue($value): int`
- ✅ `private function toNullableNumeric($value): ?string`
- ✅ `private function defaultAttribute(): array`
- ✅ `private function nextOrder(): int`
- ✅ `private function defaultLanguageId(): string`
- ✅ `private function clearFrontCache(int $id, string $type): void`
- 🔧 `private function clearTempAndCache(): void` — usunięto martwy check `class_exists('\S')`
- ✅ `private function normalizeDecimal(float $value, int $precision = 2): float`
---
### Domain\Banner\BannerRepository ✅ REVIEWED
File: `autoload/Domain/Banner/BannerRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Public Methods:
- ✅ `public function __construct($db)`
- ✅ `public function find(int $bannerId): ?array` — pobiera baner + tłumaczenia
- ✅ `public function delete(int $bannerId): bool`
- ✅ `public function save(array $data)` — insert/update, obsługuje nowy i legacy format
- ✅ `public function listForAdmin(array $filters, string $sortColumn = 'name', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array` — z thumbnailami
- 🔧 `public function banners(string $langId): ?array` — parametryzacja $today + null guard na query()
- 🔧 `public function mainBanner(string $langId): ?array` — parametryzacja $today + null guard na query()
Private Methods:
- ✅ `private function fetchThumbnailsByBannerIds(array $bannerIds): array` — parametryzowane IN
- ✅ `private function saveTranslations(int $bannerId, array $src, array $url, array $html, array $text): void` — legacy format
- ✅ `private function saveTranslationsFromArray(int $bannerId, array $translations): void` — nowy format
- ✅ `private function upsertTranslation(int $bannerId, $langId, array $fields): void` — count+insert/update
---
### Domain\Basket\BasketCalculator ✅ REVIEWED
File: `autoload/Domain/Basket/BasketCalculator.php`
Properties: (brak — klasa statyczna)
Methods:
- ✅ `public static function summaryWp($basket)` — suma wag, is_array guard
- ✅ `public static function countProductsText($count)` — polska pluralizacja
- 🔧 `public static function summaryPrice($basket, $coupon = null, $langId = null, $productRepo = null)` — dodano opcjonalne DI params z fallbackiem do globals
- ✅ `public static function countProducts($basket)` — suma ilości, is_array guard
- ✅ `public static function validateBasket($basket)` — null guard
- 🔧 `public static function checkProductQuantityInStock($basket, bool $message = false)` — dodano is_array guard (bug: foreach na null)
- 🔧 `public static function calculateBasketProductPrice(float $price_brutto_promo, float $price_brutto, $coupon, $basket_position, $productRepo = null)` — dodano opcjonalny $productRepo z fallbackiem do globals
---
### Domain\Cache\CacheRepository
File: `autoload/Domain/Cache/CacheRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function clearAll(): array`
---
### Domain\Category\CategoryRepository
File: `autoload/Domain/Category/CategoryRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $categoryId): array`
- `public function save(array $data): ?int`
- `public function delete(int $categoryId): bool`
- `public function allForAdmin(bool $onlyActive = false): array`
- `public function detailsForLanguage(int $categoryId, string $langId): ?array`
- `public function categoryTree(string $langId): array`
- `public function buildTreeRecursive(array $categories, $parentId, array $categoryLangs, int $depth = 0): array`
- `public function categoryTreeFront(string $langId): array`
- `public function categoryDetailsCached(int $categoryId, string $langId): array`
- `public function categoryProductsCached(int $categoryId, string $langId, int $page = 1, string $sort = '', int $limit = 12, array $filters = []): array`
- `public function getCategoryIdBySeoLink(string $seoLink, string $langId): int`
- `public function getCategorySeoLink(int $categoryId, string $langId): string`
- `private function baseListSelect(): string`
- `private function translationsMap(int $categoryId): array`
- `private function extractTranslations(array $data): array`
- `private function toSwitchValue($value): int`
- `private function defaultCategory(): array`
- `private function clearFrontCache(int $categoryId): void`
- `private function saveSeoRedirects(int $categoryId, string $langId, string $newSeoLink, string $currentSeoLink): void`
---
### Domain\Client\ClientRepository
File: `autoload/Domain/Client/ClientRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'name', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array`
- `public function find(int $clientId): ?array`
- `public function findByEmail(string $email): ?array`
- `public function allActiveForAdmin(): array`
- `public function ordersForClient(int $clientId, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function frontRegister(array $data): array`
- `public function frontLogin(string $email, string $password): ?array`
- `public function frontResetPasswordRequest(string $email): bool`
- `public function frontResetPasswordConfirm(string $token, string $password): bool`
- `public function frontUpdateProfile(int $clientId, array $data): bool`
- `public function frontChangePassword(int $clientId, string $currentPassword, string $newPassword): array`
- `public function delete(int $clientId): bool`
- `private function normalizeClient(array $client): array`
---
### Domain\Coupon\CouponRepository
File: `autoload/Domain/Coupon/CouponRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $couponId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $couponId): bool`
- `public function findByCode(string $code): ?array`
- `public function incrementUsageCount(int $couponId): void`
- `public function validateCoupon(string $code): array`
- `private function toSwitchValue($value): int`
---
### Domain\Dashboard\DashboardRepository
File: `autoload/Domain/Dashboard/DashboardRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function countOrders(): int`
- `public function totalSales(): float`
- `public function countClients(): int`
- `public function countProducts(): int`
- `public function recentOrdersForGrid(int $limit = 5): array`
- `public function topSellingProducts(int $limit = 5): array`
---
### Domain\Dictionaries\DictionariesRepository
File: `autoload/Domain/Dictionaries/DictionariesRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $unitId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $unitId): bool`
- `public function detailsForLanguage(int $unitId, string $langId): ?array`
- `public function allForSelect(): array`
- `public function getUnitNameCached(int $unitId, string $langId): string`
- `private function baseListSelect(): string`
- `private function translationsMap(int $unitId): array`
- `private function extractTranslations(array $data): array`
---
### Domain\Integrations\IntegrationsRepository
File: `autoload/Domain/Integrations/IntegrationsRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function apiloAuth(): array`
- `public function apiloRefreshToken(string $refreshToken): array`
- `public function apiloSyncOrders(string $accessToken, int $page = 1): array`
- `public function apiloSyncProducts(string $accessToken, int $page = 1): array`
- `public function apiloSendOrder(string $accessToken, array $orderData): array`
- `public function apiloGetStatuses(string $accessToken): array`
- `public function apiloSyncOrderStatuses(string $accessToken): array`
- `public function apiloPostWaybill(string $accessToken, int $orderId, array $waybillData): array`
- `public function getApiloSettings(): array`
- `public function saveApiloSettings(array $data): bool`
- `public function shoppro_sync_products(string $token): array`
- `public function shoppro_sync_orders(string $token): array`
- `public function shoppro_sync_order_statuses(string $token): array`
- `public function shoppro_mark_as_sent(string $token, int $orderId): array`
- `private function apiloRequest(string $method, string $url, string $accessToken, array $data = []): array`
---
### Domain\Languages\LanguagesRepository
File: `autoload/Domain/Languages/LanguagesRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'ASC', int $page = 1, int $perPage = 50): array`
- `public function find(int $langId): ?array`
- `public function save(array $data): ?int`
- `public function delete(string $langId): bool`
- `public function languagesList(bool $onlyActive = false): array`
- `public function activeLanguagesCount(): int`
- `public function defaultLanguage(): string`
- `public function getLanguageName(string $langId): string`
- `public function saveTranslation(string $langId, string $key, string $value): bool`
- `public function getTranslations(string $langId): array`
- `public function langsFront(): array`
- `public function translationsCached(string $langId): array`
---
### Domain\Layouts\LayoutsRepository
File: `autoload/Domain/Layouts/LayoutsRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $layoutId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $layoutId): bool`
- `public function allForSelect(): array`
- `public function getDefault(): ?array`
- `public function resolveLayoutForProduct(int $productId): ?array`
- `public function resolveLayoutForCategory(int $categoryId): ?array`
- `public function resolveLayoutForPage(int $pageId): ?array`
- `public function resolveLayoutForArticle(int $articleId): ?array`
- `public function resolveLayout(?int $layoutId): ?array`
- `private function toSwitchValue($value): int`
---
### Domain\Newsletter\NewsletterPreviewRenderer
File: `autoload/Domain/Newsletter/NewsletterPreviewRenderer.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function render(int $newsletterId): string`
---
### Domain\Newsletter\NewsletterRepository
File: `autoload/Domain/Newsletter/NewsletterRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $newsletterId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $newsletterId): bool`
- `public function listSubscribersForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function findSubscriber(int $subscriberId): ?array`
- `public function saveSubscriber(array $data): ?int`
- `public function deleteSubscriber(int $subscriberId): bool`
- `public function sendNewsletter(int $newsletterId): array`
- `public function saveSettings(array $data): bool`
- `public function getSettings(): array`
- `public function subscribe(string $email): array`
- `public function unsubscribe(string $email): array`
---
### Domain\Order\OrderAdminService
File: `autoload/Domain/Order/OrderAdminService.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function getOrderDetails(int $orderId): ?array`
- `public function saveOrder(array $data): ?int`
- `public function updateOrderStatus(int $orderId, int $statusId): bool`
- `public function deleteOrder(int $orderId): bool`
- `public function addProduct(int $orderId, int $productId, int $quantity, $permutationHash = null): bool`
- `public function removeProduct(int $orderId, int $orderProductId): bool`
- `public function updateProductQuantity(int $orderId, int $orderProductId, int $quantity): bool`
- `public function updateProductPrice(int $orderId, int $orderProductId, float $price): bool`
- `public function updateTransportCost(int $orderId, float $cost): bool`
- `public function generateInvoice(int $orderId): ?string`
- `public function sendToApilo(int $orderId): array`
- `public function apiloSyncStatus(int $orderId, string $accessToken): array`
---
### Domain\Order\OrderRepository
File: `autoload/Domain/Order/OrderRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $orderId): ?array`
- `public function findByApiloId(string $apiloId): ?array`
- `public function getOrderProducts(int $orderId): array`
- `public function getOrderHistory(int $orderId): array`
- `public function addHistoryEntry(int $orderId, string $message, ?int $statusId = null): void`
- `public function getLastOrderNumber(): int`
- `public function generateOrderNumber(): string`
- `public function createOrderFront(array $data): ?int`
- `public function updateOrderFromPayment(int $orderId, array $data): bool`
- `public function frontOrderList(int $clientId, int $page = 1, int $perPage = 10): array`
- `public function frontOrderDetails(int $orderId, int $clientId): ?array`
- `public function getOrdersForIntersection(): array`
- `public function updateIntersection(): void`
- `public function countOrdersToday(): int`
- `public function revenueToday(): float`
- `public function countOrdersByStatus(int $statusId): int`
- `public function getOrderNotes(int $orderId): array`
- `public function addOrderNote(int $orderId, string $note, ?int $userId = null): void`
---
### Domain\Pages\PagesRepository
File: `autoload/Domain/Pages/PagesRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $pageId): array`
- `public function save(array $data): ?int`
- `public function delete(int $pageId): bool`
- `public function toggleStatus(int $pageId): bool`
- `public function detailsForLanguage(int $pageId, string $langId): ?array`
- `public function menuItems(string $position, string $langId): array`
- `public function allPagesForSelect(): array`
- `public function allForMenu(): array`
- `public function frontPageDetails(int $pageId, string $langId): array`
- `public function frontPageDetailsBySeoLink(string $seoLink, string $langId): ?array`
- `public function frontMenuItemsCached(string $position, string $langId): array`
- `private function baseListSelect(): string`
- `private function translationsMap(int $pageId): array`
- `private function extractTranslations(array $data): array`
- `private function toSwitchValue($value): int`
- `private function defaultPage(): array`
- `private function clearFrontCache(int $pageId): void`
- `private function saveSeoRedirects(int $pageId, string $langId, string $newSeoLink, string $currentSeoLink): void`
---
### Domain\PaymentMethod\PaymentMethodRepository
File: `autoload/Domain/PaymentMethod/PaymentMethodRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'name', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array`
- `public function find(int $paymentMethodId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $paymentMethodId): bool`
- `public function allActive(): array`
- `public function allForAdmin(): array`
- `public function findActiveById(int $paymentMethodId): ?array`
- `public function findActiveByIdCached(int $paymentMethodId)`
- `public function allActiveCached(): array`
- `private function normalizePaymentMethod(array $pm): array`
- `private function toSwitchValue($value): int`
---
### Domain\Producer\ProducerRepository
File: `autoload/Domain/Producer/ProducerRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $producerId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $producerId): bool`
- `public function detailsForLanguage(int $producerId, string $langId): ?array`
- `public function allForSelect(): array`
- `public function allActiveFront(): array`
- `public function producerDetailsCached(int $producerId, string $langId): ?array`
- `public function producerProductsCached(int $producerId, string $langId, int $page = 1, int $limit = 12): array`
- `private function baseListSelect(): string`
- `private function translationsMap(int $producerId): array`
- `private function extractTranslations(array $data): array`
- `private function toSwitchValue($value): int`
---
### Domain\Product\ProductRepository
File: `autoload/Domain/Product/ProductRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function getQuantity(int $productId): ?int`
- `public function find(int $productId): ?array`
- `public function listArchivedForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function getPrice(int $productId): ?float`
- `public function getName(int $productId, string $langId): ?string`
- `public function updateQuantity(int $productId, int $quantity): bool`
- `public function unarchive(int $productId): bool`
- `public function archive(int $productId): bool`
- `public function allProductsForMassEdit(): array`
- `public function getProductsByCategory(int $categoryId): array`
- `public function applyDiscountPercent(int $productId, float $discountPercent): ?array`
- `public function countProducts(?array $where = null): int`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function findForAdmin(int $productId): ?array`
- `public function allProductsList(): array`
- `public function productCategoriesText(int $productId): string`
- `public function getParentId(int $productId): ?int`
- `public function productDefaultName(int $productId): ?string`
- `public function saveProduct(array $d, ?int $userId = null): ?int`
- `public function delete(int $productId): bool`
- `public function duplicate(int $productId, bool $withCombinations = false): bool`
- `public function toggleStatus(int $productId): bool`
- `public function updatePriceBrutto(int $productId, $price): bool`
- `public function updatePriceBruttoPromo(int $productId, $price): bool`
- `public function updateCustomLabel(int $productId, string $label, $value): bool`
- `public function getCombinationsForTable(int $productId): array`
- `public function getPermutations(int $productId): array`
- `public function generateCombinations(int $productId, array $attributes): bool`
- `public function deleteCombination(int $combinationId): bool`
- `public function countCombinations(int $productId): int`
- `public function saveCombinationStock0Buy(int $productId, $value): bool`
- `public function saveCombinationSku(int $productId, $sku): bool`
- `public function saveCombinationQuantity(int $productId, $quantity): bool`
- `public function saveCombinationPrice(int $productId, $priceNetto): bool`
- `public function deleteImage(int $imageId): bool`
- `public function updateImageAlt(int $imageId, string $alt): bool`
- `public function saveImagesOrder(int $productId, string $order): bool`
- `public function deleteNonassignedImages(): void`
- `public function deleteFile(int $fileId): bool`
- `public function updateFileName(int $fileId, string $name): bool`
- `public function deleteNonassignedFiles(): void`
- `public function getProductImages(int $productId): array`
- `public function saveXmlName(int $productId, string $xmlName, string $langId): bool`
- `public function customLabelSuggestions(string $customLabel, string $labelType): array`
- `public function saveCustomLabel(int $productId, string $customLabel, string $labelType): bool`
- `public function generateEAN(string $number): string`
- `public function generateGoogleFeedXml(): void`
- `public function updateCombinationPricesFromBase(int $productId, $priceBrutto, $vat, $priceBruttoPromo): void`
- `public function getSkuWithFallback(int $productId, bool $withParentFallback = false)`
- `public function getEanWithFallback(int $productId, bool $withParentFallback = false)`
- `public function isProductActiveCached(int $productId): int`
- `public function getMinimalPriceCached(int $productId, $priceBruttoPromo = null)`
- `public function productCategoriesFront(int $productId): array`
- `public function getProductNameCached(int $productId, string $langId)`
- `public function getFirstImageCached(int $productId)`
- `public function getWeightCached(int $productId)`
- `public function promotedProductIdsCached(int $limit = 6): array`
- `public function topProductIds(int $limit = 6): array`
- `public function newProductIds(int $limit = 10): array`
- `public function productDetailsFrontCached(int $productId, string $langId)`
- `public function getWarehouseMessageZero(int $productId, string $langId)`
- `public function getWarehouseMessageNonzero(int $productId, string $langId)`
- `public function findCustomFieldCached(int $customFieldId)`
- `public function findCached(int $productId, string $langId = null, string $permutationHash = null)`
- `public function isProductOnPromotion(int $productId): bool`
- `public function productSetsWhenAddToBasket(int $productId): string`
- `public function addVisit(int $productId): void`
- `public function getProductImg(int $productId)`
- `public function getProductUrl(int $productId): string`
- `public function searchProductsByNameCount(string $query, string $langId): int`
- `public function getProductsIdByName(string $query, string $langId, int $limit, int $from): array`
- `public function searchProductsByName(string $query, string $langId, int $page = 0): array`
- `public function searchProductByNameAjax(string $query, string $langId): array`
- `public function isStock0Buy(int $productId)`
- `public function getProductPermutationQuantityOptions(int $productId, $permutation)`
- `public function getProductIdByAttributes(int $parentId, array $attributes)`
- `public function getProductPermutationHash(int $productId)`
- `public function getProductAttributes($products)`
- `public function generateSkuCode(): string`
- `public function productMeta(int $productId): array`
- `public function generateSubtitleFromAttributes(string $permutationHash, string $langId = null): string`
- `public function getDefaultCombinationPrices(array $product): array`
- `public function getProductDataBySelectedAttributes(array $product, string $selectedAttribute): array`
- `public function productCategories(int $productId): array`
- `public static function arrayCartesian(array $input): array`
- `private function defaultLangId(): string`
- `private function saveLanguages(int $productId, array $d, bool $isNew): void`
- `private function handleSeoRedirects(int $productId, string $langId, string $newSeoLink, string $currentSeoLink): void`
- `private function saveCategories(int $productId, $categories): void`
- `private function saveRelatedProducts(int $productId, $products): void`
- `private function moveTemporaryFiles(int $productId): void`
- `private function moveTemporaryImages(int $productId): void`
- `private function saveCustomFields(int $productId, array $names, array $types, array $required): void`
- `private function cleanupDeletedFiles(int $productId): void`
- `private function cleanupDeletedImages(int $productId): void`
- `private function nullIfEmpty($value)`
- `private function appendCombinationToXml(\DOMDocument $doc, \DOMElement $channelNode, $product, $combination, string $domainPrefix, string $url): void`
- `private function appendProductToXml(\DOMDocument $doc, \DOMElement $channelNode, $product, string $domainPrefix, string $url): void`
- `private function appendImagesToXml(\DOMDocument $doc, \DOMElement $itemNode, $product, string $domainPrefix, string $url): void`
- `private function appendShippingToXml(\DOMDocument $doc, \DOMElement $itemNode, $product): void`
- `private function updateCombinationPrices(int $productId, float $priceNetto, float $vat, ?float $priceNettoPromo): void`
---
### Domain\ProductSet\ProductSetRepository
File: `autoload/Domain/ProductSet/ProductSetRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $setId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $setId): bool`
- `public function allForSelect(): array`
- `public function getProductsInSet(int $setId): array`
- `public function addProductToSet(int $setId, int $productId): bool`
- `public function removeProductFromSet(int $setId, int $productId): bool`
---
### Domain\Promotion\PromotionRepository
File: `autoload/Domain/Promotion/PromotionRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $promotionId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $promotionId): bool`
- `public function getProducts(int $promotionId): array`
- `public function addProducts(int $promotionId, array $productIds): void`
- `public function removeProduct(int $promotionId, int $productId): bool`
- `public function applyPromotions(): array`
- `public function revertPromotions(): array`
- `public function basketPromotionForTransport(array $basket): ?array`
- `public function basketPromotionForDiscount(array $basket): ?array`
- `public function activePromotionsForBasket(): array`
- `private function toSwitchValue($value): int`
---
### Domain\Scontainers\ScontainersRepository
File: `autoload/Domain/Scontainers/ScontainersRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters, string $sortColumn = 'id', string $sortDir = 'DESC', int $page = 1, int $perPage = 15): array`
- `public function find(int $containerId): array`
- `public function detailsForLanguage(int $containerId, string $langId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $containerId): bool`
- `public function frontScontainerDetails(int $scontainerId, string $langId): array`
- `private function baseListSelect(): string`
- `private function clearFrontCache(int $containerId): void`
- `private function translationsMap(int $containerId): array`
- `private function extractTranslations(array $data): array`
- `private function toSwitchValue($value): int`
- `private function defaultContainer(): array`
---
### Domain\Settings\SettingsRepository
File: `autoload/Domain/Settings/SettingsRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db = null)`
- `public function saveSettings(array $values): array`
- `public function updateSetting(string $param, $value): bool`
- `public function updateSettings(array $settings): bool`
- `public function getSettings(): array`
- `public function allSettings(bool $skipCache = false): array`
- `public function getSingleValue(string $param): string`
- `private function isEnabled($value): bool`
---
### Domain\ShopStatus\ShopStatusRepository
File: `autoload/Domain/ShopStatus/ShopStatusRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'id', string $sortDir = 'ASC', int $page = 1, int $perPage = 50): array`
- `public function find(int $statusId): ?array`
- `public function save(array $data): ?int`
- `public function delete(int $statusId): bool`
- `public function allForSelect(): array`
- `public function getStatusName(int $statusId): string`
- `public function findByApiloId(string $apiloId): ?array`
---
### Domain\Transport\TransportRepository
File: `autoload/Domain/Transport/TransportRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function listForAdmin(array $filters = [], string $sortColumn = 'name', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array`
- `public function find(int $transportId): ?array`
- `public function save(array $data): ?int`
- `public function allActive(): array`
- `public function findActiveById(int $transportId): ?array`
- `public function getApiloCarrierAccountId(int $transportId): ?int`
- `public function getTransportCost(int $transportId): ?float`
- `public function lowestTransportPrice(int $wp): ?float`
- `public function allForAdmin(): array`
- `public function transportMethodsFront($basket, $coupon): array`
- `public function transportCostCached($transportId)`
- `public function findActiveByIdCached($transportId)`
- `public function forPaymentMethod(int $paymentMethodId): array`
- `private function savePaymentMethodLinks(int $transportId, $paymentMethods): void`
- `private function normalizeTransport(array $transport): array`
- `private function toSwitchValue($value): int`
---
### Domain\Update\UpdateRepository
File: `autoload/Domain/Update/UpdateRepository.php`
Properties:
- `private $db`
Methods:
- `public function __construct($db)`
- `public function update(): array`
- `public function runPendingMigrations(): void`
- `public function update0197(): void`
- `private function downloadAndApply(string $ver, string $dir, array $log): array`
- `private function executeSql(string $sqlUrl, array $log): array`
- `private function deleteFiles(string $filesUrl, array $log): array`
- `private function extractZip(string $fileName, array $log): array`
- `private function saveLog(array $log): void`
---
### Domain\User\UserRepository
File: `autoload/Domain/User/UserRepository.php`
Properties:
- `private $db`
- `private const MAX_PER_PAGE = 100`
Methods:
- `public function __construct($db)`
- `public function getById(int $userId): ?array`
- `public function updateById(int $userId, array $data): bool`
- `public function verifyTwofaCode(int $userId, string $code): bool`
- `public function sendTwofaCode(int $userId, bool $resend = false): bool`
- `public function delete(int $userId): bool`
- `public function find(int $userId): ?array`
- `public function save(int $userId, string $login, $status, string $password, string $passwordRepeat, $admin, $twofaEnabled = 0, string $twofaEmail = ''): array`
- `public function checkLogin(string $login, int $userId): array`
- `public function logon(string $login, string $password): int`
- `public function details(string $login): ?array`
- `public function listForAdmin(array $filters, string $sortColumn = 'login', string $sortDir = 'ASC', int $page = 1, int $perPage = 15): array`
- `private function toSwitchValue($value): int`
---
## 2. admin/ — Warstwa administracyjna
### admin\App
File: `autoload/admin/App.php`
Properties:
- `private static array $newControllers`
Constants:
- `const APP_SECRET_KEY = 'c3cb2537d25c0efc9e573d059d79c3b8'`
Methods:
- `public static function finalize_admin_login(array $user, string $domain, string $cookie_name, bool $remember = false)`
- `public static function special_actions()`
- `public static function render(): string`
- `public static function route()`
- `private static function createController(string $moduleName)`
- `private static function getControllerFactories(): array`
- `public static function update()`
---
### admin\Controllers\ArticlesArchiveController
File: `autoload/admin/Controllers/ArticlesArchiveController.php`
Properties:
- `private ArticleRepository $repository`
Methods:
- `public function __construct(ArticleRepository $repository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function restore(): void`
- `public function article_restore(): void`
- `public function delete(): void`
- `public function article_delete(): void`
---
### admin\Controllers\ArticlesController
File: `autoload/admin/Controllers/ArticlesController.php`
Properties:
- `private ArticleRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private LayoutsRepository $layoutsRepository`
- `private PagesRepository $pagesRepository`
Methods:
- `public function __construct(ArticleRepository $repository, LanguagesRepository $languagesRepository, LayoutsRepository $layoutsRepository, PagesRepository $pagesRepository)`
- `public function list(): string`
- `public function galleryOrderSave(): void`
- `public function filesOrderSave(): void`
- `public function save(): void`
- `public function imageAltChange(): void`
- `public function fileNameChange(): void`
- `public function imageDelete(): void`
- `public function fileDelete(): void`
- `public function delete(): void`
- `public function edit(): string`
- `private function resolveSavePayload(): array`
- `private function buildFormViewModel(array $article, array $languages, array $menus, array $layouts): FormEditViewModel`
- `private function renderPagesTree(array $menus, array $article): string`
- `private function renderImagesBox(array $article): string`
- `private function renderFilesBox(array $article): string`
- `private function escapeHtml(string $value): string`
---
### admin\Controllers\BannerController
File: `autoload/admin/Controllers/BannerController.php`
Properties:
- `private BannerRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(BannerRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function delete(): void`
- `private function buildFormViewModel(array $banner, array $languages, ?array $errors = null): FormEditViewModel`
- `private function getFormId(): string`
---
### admin\Controllers\DashboardController
File: `autoload/admin/Controllers/DashboardController.php`
Properties:
- `private DashboardRepository $repository`
- `private ShopStatusRepository $statusesRepository`
Methods:
- `public function __construct(DashboardRepository $repository, ShopStatusRepository $statusesRepository)`
- `public function main_view(): string`
---
### admin\Controllers\DictionariesController
File: `autoload/admin/Controllers/DictionariesController.php`
Properties:
- `private DictionariesRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(DictionariesRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function delete(): void`
- `private function buildFormViewModel(array $unit, array $languages, ?array $errors = null): FormEditViewModel`
- `private function getFormId(): string`
---
### admin\Controllers\FilemanagerController
File: `autoload/admin/Controllers/FilemanagerController.php`
Properties: (brak)
Constants:
- `private const RFM_KEY_TTL = 1200`
- `private const FILEMANAGER_DIALOG_PATH = '/libraries/filemanager-9.14.2/dialog.php'`
Methods:
- `public function draw(): string`
- `private function ensureFilemanagerAccessKey(): string`
- `private function buildFilemanagerUrl(string $akey): string`
---
### admin\Controllers\IntegrationsController
File: `autoload/admin/Controllers/IntegrationsController.php`
Properties:
- `private IntegrationsRepository $repository`
Methods:
- `public function __construct(IntegrationsRepository $repository)`
- `public function apilo_settings(): string`
- `public function apilo_settings_save(): void`
- `public function apilo_authorization(): void`
- `public function get_platform_list(): void`
- `public function get_status_types_list(): void`
- `public function get_carrier_account_list(): void`
- `public function get_payment_types_list(): void`
- `public function apilo_create_product(): void`
- `public function apilo_product_search(): void`
- `public function apilo_product_select_save(): void`
- `public function apilo_product_select_delete(): void`
- `public function shoppro_settings(): string`
- `public function shoppro_settings_save(): void`
- `public function shoppro_product_import(): void`
- `private function fetchApiloListWithFeedback(string $type, string $label): void`
---
### admin\Controllers\LanguagesController
File: `autoload/admin/Controllers/LanguagesController.php`
Properties:
- `private LanguagesRepository $repository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(LanguagesRepository $repository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function language_edit(): string`
- `public function language_save(): void`
- `public function language_delete(): void`
- `public function translation_list(): string`
- `public function translation_edit(): string`
- `public function translation_save(): void`
- `public function translation_delete(): void`
- `private function buildLanguageFormViewModel(array $language, int $maxOrder, ?array $errors = null): FormEditViewModel`
- `private function buildTranslationFormViewModel(array $translation, array $languages, ?array $errors = null): FormEditViewModel`
- `private function extractLegacyTranslations(array $values, array $languages): array`
- `private function clearLanguageSessions(array $languages): void`
- `private function getLanguageFormId(): string`
- `private function getTranslationFormId(): string`
---
### admin\Controllers\LayoutsController
File: `autoload/admin/Controllers/LayoutsController.php`
Properties:
- `private LayoutsRepository $repository`
- `private LanguagesRepository $languagesRepository`
Methods:
- `public function __construct(LayoutsRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function delete(): void`
---
### admin\Controllers\NewsletterController
File: `autoload/admin/Controllers/NewsletterController.php`
Properties:
- `private NewsletterRepository $repository`
- `private NewsletterPreviewRenderer $previewRenderer`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(NewsletterRepository $repository, NewsletterPreviewRenderer $previewRenderer)`
- `public function list(): string`
- `public function view_list(): string`
- `public function emails_list(): string`
- `public function email_delete(): void`
- `public function delete(): void`
- `public function prepare(): string`
- `public function preview(): string`
- `public function send(): void`
- `public function settings(): string`
- `public function settings_save(): void`
- `public function email_templates_user(): string`
- `public function email_templates_admin(): string`
- `public function email_template_edit(): string`
- `public function template_save(): void`
- `public function email_template_delete(): void`
- `private function buildSettingsFormViewModel(array $settings, ?array $errors = null): FormEditViewModel`
- `private function buildTemplateFormViewModel(array $template, ?array $errors = null): FormEditViewModel`
- `private function templatesListViewModel(): PaginatedTableViewModel`
- `private function settingsFormId(): string`
- `private function templateFormId(int $templateId): string`
---
### admin\Controllers\PagesController
File: `autoload/admin/Controllers/PagesController.php`
Properties:
- `private PagesRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private LayoutsRepository $layoutsRepository`
Methods:
- `public function __construct(PagesRepository $repository, LanguagesRepository $languagesRepository, LayoutsRepository $layoutsRepository)`
- `public function list(): string`
- `public function browseList(): string`
- `public function pagesUrlBrowser(): string`
- `public function menuEdit(): string`
- `public function menuSave(): void`
- `private function buildMenuFormViewModel(array $menu): FormEditViewModel`
- `public function menuDelete(): void`
- `public function edit(): string`
- `public function save(): void`
- `private function buildPageFormViewModel(array $page, int $parentId, int $menuId, array $menus, array $layouts, array $languages): FormEditViewModel`
- `public function delete(): void`
- `public function pageArticles(): string`
- `public function savePagesOrder(): void`
- `public function saveArticlesOrder(): void`
- `public function generateSeoLink(): void`
- `public function cookieMenus(): void`
- `public function cookiePages(): void`
- `private function withPreviewUrls(array $pages, string $defaultLanguage): array`
- `private function cookieState(string $cookieName): array`
---
### admin\Controllers\ProductArchiveController
File: `autoload/admin/Controllers/ProductArchiveController.php`
Properties:
- `private ProductRepository $productRepository`
Methods:
- `public function __construct(ProductRepository $productRepository)`
- `public function list(): string`
- `public function unarchive(): void`
---
### admin\Controllers\ScontainersController
File: `autoload/admin/Controllers/ScontainersController.php`
Properties:
- `private ScontainersRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(ScontainersRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function edit(): string`
- `public function container_edit(): string`
- `public function save(): void`
- `public function container_save(): void`
- `public function delete(): void`
- `public function container_delete(): void`
- `private function buildFormViewModel(array $container, array $languages, ?array $errors = null): FormEditViewModel`
- `private function formId(): string`
---
### admin\Controllers\SettingsController
File: `autoload/admin/Controllers/SettingsController.php`
Properties:
- `private SettingsRepository $settingsRepository`
- `private LanguagesRepository $languagesRepository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(SettingsRepository $settingsRepository, LanguagesRepository $languagesRepository)`
- `public function clearCache(): void`
- `public function clearCacheAjax(): void`
- `public function globalSearchAjax(): void`
- `public function save(): void`
- `public function view(): string`
- `private function buildFormViewModel(array $settings, array $languages, ?array $errors = null): FormEditViewModel`
- `private function getFormId(): string`
- `private function transformSettingsToFormData(array $settings, array $languages): array`
- `private function transformFormDataToSettings(array $data): array`
---
### admin\Controllers\ShopAttributeController
File: `autoload/admin/Controllers/ShopAttributeController.php`
Properties:
- `private AttributeRepository $repository`
- `private LanguagesRepository $languagesRepository`
Methods:
- `public function __construct(AttributeRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function delete(): void`
- `public function values(): string`
- `public function values_save(): void`
- `public function value_row_tpl(): void`
- `private function validateValuesRows(array $rows, string $defaultLanguageId): array`
- `private function buildFormViewModel(array $attribute, array $languages): FormEditViewModel`
---
### admin\Controllers\ShopCategoryController
File: `autoload/admin/Controllers/ShopCategoryController.php`
Properties:
- `private CategoryRepository $repository`
- `private LanguagesRepository $languagesRepository`
Methods:
- `public function __construct(CategoryRepository $repository, LanguagesRepository $languagesRepository)`
- `public function view_list(): string`
- `public function list(): string`
- `public function category_edit(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function category_delete(): void`
- `public function delete(): void`
- `public function category_products(): string`
- `public function products(): string`
- `public function category_url_browser(): void`
- `public function save_categories_order(): void`
- `public function save_products_order(): void`
- `public function cookie_categories(): void`
---
### admin\Controllers\ShopClientsController
File: `autoload/admin/Controllers/ShopClientsController.php`
Properties:
- `private ClientRepository $repository`
Methods:
- `public function __construct(ClientRepository $repository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function details(): string`
- `public function clients_details(): string`
---
### admin\Controllers\ShopCouponController
File: `autoload/admin/Controllers/ShopCouponController.php`
Properties:
- `private CouponRepository $repository`
Methods:
- `public function __construct(CouponRepository $repository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function edit(): string`
- `public function coupon_edit(): string`
- `public function save(): void`
- `public function coupon_save(): void`
- `public function delete(): void`
- `public function coupon_delete(): void`
- `private function buildFormViewModel(array $coupon, array $categories): FormEditViewModel`
---
### admin\Controllers\ShopOrderController
File: `autoload/admin/Controllers/ShopOrderController.php`
Properties:
- `private OrderAdminService $service`
Methods:
- `public function __construct(OrderAdminService $service)`
- `public function list(): string`
- `public function view_list(): string`
- `public function details(): string`
- `public function order_details(): string`
- `public function edit(): string`
- `public function order_edit(): string`
- `public function save(): void`
- `public function order_save(): void`
- `public function notes_save(): void`
- `public function order_status_change(): void`
- `public function order_resend_confirmation_email(): void`
- `public function set_order_as_unpaid(): void`
- `public function set_order_as_paid(): void`
- `public function send_order_to_apilo(): void`
- `public function toggle_trustmate_send(): void`
- `public function delete(): void`
- `public function order_delete(): void`
- `private function formatDateTime(string $value): string`
---
### admin\Controllers\ShopPaymentMethodController
File: `autoload/admin/Controllers/ShopPaymentMethodController.php`
Properties:
- `private PaymentMethodRepository $repository`
Methods:
- `public function __construct(PaymentMethodRepository $repository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `private function buildFormViewModel(array $paymentMethod, array $apiloPaymentTypes): FormEditViewModel`
- `private function getApiloPaymentTypes(): array`
---
### admin\Controllers\ShopProducerController
File: `autoload/admin/Controllers/ShopProducerController.php`
Properties:
- `private ProducerRepository $repository`
- `private LanguagesRepository $languagesRepository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(ProducerRepository $repository, LanguagesRepository $languagesRepository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function edit(): string`
- `public function producer_edit(): string`
- `public function save(): void`
- `public function producer_save(): void`
- `public function delete(): void`
- `public function producer_delete(): void`
- `private function buildFormViewModel(array $producer, array $languages, ?array $errors = null): FormEditViewModel`
- `private function formId(): string`
- `private function toSwitchValue($value): int`
---
### admin\Controllers\ShopProductController
File: `autoload/admin/Controllers/ShopProductController.php`
Properties:
- `private ProductRepository $repository`
- `private IntegrationsRepository $integrationsRepository`
- `private LanguagesRepository $languagesRepository`
Methods:
- `public function __construct(ProductRepository $repository, IntegrationsRepository $integrationsRepository, LanguagesRepository $languagesRepository)`
- `public function view_list(): string`
- `public function product_edit(): string`
- `private function layoutsForProductEdit($db): array`
- `private function buildProductFormViewModel(array $product, array $languages, array $categories, array $layouts, array $products, array $sets, array $producers, array $units, $dlang): FormEditViewModel`
- `private function renderSkuField(array $product): string`
- `private function renderCategoriesTree(array $categories, array $product, $dlang): string`
- `private function renderGalleryBox(array $product): string`
- `private function renderFilesBox(array $product): string`
- `private function renderRelatedProducts(array $product, array $products, array $sets): string`
- `private function renderCustomFieldsBox(array $product): string`
- `private function escapeHtml(string $value): string`
- `private function resolveSavePayload(): array`
- `public function save(): void`
- `public function duplicate_product(): void`
- `public function product_archive(): void`
- `public function product_unarchive(): void`
- `public function product_delete(): void`
- `public function change_product_status(): void`
- `public function product_change_price_brutto(): void`
- `public function product_change_price_brutto_promo(): void`
- `public function product_change_custom_label(): void`
- `public function product_custom_label_suggestions(): void`
- `public function product_custom_label_save(): void`
- `public function ajax_product_url(): void`
- `public function generate_sku_code(): void`
- `public function product_combination(): string`
- `public function generate_combination(): void`
- `public function delete_combination(): void`
- `public function product_combination_stock_0_buy_save(): void`
- `public function product_combination_sku_save(): void`
- `public function product_combination_quantity_save(): void`
- `public function product_combination_price_save(): void`
- `public function delete_combination_ajax(): void`
- `public function image_delete(): void`
- `public function images_order_save(): void`
- `public function image_alt_change(): void`
- `public function product_file_delete(): void`
- `public function product_file_name_change(): void`
- `public function product_image_delete(): void`
- `public function mass_edit(): string`
- `public function mass_edit_save(): void`
- `public function get_products_by_category(): void`
---
### admin\Controllers\ShopProductSetsController
File: `autoload/admin/Controllers/ShopProductSetsController.php`
Properties:
- `private ProductSetRepository $repository`
Methods:
- `public function __construct(ProductSetRepository $repository)`
- `public function list(): string`
- `public function view_list(): string`
- `public function edit(): string`
- `public function set_edit(): string`
- `public function save(): void`
- `public function delete(): void`
- `public function set_delete(): void`
- `private function buildFormViewModel(array $set, array $products = []): FormEditViewModel`
- `private function toSwitchValue($value): int`
- `private function renderProductsSelect(array $products, array $selectedProducts): string`
---
### admin\Controllers\ShopPromotionController
File: `autoload/admin/Controllers/ShopPromotionController.php`
Properties:
- `private PromotionRepository $repository`
Methods:
- `public function __construct(PromotionRepository $repository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `public function delete(): void`
- `private function buildFormViewModel(array $promotion, array $categories): FormEditViewModel`
---
### admin\Controllers\ShopStatusesController
File: `autoload/admin/Controllers/ShopStatusesController.php`
Properties:
- `private ShopStatusRepository $repository`
Methods:
- `public function __construct(ShopStatusRepository $repository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `private function buildFormViewModel(array $status, array $apiloStatusList): FormEditViewModel`
- `private function getApiloStatusList(): array`
---
### admin\Controllers\ShopTransportController
File: `autoload/admin/Controllers/ShopTransportController.php`
Properties:
- `private TransportRepository $transportRepository`
- `private PaymentMethodRepository $paymentMethodRepository`
Methods:
- `public function __construct(TransportRepository $transportRepository, PaymentMethodRepository $paymentMethodRepository)`
- `public function list(): string`
- `public function edit(): string`
- `public function save(): void`
- `private function buildFormViewModel(array $transport, array $paymentMethods, array $apiloCarrierAccounts): FormEditViewModel`
- `private function getApiloCarrierAccounts(): array`
---
### admin\Controllers\UpdateController
File: `autoload/admin/Controllers/UpdateController.php`
Properties:
- `private UpdateRepository $repository`
Methods:
- `public function __construct(UpdateRepository $repository)`
- `public function main_view(): string`
- `public function update(): void`
- `public function updateAll(): void`
---
### admin\Controllers\UsersController
File: `autoload/admin/Controllers/UsersController.php`
Properties:
- `private UserRepository $repository`
- `private FormRequestHandler $formHandler`
Methods:
- `public function __construct(UserRepository $repository)`
- `public function user_delete(): void`
- `public function user_save(): void`
- `public function user_edit(): string`
- `public function view_list(): string`
- `public function list(): string`
- `public function login_form(): string`
- `public function twofa(): string`
- `private function normalizeUser(?array $user): array`
- `private function buildFormViewModel(array $user, ?array $errors = null): FormEditViewModel`
- `private function getFormId(): string`
- `private function isTwofaEmailValidForEnabled($twofaEnabled, string $twofaEmail): bool`
---
### admin\Support\TableListRequestFactory
File: `autoload/admin/Support/class.TableListRequestFactory.php`
Properties: (brak)
Constants:
- `public const DEFAULT_PER_PAGE_OPTIONS = [5, 10, 15, 25, 50, 100]`
- `public const DEFAULT_PER_PAGE = 15`
Methods:
- `public static function fromRequest(array $filterDefinitions, array $sortableColumns, string $defaultSortColumn = 'date_add', ?array $perPageOptions = null, ?int $defaultPerPage = null): array`
---
### admin\Support\Forms\FormFieldRenderer
File: `autoload/admin/Support/Forms/FormFieldRenderer.php`
Properties:
- `private FormEditViewModel $form`
Methods:
- `public function __construct(FormEditViewModel $form)`
- `public function renderField(FormField $field): string`
- `public function renderText(FormField $field): string`
- `public function renderNumber(FormField $field): string`
- `public function renderEmail(FormField $field): string`
- `public function renderPassword(FormField $field): string`
- `public function renderDate(FormField $field): string`
- `public function renderDatetime(FormField $field): string`
- `public function renderSwitch(FormField $field): string`
- `public function renderSelect(FormField $field): string`
- `public function renderTextarea(FormField $field): string`
- `public function renderEditor(FormField $field): string`
- `public function renderImage(FormField $field): string`
- `public function renderFile(FormField $field): string`
- `public function renderHidden(FormField $field): string`
- `public function renderColor(FormField $field): string`
- `public function renderCustom(FormField $field): string`
- `public function renderLangSection(FormField $section): string`
- `private function renderLangField(FormField $field, $languageId, string $sectionName): string`
- `private function generateFilemanagerUrl(string $fieldId): string`
- `private function wrapWithError(string $html, ?string $error): string`
---
### admin\Support\Forms\FormRequestHandler
File: `autoload/admin/Support/Forms/FormRequestHandler.php`
Properties:
- `private FormValidator $validator`
Methods:
- `public function __construct()`
- `public function handleSubmit(FormEditViewModel $formViewModel, array $postData): array`
- `private function processData(array $postData, array $fields): array`
- `private function processLangSection(array $postData, $section): array`
- `public function restoreFromPersist(FormEditViewModel $formViewModel): ?array`
- `public function isFormSubmit(string $formId): bool`
---
### admin\Validation\FormValidator
File: `autoload/admin/Validation/FormValidator.php`
Properties:
- `private array $errors`
Methods:
- `public function validate(array $data, array $fields, ?array $languages = null): array`
- `private function validateField(array $data, FormField $field): void`
- `private function validateLangSection(array $data, FormField $section, array $languages): void`
- `private function isEmpty($value): bool`
- `private function isValidDate(string $date): bool`
- `private function isValidDateTime(string $datetime): bool`
- `public function isValid(): bool`
- `public function getErrors(): array`
- `public function getFirstError(): ?string`
---
### admin\ViewModels\Common\PaginatedTableViewModel
File: `autoload/admin/ViewModels/Common/class.PaginatedTableViewModel.php`
Properties:
- `public array $columns`
- `public array $rows`
- `public array $filters`
- `public array $sort`
- `public array $pagination`
- `public array $query`
- `public array $perPageOptions`
- `public array $sortableColumns`
- `public string $basePath`
- `public string $emptyMessage`
- `public ?string $createUrl`
- `public ?string $createLabel`
- `public ?string $customScriptView`
Methods:
- `public function __construct(array $columns = [], array $rows = [], array $filters = [], array $sort = [], array $pagination = [], array $query = [], array $perPageOptions = [5, 10, 15, 25, 50, 100], array $sortableColumns = [], string $basePath = '', string $emptyMessage = 'Brak danych.', ?string $createUrl = null, ?string $createLabel = null, ?string $customScriptView = null)`
---
### admin\ViewModels\Forms\FormAction
File: `autoload/admin/ViewModels/Forms/FormAction.php`
Properties:
- `public string $name`
- `public string $label`
- `public string $type`
- `public string $url`
- `public ?string $backUrl`
- `public string $cssClass`
- `public array $attributes`
Methods:
- `public function __construct(string $name, string $label, string $url = '', ?string $backUrl = null, string $cssClass = 'btn btn-primary', string $type = 'submit', array $attributes = [])`
- `public static function save(string $url, string $backUrl = '', string $label = 'Zapisz'): self`
- `public static function cancel(string $backUrl, string $label = 'Anuluj'): self`
---
### admin\ViewModels\Forms\FormEditViewModel
File: `autoload/admin/ViewModels/Forms/FormEditViewModel.php`
Properties:
- `public string $formId`
- `public string $title`
- `public string $method`
- `public string $action`
- `public ?string $backUrl`
- `public array $tabs`
- `public array $fields`
- `public array $hiddenFields`
- `public array $actions`
- `public bool $persist`
- `public array $data`
- `public ?array $validationErrors`
- `public ?array $languages`
Methods:
- `public function __construct(string $formId, string $title, array $data = [], array $fields = [], array $tabs = [], array $actions = [], string $method = 'POST', string $action = '', ?string $backUrl = null, bool $persist = true, array $hiddenFields = [], ?array $languages = null, ?array $validationErrors = null)`
- `public function hasTabs(): bool`
- `public function hasLangSections(): bool`
- `public function getFieldsForTab(string $tabId): array`
- `public function getLangSectionsForTab(string $tabId): array`
- `public function getFieldValue(FormField $field, $languageId = null, ?string $langFieldName = null)`
- `public function hasError(string $fieldName, $languageId = null): bool`
- `public function getError(string $fieldName, $languageId = null): ?string`
- `public function clearPersist(): void`
- `public function saveToPersist(array $data): void`
---
### admin\ViewModels\Forms\FormField
File: `autoload/admin/ViewModels/Forms/FormField.php`
Properties:
- `public string $name`
- `public string $type`
- `public string $label`
- `public $value`
- `public string $tabId`
- `public bool $required`
- `public array $attributes`
- `public array $options`
- `public ?string $helpText`
- `public ?string $placeholder`
- `public ?string $id`
- `public bool $useFilemanager`
- `public ?string $filemanagerUrl`
- `public string $editorToolbar`
- `public int $editorHeight`
- `public ?array $langFields`
- `public ?string $langSectionParentTab`
- `public ?string $customHtml`
Methods:
- `public function __construct(string $name, string $type = FormFieldType::TEXT, string $label = '', $value = null, string $tabId = 'default', bool $required = false, array $attributes = [], array $options = [], ?string $helpText = null, ?string $placeholder = null, bool $useFilemanager = false, ?string $filemanagerUrl = null, string $editorToolbar = 'MyTool', int $editorHeight = 300, ?array $langFields = null, ?string $langSectionParentTab = null, ?string $customHtml = null)`
- `public static function text(string $name, array $config = []): self`
- `public static function number(string $name, array $config = []): self`
- `public static function email(string $name, array $config = []): self`
- `public static function password(string $name, array $config = []): self`
- `public static function date(string $name, array $config = []): self`
- `public static function datetime(string $name, array $config = []): self`
- `public static function switch(string $name, array $config = []): self`
- `public static function select(string $name, array $config = []): self`
- `public static function textarea(string $name, array $config = []): self`
- `public static function editor(string $name, array $config = []): self`
- `public static function image(string $name, array $config = []): self`
- `public static function file(string $name, array $config = []): self`
- `public static function color(string $name, array $config = []): self`
- `public static function hidden(string $name, $value = null): self`
- `public static function custom(string $name, string $html, array $config = []): self`
- `public static function langSection(string $name, string $parentTab, array $fields): self`
- `public function getLocalizedName($languageId): string`
- `public function getLocalizedId($languageId): string`
---
### admin\ViewModels\Forms\FormFieldType
File: `autoload/admin/ViewModels/Forms/FormFieldType.php`
Properties: (brak)
Constants:
- `public const TEXT = 'text'`
- `public const NUMBER = 'number'`
- `public const EMAIL = 'email'`
- `public const PASSWORD = 'password'`
- `public const DATE = 'date'`
- `public const DATETIME = 'datetime'`
- `public const SWITCH = 'switch'`
- `public const SELECT = 'select'`
- `public const TEXTAREA = 'textarea'`
- `public const EDITOR = 'editor'`
- `public const IMAGE = 'image'`
- `public const FILE = 'file'`
- `public const HIDDEN = 'hidden'`
- `public const LANG_SECTION = 'lang_section'`
- `public const CUSTOM = 'custom'`
- `public const COLOR = 'color'`
Methods: (brak — klasa ze stałymi)
---
### admin\ViewModels\Forms\FormTab
File: `autoload/admin/ViewModels/Forms/FormTab.php`
Properties:
- `public string $id`
- `public string $label`
- `public string $icon`
- `public ?string $parentTabId`
Methods:
- `public function __construct(string $id, string $label, string $icon = '', ?string $parentTabId = null)`
---
## 3. front/ — Warstwa frontendowa
### front\App
File: `autoload/front/App.php`
Properties: (brak)
Methods:
- `static public function pageTitle()`
- `static public function title()`
- `public static function route($product = '', $category = '')`
- `public static function checkUrlParams()`
- `public static function getControllerFactories()`
---
### front\LayoutEngine
File: `autoload/front/LayoutEngine.php`
Properties (regex constants):
- `const menu_pattern = '/MENU:[0-9]*/'`
- `const menu_main_pattern = '/MENU_GLOWNE:[0-9]*/'`
- `const container_pattern = '/KONTENER:[0-9]*/'`
- `const language_pattern = '/LANG:[a-zA-Z0-9_-]*/'`
- `const products_promoted = '/PROMOWANE_PRODUKTY((:([0-9]*))?)/`
- `const news_pattern = '/AKTUALNOSCI:([0-9]*)((:([0-9]*))?)/`
- `const article_products_category_pattern = '/PRODUKTY_KATEGORIA:([0-9]*)((:([0-9]*))?)/`
- `const news_list_pattern = '/AKTUALNOSCI_LISTA:([0-9]*)((:([0-9]*))?)/`
- `const top_news_pattern = '/NAJPOULARNIEJSZE_ARTYKULY:([0-9]*)((:([0-9]*))?)/`
- `const single_product_pattern = '/PRODUKT:[0-9]*/'`
- `const products_box = '/PRODUKTY_BOX:[0-9,]*/'`
- `const produkty_top = '/PRODUKTY_TOP((:([0-9]*))?)/`
- `const produkty_new = '/PRODUKTY_NEW((:([0-9]*))?)/`
Methods:
- `public static function show()`
- `public static function facebook($facebook_link)`
- `static public function title($title, $show_title, $page_title)`
- `public static function alert()`
- `public static function copyright()`
- `public static function contact()`
- `public static function cookieInformation()`
---
### front\Controllers\NewsletterController
File: `autoload/front/Controllers/NewsletterController.php`
Properties:
- `private NewsletterRepository $repository`
Methods:
- `public function __construct(NewsletterRepository $repository)`
- `public function signin()`
- `public function confirm()`
- `public function unsubscribe()`
---
### front\Controllers\SearchController
File: `autoload/front/Controllers/SearchController.php`
Properties: (brak)
Methods:
- `public function searchResults()`
- `public function searchProducts()`
---
### front\Controllers\ShopBasketController
File: `autoload/front/Controllers/ShopBasketController.php`
Properties:
- `public static $title = ['mainView' => 'Koszyk']`
- `private $orderRepository`
- `private $paymentMethodRepository`
Methods:
- `public function __construct(\Domain\Order\OrderRepository $orderRepository, \Domain\PaymentMethod\PaymentMethodRepository $paymentMethodRepository)`
- `public function basketMessageSave()`
- `public function basketRemoveProduct()`
- `public function basketIncreaseQuantityProduct()`
- `public function basketDecreaseQuantityProduct()`
- `public function basketChangeQuantityProduct()`
- `public function productMessageChange()`
- `public function basketAddProduct()`
- `public function transportMethodInpostCheck()`
- `public function inpostCheck()`
- `public function orlenSave()`
- `public function inpostSave()`
- `public function basketPaymentMethodSet()`
- `public function basketTransportMethodSet()`
- `public function basketPaymentsMethods()`
- `public function summaryView()`
- `public function basketSave()`
- `public function mainView()`
- `private function jsonBasketResponse($basket, $coupon, $lang_id, $basket_transport_method_id)`
---
### front\Controllers\ShopClientController
File: `autoload/front/Controllers/ShopClientController.php`
Properties:
- `private $clientRepo`
Methods:
- `public function __construct(ClientRepository $clientRepo)`
- `public function markAddressAsCurrent()`
- `public function addressDelete()`
- `public function addressEdit()`
- `public function addressSave()`
- `public function clientAddresses()`
- `public function clientOrders()`
- `public function newPassword()`
- `public function sendEmailPasswordRecovery()`
- `public function recoverPassword()`
- `public function logout()`
- `public function login()`
- `public function confirm()`
- `public function signup()`
- `public function loginForm()`
- `public function registerForm()`
- `private function buildEmailBody(string $templateName, array $replacements = []): string`
---
### front\Controllers\ShopCouponController
File: `autoload/front/Controllers/ShopCouponController.php`
Properties:
- `private CouponRepository $repository`
Methods:
- `public function __construct(CouponRepository $repository)`
- `public function useCoupon()`
- `public function deleteCoupon()`
---
### front\Controllers\ShopOrderController
File: `autoload/front/Controllers/ShopOrderController.php`
Properties:
- `private $repository`
- `private $adminService`
Methods:
- `public function __construct(OrderRepository $repository, OrderAdminService $adminService)`
- `public function paymentConfirmation()`
- `public function paymentStatusTpay()`
- `public function paymentStatusPrzelewy24pl()`
- `public function paymentStatusHotpay()`
- `public function orderDetails()`
---
### front\Controllers\ShopProducerController
File: `autoload/front/Controllers/ShopProducerController.php`
Properties:
- `private ProducerRepository $repository`
Methods:
- `public function __construct(ProducerRepository $repository)`
- `public function products()`
- `public function list()`
---
### front\Controllers\ShopProductController
File: `autoload/front/Controllers/ShopProductController.php`
Properties:
- `private $categoryRepository`
Methods:
- `public function __construct(\Domain\Category\CategoryRepository $categoryRepository)`
- `public function lazyLoadingProducts()`
- `public function warehouseMessage()`
- `public function drawProductAttributes()`
- `private static function getPermutation($attributes)`
- `private static function getPermutationQuantity($productId, $permutation)`
---
### front\Views\Articles
File: `autoload/front/Views/Articles.php`
Properties: (brak)
Methods:
- `public static function fullArticle($article)`
- `public static function miniatureArticlesList($articles, $ls, $bs, $page)`
- `public static function entryArticlesList($articles, $ls, $bs, $page)`
- `public static function fullArticlesList($articles, $ls, $bs, $page)`
- `public static function news($page_id, $articles)`
- `public static function newsList($articles)`
- `public static function generateTableOfContents($content)`
- `public static function processHeaders($matches)`
- `public static function generateHeadersIds($text)`
- `public static function getImage($article)`
---
### front\Views\Banners
File: `autoload/front/Views/Banners.php`
Properties: (brak)
Methods:
- `public static function banners($banners)`
- `public static function mainBanner($banner)`
---
### front\Views\Languages
File: `autoload/front/Views/Languages.php`
Properties: (brak)
Methods:
- `public static function render($languages)`
---
### front\Views\Menu
File: `autoload/front/Views/Menu.php`
Properties: (brak)
Methods:
- `public static function pages($pages, $level = 0, $current_page = 0)`
- `public static function menu($menu, $current_page)`
---
### front\Views\Newsletter
File: `autoload/front/Views/Newsletter.php`
Properties: (brak)
Methods:
- `public static function render()`
---
### front\Views\Scontainers
File: `autoload/front/Views/Scontainers.php`
Properties: (brak)
Methods:
- `public static function scontainer($scontainer)`
---
### front\Views\ShopCategory
File: `autoload/front/Views/ShopCategory.php`
Properties: (brak)
Methods:
- `public static function categoryDescription($category): string`
- `public static function categoryView($category, string $langId, int $currentPage = 1): string`
- `public static function categories($categories, $currentCategory = 0, $level = 0): string`
---
### front\Views\ShopClient
File: `autoload/front/Views/ShopClient.php`
Properties: (brak)
Methods:
- `public static function addressEdit($values): string`
- `public static function clientAddresses($values): string`
- `public static function clientMenu($values): string`
- `public static function clientOrders($values): string`
- `public static function recoverPassword(): string`
- `public static function miniLogin(): string`
- `public static function loginForm($values = ''): string`
- `public static function registerForm(): string`
---
### front\Views\ShopPaymentMethod
File: `autoload/front/Views/ShopPaymentMethod.php`
Properties: (brak)
Methods:
- `public static function basketPaymentMethods($payment_methods, $payment_id)`
---
### front\Views\ShopProduct
File: `autoload/front/Views/ShopProduct.php`
Properties: (brak)
Methods:
- `public static function productUrl($product)`
---
### front\Views\ShopSearch
File: `autoload/front/Views/ShopSearch.php`
Properties: (brak)
Methods:
- `public static function simpleForm()`
---
## 4. Shared/ — Klasy współdzielone
### Shared\Cache\CacheHandler
File: `autoload/Shared/Cache/CacheHandler.php`
Properties:
- `protected $redis`
Methods:
- `public function __construct()`
- `public function get($key)`
- `public function set($key, $value, $ttl = 86400)`
- `public function exists($key)`
- `public function delete($key)`
- `public function deletePattern($pattern)`
---
### Shared\Cache\RedisConnection
File: `autoload/Shared/Cache/RedisConnection.php`
Properties:
- `private static $instance = null`
- `private $redis`
Methods:
- `private function __construct()`
- `public static function getInstance()`
- `public function getConnection()`
---
### Shared\Email\Email
File: `autoload/Shared/Email/Email.php`
Properties:
- `public $table = 'pp_newsletter_templates'`
Methods:
- `public function load_by_name(string $name)`
- `public function email_check($email)`
- `public function send(string $email, string $subject, bool $newsletter_headers = false, string $file = null)`
---
### Shared\Helpers\Helpers
File: `autoload/Shared/Helpers/Helpers.php`
Properties: (brak — wszystkie metody statyczne)
Methods:
- `static function canAddRedirect($from, $to, $lang_id = null)`
- `static public function clear_product_cache(int $product_id)`
- `static public function remove_special_chars($string)`
- `static public function removeDuplicates($array, $param)`
- `static public function generate_webp_image($file, $compression_quality = 85)`
- `public static function is_array_fix($value)`
- `public static function delete_cache()`
- `public static function pretty_date($format, $timestamp = null)`
- `public static function lang($text)`
- `public static function array_cartesian_product($input)`
- `static public function normalize_decimal($val, int $precision = 2)`
- `public static function decimal($val, $precision = 2, $dec_point = ',', $thousands_sep = ' ')`
- `public static function get_new_version()`
- `public static function get_version()`
- `public static function set_session($var, $val)`
- `public static function get_session($var)`
- `public static function delete_session($var)`
- `public static function get($var, $clear = false)`
- `public static function set_message($text)`
- `public static function alert($text)`
- `public static function error($text)`
- `public static function htacces($dir = '../')`
- `public static function seo($val, $delete_rhombs = false)`
- `public static function noPL($string)`
- `public static function delete_dir($dir)`
- `public static function email_check($email)`
- `public static function send_email($email, $subject, $text, $replay = '', $file = '')`
- `public static function shortPrice($price)`
- `public static function isWholeNumber($value)`
---
### Shared\Html\Html
File: `autoload/Shared/Html/Html.php`
Properties: (brak — wszystkie metody statyczne)
Methods:
- `public static function form_text(array $params = array())`
- `public static function input_switch(array $params = array())`
- `public static function select(array $params = array())`
- `public static function textarea(array $params = array())`
- `public static function input_icon(array $params = array())`
- `public static function input(array $params = array())`
- `public static function button(array $params = array())`
- `public static function panel(array $params = array())`
---
### Shared\Image\ImageManipulator
File: `autoload/Shared/Image/ImageManipulator.php`
Properties:
- `protected int $width`
- `protected int $height`
- `protected $image`
- `protected ?string $file = null`
Methods:
- `public function __construct(?string $file = null)`
- `public function setImageFile(string $file): self`
- `public function setImageString(string $data): self`
- `public function resample(int $width, int $height, bool $constrainProportions = true): self`
- `public function enlargeCanvas(int $width, int $height, array $rgb = [], ?int $xpos = null, ?int $ypos = null): self`
- `public function crop($x1, int $y1 = 0, int $x2 = 0, int $y2 = 0): self`
- `protected function _replace($res): self`
- `public function save(string $fileName, ?int $type = null): void`
- `public function getResource()`
- `public function getWidth(): int`
- `public function getHeight(): int`
- `public function __destruct()`
- `private function isValidImageResource($image): bool`
---
### Shared\Tpl\Tpl
File: `autoload/Shared/Tpl/Tpl.php`
Properties:
- `protected $vars = array()`
Methods:
- `public static function view($file, $values = '')`
- `public function secureHTML($val)`
- `public function render($file)`
- `private function renderFile($path)`
- `public function __set($name, $value)`
- `public function __get($name)`
---
## Podsumowanie
| Warstwa | Pliki | Klasy | Metody (przybliżone) |
|---------|-------|-------|----------------------|
| Domain/ | 29 | 29 | ~435 |
| admin/ | 39 | 39 | ~340 |
| front/ | 21 | 21 | ~85 |
| Shared/ | 7 | 7 | ~63 |
| **Razem** | **96** | **96** | **~923** |
### Największe klasy (wg liczby metod)
1. `Domain\Product\ProductRepository` — ~88 metod
2. `admin\Controllers\ShopProductController` — ~42 metody
3. `Shared\Helpers\Helpers` — 29 metod
4. `Domain\Attribute\AttributeRepository` — 28 metod
5. `Domain\Category\CategoryRepository` — 21 metod
6. `admin\Support\Forms\FormFieldRenderer` — 21 metod
7. `admin\Controllers\NewsletterController` — 21 metod
8. `Domain\Order\OrderRepository` — 20 metod
9. `admin\Controllers\PagesController` — 20 metod
10. `admin\ViewModels\Forms\FormField` — 19 metod