feat: moneta 2.0, MONETA.Assistant payment module for PHPShop 6.7+

This commit is contained in:
2026-10-27 11:45:22 +03:00
parent 78b7405637
commit f8c12ce44a
82 changed files with 7387 additions and 58 deletions
+42
View File
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);
namespace MonetaPhpShop\order;
/**
* Ñïèñîê ñòàòóñîâ çàêàçà äëÿ âûïàäàþùèõ ñïèñêîâ íàñòðîåê («Îïëàòà ïðè ñòàòóñå»,
* «Ñòàòóñ ïîñëå îïëàòû») â ôîðìàòå `PHPShopGUI::setSelect()`: `[ïîäïèñü, çíà÷åíèå, òåêóùåå]`.
* Ñòàòóñû ìàãàçèíà ÷èòàåò àäìèíêà ìîäóëÿ èç `PHPShopOrderStatusArray`; çäåñü — òîëüêî ñáîðêà.
*/
final class OrderStatusOptions
{
private function __construct() {}
/**
* Ïåðâûì èä¸ò çàäàííûé ïóíêò, çà íèì ñòàòóñû ìàãàçèíà. Ñòàòóñ ñ òåì æå çíà÷åíèåì, ÷òî
* ó ïåðâîãî ïóíêòà, ïðîïóñêàåòñÿ: «Îïëà÷åíî ïëàòåæíûìè ñèñòåìàìè» (101) ÿäðî ñîçäà¸ò
* êàê îáû÷íûé ñòàòóñ, è áåç ýòîãî îí ïîïàë áû â ñïèñîê äâàæäû.
*
* @param array<mixed> $statuses ñòàòóñû ìàãàçèíà: ñòðîêè ñ êëþ÷àìè `id` è `name`
* @param int $current çíà÷åíèå èç íàñòðîåê — ïóíêò ñ íèì áóäåò âûáðàí
*
* @return array<int, array{0: string, 1: int, 2: int}>
*/
public static function build(array $statuses, int $current, string $firstLabel, int $firstValue): array
{
$options = [[$firstLabel, $firstValue, $current]];
foreach ($statuses as $status) {
if (!is_array($status) || !isset($status['id'], $status['name'])) {
continue;
}
$id = (int) $status['id'];
if ($id !== $firstValue) {
$options[] = [(string) $status['name'], $id, $current];
}
}
return $options;
}
}