<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("sale")) { return; } $arPaySys = array("0" => GetMessage("SOPR_CHOOSE_PC")); $dbPaySystem = \Bitrix\Sale\PaySystem\Manager::getList(array('filter' => array('ACTIVE' => 'Y', 'HAVE_RESULT_RECEIVE' => 'Y'), 'order' => array('SORT' => 'ASC', 'PSA_NAME' => 'ASC'))); while ($paySystem = $dbPaySystem->fetch()) { $arPaySys[$paySystem["ID"]] = $paySystem["NAME"]; } if (!isset($arCurrentValues["PAY_SYSTEM_ID_NEW"])) { $newId = \CSalePaySystem::getNewIdsFromOld($arCurrentValues["PAY_SYSTEM_ID"], $arCurrentValues['PERSON_TYPE_ID']); $currentValue = current($newId); } else { $currentValue = $arCurrentValues["PAY_SYSTEM_ID_NEW"]; } $arComponentParameters = array("PARAMETERS" => array("PAY_SYSTEM_ID_NEW" => array("NAME" => GetMessage("SOPR_PC"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => $arPaySys, "COLS" => 25, "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE", "DEFAULT" => $currentValue)));
} else { $errorMessage .= Loc::getMessage('SALE_PSE_ERROR_SET_BIZVAL_MAP'); } } } if ($errorMessage === '') { if (strlen($request->get('apply')) > 0) { LocalRedirect("sale_pay_system_edit.php?ID=" . $id . "&lang=" . $context->getLanguage() . "&" . $tabControl->ActiveTabParam()); } else { LocalRedirect("sale_pay_system.php?lang=" . $context->getLanguage()); } } } $paySystem = array(); if ($id > 0) { $dbRes = \Bitrix\Sale\PaySystem\Manager::getList(array('filter' => array('ID' => $id), 'order' => array("SORT" => "ASC"))); $paySystem = $dbRes->fetch(); } require_once $documentRoot . "/bitrix/modules/sale/prolog.php"; $APPLICATION->SetTitle($id > 0 ? Loc::getMessage("SALE_EDIT_RECORD", array("#ID#" => $id)) : Loc::getMessage("SALE_NEW_RECORD")); $restrictionsHtml = ''; if ($id > 0 && $request->getRequestMethod() !== 'POST') { ob_start(); require_once $documentRoot . "/bitrix/modules/sale/admin/pay_system_restrictions_list.php"; $restrictionsHtml = ob_get_contents(); ob_end_clean(); } require $documentRoot . "/bitrix/modules/main/include/prolog_admin_after.php"; ?> <?php
:</td> <td> <?php $ptRes = Sale\Internals\PersonTypeTable::getList(array('order' => array("SORT" => "ASC", "NAME" => "ASC"))); $personTypes = array(); while ($personType = $ptRes->fetch()) { $personTypes[$personType['ID']] = $personType; } ?> <select name="filter_pay_system[]" multiple size="3"> <option value=""><?php echo GetMessage("SALE_F_ALL"); ?> </option> <?php $res = \Bitrix\Sale\PaySystem\Manager::getList(array('select' => array('ID', 'NAME'), 'filter' => array('ACTIVE' => 'Y'), 'order' => array("SORT" => "ASC", "NAME" => "ASC"))); $paySystemList = array(); while ($paySystem = $res->fetch()) { $paySystemList[$paySystem['ID']]['NAME'] = $paySystem['NAME']; } if ($paySystemList) { $dbRestRes = Sale\Services\PaySystem\Restrictions\Manager::getList(array('select' => array('SERVICE_ID', 'PARAMS'), 'filter' => array('=CLASS_NAME' => '\\Bitrix\\Sale\\Services\\PaySystem\\Restrictions\\PersonType', 'SERVICE_ID' => array_keys($paySystemList)))); while ($ptParams = $dbRestRes->fetch()) { $paySystemList[$ptParams['SERVICE_ID']]['PERSON_TYPE_ID'] = $ptParams['PARAMS']['PERSON_TYPE_ID']; } foreach ($paySystemList as $psId => $paySystem) { $personTypeString = ''; if ($paySystem['PERSON_TYPE_ID']) { $psPt = array(); foreach ($paySystem['PERSON_TYPE_ID'] as $ptId) { $psPt[] = (strlen($personTypes[$ptId]['NAME']) > 15 ? substr($personTypes[$ptId]['NAME'], 0, 6) . "..." . substr($personTypes[$ptId]['NAME'], -7) : $personTypes[$ptId]['NAME']) . "/" . $personTypes[$ptId]["LID"] . "";