• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/gift/manager.php
  • Класс: BitrixSaleDiscountGiftManager
  • Вызов: Manager::getPotentialGiftData
private function getPotentialGiftData(array $discounts, array $appliedDiscounts = array())
{
	if(!$discounts)
	{
		return array();
	}

	$potentialGiftData = array();
	foreach($appliedDiscounts as $discount)
	{
		$giftedProductIds = $this->getGiftedProductIdsByAppliedDiscount($discount);
		$potentialGiftData = array_merge(
				$potentialGiftData,
				$this->deleteGiftedProducts(
					CSaleActionGiftCtrlGroup::ProvideGiftProductData($discount),
					CSaleActionGiftCtrlGroup::ExtendProductIds($giftedProductIds)
				)
		);
	}
	unset($discount);

	foreach($discounts as $discount)
	{
		if(isset($appliedDiscounts[$discount['ID']]))
		{
			continue;
		}
		//todo Does the list use LAST_DISCOUNT configuration?
		$data = CSaleActionGiftCtrlGroup::ProvideGiftProductData($discount);
		if(!$data)
		{
			continue;
		}
		$potentialGiftData = array_merge($potentialGiftData, $data);
	}
	unset($discount);

	return $potentialGiftData;
}