Example #1
0
             foreach ($val[$arUserResult["DELIVERY_ID"]] as $v) {
                 $arFilter["ID"][] = $v;
             }
         } elseif (IntVal($val[$arUserResult["DELIVERY_ID"]]) > 0) {
             $arFilter["ID"][] = $val[$arUserResult["DELIVERY_ID"]];
         }
     }
 }
 if ($arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d") {
     $arD2P = array();
 }
 if ($arParams["DELIVERY_TO_PAYSYSTEM"] == "d2p" && !empty($arUserResult['DELIVERY_ID']) || $arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d") {
     if ($arUserResult["PREPAYMENT_MODE"] && IntVal($arUserResult["PAY_SYSTEM_ID"]) > 0) {
         $arFilter["ID"] = $arUserResult["PAY_SYSTEM_ID"];
     }
     $preparedPSData = \Bitrix\Sale\Internals\DeliveryPaySystemTable::prepareData(array(), \Bitrix\Sale\Internals\DeliveryPaySystemTable::ENTITY_TYPE_PAYSYSTEM);
     $bFirst = true;
     $dbPaySystem = CSalePaySystem::GetList(array("SORT" => "ASC", "PSA_NAME" => "ASC"), $arFilter);
     while ($arPaySystem = $dbPaySystem->Fetch()) {
         //if (count($arD2P[$delivery]) <= 0 || in_array($arPaySystem["ID"], $arD2P[$delivery]))
         //{
         $checkByDelivery = in_array($arUserResult["DELIVERY_ID"], \Bitrix\Sale\Internals\DeliveryPaySystemTable::getLinks($arPaySystem["ID"], \Bitrix\Sale\Internals\DeliveryPaySystemTable::ENTITY_TYPE_PAYSYSTEM, $preparedPSData));
         if (strlen($arUserResult["DELIVERY_ID"]) <= 0 || $arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d" || $checkByDelivery) {
             if (!CSalePaySystemsHelper::checkPSCompability($arPaySystem["PSA_ACTION_FILE"], $arOrder, $arResult["ORDER_PRICE"], $arResult["DELIVERY_PRICE"], $arUserResult["DELIVERY_LOCATION"])) {
                 continue;
             }
             if ($arPaySystem["PSA_LOGOTIP"] > 0) {
                 $arPaySystem["PSA_LOGOTIP"] = CFile::GetFileArray($arPaySystem["PSA_LOGOTIP"]);
             }
             $arPaySystem["PSA_NAME"] = htmlspecialcharsEx($arPaySystem["PSA_NAME"]);
             $arResult["PAY_SYSTEM"][$arPaySystem["ID"]] = $arPaySystem;
Example #2
0
 public static function prepareData(array $deliveryIds)
 {
     if (empty($deliveryIds)) {
         return;
     }
     self::$preparedData = \Bitrix\Sale\Internals\DeliveryPaySystemTable::prepareData($deliveryIds, DeliveryPaySystemTable::ENTITY_TYPE_DELIVERY);
 }