- Created `Articles` class for rendering article views including full articles, miniature lists, and news sections. - Added `Banners` class for handling banner displays. - Introduced `Languages` class for rendering language options. - Implemented `Menu` class for rendering page and menu structures. - Developed `Newsletter` class for newsletter rendering. - Created `Scontainers` class for rendering specific containers. - Added `ShopCategory` class for managing shop category views and pagination. - Implemented `ShopClient` class for client-related views including address management and login forms. - Created `ShopPaymentMethod` class for displaying payment methods in the basket. - Added `ShopProduct` class for generating product URLs. - Introduced `ShopSearch` class for rendering a simple search form. - Added `.htaccess` file in the plugins directory to enhance security by restricting access to sensitive files and directories.
83 lines
2.0 KiB
PHP
83 lines
2.0 KiB
PHP
<?php
|
|
namespace api\Controllers;
|
|
|
|
use api\ApiRouter;
|
|
use Domain\ShopStatus\ShopStatusRepository;
|
|
use Domain\Transport\TransportRepository;
|
|
use Domain\PaymentMethod\PaymentMethodRepository;
|
|
|
|
class DictionariesApiController
|
|
{
|
|
private $statusRepo;
|
|
private $transportRepo;
|
|
private $paymentRepo;
|
|
|
|
public function __construct(
|
|
ShopStatusRepository $statusRepo,
|
|
TransportRepository $transportRepo,
|
|
PaymentMethodRepository $paymentRepo
|
|
) {
|
|
$this->statusRepo = $statusRepo;
|
|
$this->transportRepo = $transportRepo;
|
|
$this->paymentRepo = $paymentRepo;
|
|
}
|
|
|
|
public function statuses(): void
|
|
{
|
|
if (!ApiRouter::requireMethod('GET')) {
|
|
return;
|
|
}
|
|
|
|
$statuses = $this->statusRepo->allStatuses();
|
|
|
|
$result = [];
|
|
foreach ($statuses as $id => $name) {
|
|
$result[] = [
|
|
'id' => (int)$id,
|
|
'name' => (string)$name,
|
|
];
|
|
}
|
|
|
|
ApiRouter::sendSuccess($result);
|
|
}
|
|
|
|
public function transports(): void
|
|
{
|
|
if (!ApiRouter::requireMethod('GET')) {
|
|
return;
|
|
}
|
|
|
|
$transports = $this->transportRepo->allActive();
|
|
|
|
$result = [];
|
|
foreach ($transports as $transport) {
|
|
$result[] = [
|
|
'id' => (int)($transport['id'] ?? 0),
|
|
'name' => (string)($transport['name_visible'] ?? $transport['name'] ?? ''),
|
|
'cost' => (float)($transport['cost'] ?? 0),
|
|
];
|
|
}
|
|
|
|
ApiRouter::sendSuccess($result);
|
|
}
|
|
|
|
public function payment_methods(): void
|
|
{
|
|
if (!ApiRouter::requireMethod('GET')) {
|
|
return;
|
|
}
|
|
|
|
$methods = $this->paymentRepo->allActive();
|
|
|
|
$result = [];
|
|
foreach ($methods as $method) {
|
|
$result[] = [
|
|
'id' => (int)($method['id'] ?? 0),
|
|
'name' => (string)($method['name'] ?? ''),
|
|
];
|
|
}
|
|
|
|
ApiRouter::sendSuccess($result);
|
|
}
|
|
}
|