...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_invoice.php
- Класс: \CAllCrmInvoice
- Вызов: CAllCrmInvoice::__fGetUserShoppingCart
static function __fGetUserShoppingCart($arProduct, $LID, $recalcOrder) { if(!CModule::IncludeModule('sale')) { return false; } $arOrderProductPrice = array(); foreach($arProduct as $key => $val) { //$arSortNum[] = $val['PRICE_DEFAULT']; $arProduct[$key]["PRODUCT_ID"] = intval($val["PRODUCT_ID"]); $arProduct[$key]["TABLE_ROW_ID"] = $key; } //if (count($arProduct) > 0 && count($arSortNum) > 0) // array_multisort($arSortNum, SORT_DESC, $arProduct); $i = 0; foreach($arProduct as $key => $val) { $val["QUANTITY"] = abs(str_replace(",", ".", $val["QUANTITY"])); $val["QUANTITY_DEFAULT"] = $val["QUANTITY"]; $val["PRICE"] = str_replace(",", ".", $val["PRICE"]); // Y is used when custom price was set in the admin form if ($val["CALLBACK_FUNC"] == "Y") { $val["CALLBACK_FUNC"] = false; $val["CUSTOM_PRICE"] = "Y"; if (isset($val["BASKET_ID"]) || intval($val["BASKET_ID"]) > 0) { Compatible\BasketHelper::update($val["BASKET_ID"], array("CUSTOM_PRICE" => "Y")); } //$val["DISCOUNT_PRICE"] = $val["PRICE_DEFAULT"] - $val["PRICE"]; } $arOrderProductPrice[$i] = $val; $arOrderProductPrice[$i]["TABLE_ROW_ID"] = $val["TABLE_ROW_ID"]; $arOrderProductPrice[$i]["PRODUCT_ID"] = intval($val["PRODUCT_ID"]); $arOrderProductPrice[$i]["NAME"] = htmlspecialcharsback($val["NAME"]); $arOrderProductPrice[$i]["LID"] = $LID; $arOrderProductPrice[$i]["CAN_BUY"] = "Y"; $arOrderProductPrice[$i]["DUPLICATE"] = "Y"; if (!isset($val["BASKET_ID"]) || $val["BASKET_ID"] == "") { /*if ($val["CALLBACK_FUNC"] == "Y") { $arOrderProductPrice[$i]["CALLBACK_FUNC"] = ''; $arOrderProductPrice[$i]["DISCOUNT_PRICE"] = 0; }*/ } else { $arOrderProductPrice[$i]["ID"] = intval($val["BASKET_ID"]); if ($recalcOrder != "Y" && $arOrderProductPrice[$i]["CALLBACK_FUNC"] != false) { unset($arOrderProductPrice[$i]["CALLBACK_FUNC"]); } $arNewProps = array(); if (is_array($val["PROPS"])) { foreach($val["PROPS"] as $k => $v) { if ($v["NAME"] != "" AND $v["VALUE"] != "") $arNewProps[$k] = $v; } } else { $arNewProps = array("NAME" => "", "VALUE" => "", "CODE" => "", "SORT" => ""); } $arOrderProductPrice[$i]["PROPS"] = $arNewProps; } $i++; }//endforeach $arProduct return $arOrderProductPrice; }