• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/actions.php
  • Класс: BitrixSaleDiscountActions
  • Вызов: Actions::setActionResult
static function setActionResult($entity, array $actionResult)
{
	if (empty($actionResult) || !isset($actionResult['ACTION_TYPE']))
		return;

	$actionType = $actionResult['ACTION_TYPE'];
	if ($actionType == Formatter::TYPE_SIMPLE)
		$actionDescription = (isset($actionResult['ACTION_DESCRIPTION']) ? $actionResult['ACTION_DESCRIPTION'] : '');
	else
		$actionDescription = $actionResult;
	$prepareResult = SaleDiscountFormatter::prepareRow($actionType, $actionDescription);
	unset($actionDescription, $actionType);

	if ($prepareResult !== null)
	{
		switch ($entity)
		{
			case self::RESULT_ENTITY_BASKET:
				if (!isset(self::$actionResult['BASKET']))
					self::$actionResult['BASKET'] = array();
				$basketCode = $actionResult['BASKET_CODE'];
				if (!isset(self::$actionResult['BASKET'][$basketCode]))
					self::$actionResult['BASKET'][$basketCode] = array();
				//TODO: remove this hack
				if (isset($actionResult['REVERT_APPLY']))
					$prepareResult['REVERT_APPLY'] = $actionResult['REVERT_APPLY'];
				self::$actionResult['BASKET'][$basketCode][static::getApplyCounter()] = $prepareResult;
				unset($basketCode);
				break;
			case self::RESULT_ENTITY_DELIVERY:
				if (!isset(self::$actionResult['DELIVERY']))
					self::$actionResult['DELIVERY'] = array();
				self::$actionResult['DELIVERY'][static::getApplyCounter()] = $prepareResult;
				break;
		}
	}
	unset($prepareResult);
}