- Модуль: 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;
}