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
+46
View File
@@ -0,0 +1,46 @@
<?php
declare(strict_types=1);
/**
* Õóê PHPShopDone::send_to_order(): ïîñëå çàïèñè çàêàçà ïîêàçûâàåò êàðòî÷êó îïëàòû ïî øàáëîíó
* `templates/payment_forma.tpl` âìåñòî øòàòíîãî ñîîáùåíèÿ (`orderMesage`). Øàáëîí è ÷àñòè
* áëîêà — â cp1251; íà UTF-8-ìàãàçèíå ãîòîâûé áëîê ïåðåêîäèðóåòñÿ îäèí ðàç.
*
* @param PHPShopDone $obj
* @param array<string, mixed> $value $_POST ôîðìû çàêàçà
* @param string $rout òî÷êà ïåðåõâàòà: START | MIDDLE | END
*/
function send_to_order_mod_moneta_hook($obj, $value, $rout)
{
require_once dirname(__DIR__) . '/class/autoload.php';
if (($rout !== 'END') || empty($obj->orderId)) {
return null;
}
if ((int) ($value['order_metod'] ?? 0) !== \MonetaPhpShop\ModuleInfo::PAYMENT_METHOD_ID) {
return null;
}
$block = \MonetaPhpShop\host\CheckoutView::create()->afterCheckout((int) $obj->orderId);
if ($block->isEmpty()) {
$obj->set('orderMesage', '');
return null;
}
$obj->set('payment_info', $block->getInfo());
$obj->set('payment_info_hide', $block->getInfo() === '' ? 'moneta-hide' : '');
$obj->set('payment_forma', $block->getForm());
$obj->set('moneta_total', $block->getTotal());
$obj->set('moneta_total_hide', $block->getTotal() === '' ? 'moneta-hide' : '');
$html = ParseTemplateReturn($GLOBALS['SysValue']['templates']['moneta']['moneta_payment_forma'], true);
$obj->set('orderMesage', \MonetaPhpShop\host\HostCharset::toPage((string) $html));
return null;
}
$addHandler = [
'send_to_order' => 'send_to_order_mod_moneta_hook',
];