• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/orderinfo.php
  • Класс: BitrixSaleHelpersAdminBlocksOrderInfo
  • Вызов: OrderInfo::getView
static function getView(Order $order, $orderBasket)
{
	$currency = $order->getCurrency();
	$orderProps = $order->getPropertyCollection();

	if($email = $orderProps->getUserEmail())
		$email = $email->getViewHtml();

	if($phone = $orderProps->getPhone())
	{
		$phoneVal = $phone->getValue();

		if($phoneVal != '')
		{
			if(!is_array($phoneVal))
				$phoneVal = array($phoneVal);

			$phone = '';

			foreach($phoneVal as $number)
			{
				$number = str_replace("'", "", htmlspecialcharsbx($number));

				if($phone <> '')
					$phone .= ', ';

				$phone .= ''.
					$number.
					'';
			}
		}
		else
		{
			$phone = '';
		}
	}

	if($name = $orderProps->getPayerName())
		$name = $name->getViewHtml();

	$totalPrices = OrderEdit::getTotalPrices($order,  $orderBasket, false);

	//Here we can receive custom data
	$event = new Event('sale', 'onSaleAdminOrderInfoBlockShow', array('ORDER' => $order, 'ORDER_BASKET' => $orderBasket));
	$event->send();
	$resultList = $event->getResults();
	$customData = array();

	if (is_array($resultList) && !empty($resultList))
	{
		foreach ($resultList as $eventResult)
		{
			/** @var  EventResult $eventResult*/
			if ($eventResult->getType() != EventResult::SUCCESS)
				continue;

			$params = $eventResult->getParameters();

			if(!empty($params) && is_array($params))
				$customData = array_merge($customData, $params);
		}
	}
	///

	$result = '
		
'.Loc::getMessage("SALE_ORDER_INFO", array( "#ID#" => $order->getId(), "#NUM#" => $order->getField("ACCOUNT_NUMBER") <> '' ? $order->getField("ACCOUNT_NUMBER") : $order->getId(), "#DATE#" => $order->getDateInsert()->toString()) )." [".$order->getSiteId()."]".'
'.$order->getField('STATUS_ID').'
'.static::getOrderInfoBlock($order).'
  • '.Loc::getMessage("SALE_ORDER_INFO_FIO").': '.$name.'
  • E-Mail: '.$email.'
  • '.Loc::getMessage("SALE_ORDER_INFO_PHONE").': '.$phone.'
  • '; if(!empty($customData)) { foreach($customData as $custom) { if(empty($custom['TITLE'])) throw new ArgumentNullException("customData['TITLE']"); if(empty($custom['VALUE'])) throw new ArgumentNullException("customData['VALUE']"); $result .='
  • '.$custom['TITLE'].' '.$custom['VALUE'].'
  • '; } } $result .= '
  • '.Loc::getMessage("SALE_ORDER_INFO_PRICE").' '. SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET"]), $currency). '
  • '.Loc::getMessage("SALE_ORDER_INFO_DISCOUNT_PRICE").' '. SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET_DISCOUNTED"]), $currency). '
  • '.Loc::getMessage("SALE_ORDER_INFO_DELIVERY_PRICE").' '. SaleFormatCurrency(floatval($order->getDeliveryPrice()), $currency). '
  • '.Loc::getMessage("SALE_ORDER_INFO_ALL_PRICE").' '. SaleFormatCurrency(floatval($order->getPrice()), $currency). '
'.Loc::getMessage("SALE_ORDER_INFO_PAYED").': '.SaleFormatCurrency(floatval($order->getSumPaid()), $currency). '
    '; $updatersContent = ""; foreach(self::getPaymentsInfo($order) as $payment) { $result .= '
  • '; if($updatersContent <> '') $updatersContent .=",n"; $updatersContent .= "tPAYMENT_PAID_".$payment["ID"].": function(paid) { BX.Sale.Admin.OrderInfo.setIconLamp('payment', '".$payment["ID"]."', (paid == 'Y' ? 'green' : 'red')); }"; } $result .= '
'.Loc::getMessage("SALE_ORDER_INFO_SHIPMENT").'
    '; foreach(self::getShipmentsInfo($order) as $shipment) { $result .= '
  • '; if($updatersContent <> '') $updatersContent .=",n"; $updatersContent .= "tSHIPMENT_STATUS_".$shipment["ID"].": function(shipmentStatus) { BX.Sale.Admin.OrderInfo.setIconLamp('shipment', '".$shipment["ID"]."', (shipmentStatus == 'DF' ? 'green' : 'red')); }"; } $result .= '
'; $orderEditOpts = CUserOptions::GetOption("sale_admin", "sale_order_edit", array()); $isFixed = isset($orderEditOpts["fix_sale-order-edit-block-order-info"]) && $orderEditOpts["fix_sale-order-edit-block-order-info"] == "Y" ? true : false; if($isFixed) { $result .= ' '; } if($updatersContent <> '') { $result .= ' '; } return $result; }