47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
<?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',
|
|
];
|