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