• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/gift/manager.php
  • Класс: BitrixSaleDiscountGiftManager
  • Вызов: Manager::deleteGiftedProducts
private function deleteGiftedProducts(array $gifts, array $giftedProductIds)
{
	foreach($gifts as $i => &$giftItem)
	{
		if($giftItem['Type'] === CSaleDiscountActionApply::GIFT_SELECT_TYPE_ONE)
		{
			if(array_intersect($giftedProductIds, (array)$giftItem['GiftValue']))
			{
				unset($gifts[$i]);
				continue;
			}
		}
		elseif($giftItem['Type'] === CSaleDiscountActionApply::GIFT_SELECT_TYPE_ALL)
		{
			$giftItem['GiftValue'] = array_diff((array)$giftItem['GiftValue'], $giftedProductIds);
			if(!$giftItem['GiftValue'])
			{
				unset($gifts[$i]);
				continue;
			}
		}
	}
	unset($giftItem);

	return $gifts;
}