CAllCrmInvoice::__fGetUserShoppingCart

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmInvoice
  4. __fGetUserShoppingCart
  • Модуль: 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;
}

Добавить комментарий