• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discountcouponsmanagerbase.php
  • Класс: BitrixSaleDiscountCouponsManagerBase
  • Вызов: DiscountCouponsManagerBase::setCoupons
static function setCoupons($couponsList, $checkCoupons = true)
{
	if (empty($couponsList) || !is_array($couponsList))
		return;

	$checkCoupons = ($checkCoupons !== false);
	if ($checkCoupons)
	{
		foreach ($couponsList as $coupon)
		{
			$coupon = trim((string)$coupon);
			if ($coupon == '')
				continue;
			$couponData = self::getData($coupon);
			if (!isset(self::$coupons[$couponData['COUPON']]))
			{
				$couponData['SORT'] = self::$couponIndex;
				self::createApplyFields($couponData);
				self::$coupons[$couponData['COUPON']] = $couponData;
				self::$couponIndex++;
			}
		}
		unset($couponData, $coupon);
	}
	else
	{
		$currentTime = new MainTypeDateTime();
		$currentTimestamp = $currentTime->getTimestamp();
		unset($currentTime);
		foreach ($couponsList as $coupon)
		{
			if (empty($coupon) || !is_array($coupon))
				continue;
			$checkCode = self::checkBaseData($coupon, self::COUPON_CHECK_OK);
			$checkCode = self::checkFullData($coupon, $coupon['MODE'], $checkCode, $currentTimestamp);
			$coupon['STATUS'] = ($checkCode == self::COUPON_CHECK_OK ? self::STATUS_ENTERED : self::STATUS_FREEZE);
			$coupon['CHECK_CODE'] = $checkCode;
			unset($checkCode);
			if (!isset(self::$coupons[$coupon['COUPON']]))
			{
				$coupon['SORT'] = self::$couponIndex;
				self::createApplyFields($coupon);
				self::$coupons[$coupon['COUPON']] = $coupon;
				self::$couponIndex++;
			}
		}
		unset($coupon, $currentTimestamp);
	}
}