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
+49
View File
@@ -0,0 +1,49 @@
<?php
declare(strict_types=1);
namespace MonetaPhpShop\host;
use MonetaPhpShop\ModuleInfo;
use MonetaPhpShop\Settings;
use PHPShopOrm;
use RuntimeException;
/**
* Íàñòðîéêè ìîäóëÿ èç òàáëèöû `[base] moneta_system` åãî `inc/config.ini`.
*/
final class SettingsRepository
{
public function load(): Settings
{
$orm = new PHPShopOrm(self::table());
$orm->debug = false;
$row = $orm->select(['*'], false, false, ['limit' => 1]);
if (!is_array($row)) {
throw new RuntimeException('Íåò ñòðîêè íàñòðîåê ìîäóëÿ.');
}
return Settings::fromRow($row);
}
/**
* Ñòðîêà íàñòðîåê åù¸ îò âñòðîåííîãî ìîäóëÿ PHPShop: ôàéëû çàìåíåíû, à «Îáíîâèòü ìîäóëü»
* (ìèãðàöèÿ `updates/1.2/`) íå íàæàòà — íîâûõ êîëîíîê â òàáëèöå íåò.
*
* @param array<string, mixed> $row ñòðîêà òàáëèöû íàñòðîåê
*/
public static function needsUpgrade(array $row): bool
{
return !array_key_exists('account_id', $row);
}
public static function table(): string
{
$table = $GLOBALS['SysValue']['base'][ModuleInfo::PATH]['moneta_system'] ?? null;
if (!is_string($table) || ($table === '')) {
throw new RuntimeException('Ìîäóëü íå óñòàíîâëåí: íåò òàáëèöû íàñòðîåê â êîíôèãóðàöèè.');
}
return $table;
}
}