Example #1
0
             $bFirst = false;
         }
     }
     if (IntVal($arUserResult["PAY_SYSTEM_ID"]) > 0 && empty($arResult["PAY_SYSTEM"][$arUserResult["PAY_SYSTEM_ID"]])) {
         $bF = true;
         foreach ($arResult["PAY_SYSTEM"] as $k => $v) {
             if ($bF) {
                 $arResult["PAY_SYSTEM"][$k]["CHECKED"] = "Y";
                 $arUserResult["PAY_SYSTEM_ID"] = $arResult["PAY_SYSTEM"][$k]["ID"];
                 $bF = false;
             }
         }
     }
 }
 //calculate delivery discount
 $deliveryOrderData = CSaleOrder::makeOrderArray(SITE_ID, $USER->GetID(), $arResult["BASKET_ITEMS"]);
 $deliveryOrderData = array_merge($deliveryOrderData, $arUserResult);
 if (!empty($arResult["DELIVERY"]) && is_array($arResult["DELIVERY"])) {
     foreach ($arResult["DELIVERY"] as $deliveryKey => $deliveryData) {
         if (!empty($deliveryData['PRICE'])) {
             // calculate discount price
             $orderDeliveryPriceData = $deliveryOrderData;
             $orderDeliveryPriceData['PRICE_DELIVERY'] = $orderDeliveryPriceData['DELIVERY_PRICE'] = $deliveryData["PRICE"];
             $orderDeliveryPriceData['DELIVERY_ID'] = $deliveryData['ID'];
             CSaleDiscount::DoProcessOrder($orderDeliveryPriceData, array(), $arErrors);
             if (floatval($orderDeliveryPriceData['DELIVERY_PRICE']) > 0 && $deliveryData["PRICE"] != $orderDeliveryPriceData['DELIVERY_PRICE']) {
                 $arResult["DELIVERY"][$deliveryKey]['DELIVERY_DISCOUNT_PRICE'] = $orderDeliveryPriceData['DELIVERY_PRICE'];
                 $arResult["DELIVERY"][$deliveryKey]["DELIVERY_DISCOUNT_PRICE_FORMATED"] = SaleFormatCurrency($orderDeliveryPriceData['DELIVERY_PRICE'], $arResult["BASE_LANG_CURRENCY"]);
             }
         }
     }