feat: moneta 2.0, MONETA.Assistant payment module for PHPShop 6.7+
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user