• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/runtimecache/discountcache.php
  • Класс: BitrixSaleDiscountRuntimeCacheDiscountCache
  • Вызов: DiscountCache::getDiscountIds
public function getDiscountIds(array $userGroups)
{
	Collection::normalizeArrayValuesByInt($userGroups);
	$cacheKey = md5('G' . implode('|', $userGroups));

	if(!isset($this->discountIds[$cacheKey]))
	{
		$this->discountIds[$cacheKey] = array();

		$groupDiscountIterator = DiscountGroupTable::getList(array(
			'select' => array('DISCOUNT_ID'),
			'filter' => array(
				'@GROUP_ID' => $userGroups,
				'=ACTIVE' => 'Y',
			),
			'order' => array('DISCOUNT_ID' => 'ASC')
		));
		while ($groupDiscount = $groupDiscountIterator->fetch())
		{
			$groupDiscount['DISCOUNT_ID'] = (int)$groupDiscount['DISCOUNT_ID'];
			if ($groupDiscount['DISCOUNT_ID'] > 0)
			{
				$this->discountIds[$cacheKey][$groupDiscount['DISCOUNT_ID']] = $groupDiscount['DISCOUNT_ID'];
			}
		}

	}

	return $this->discountIds[$cacheKey];
}