• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discountbase.php
  • Класс: BitrixSaleDiscountBase
  • Вызов: DiscountBase::verify
public function verify()
{
	$result = new Result();

	$useMode = $this->getUseMode();
	if ($useMode == self::USE_MODE_APPLY || $useMode == self::USE_MODE_MIXED)
	{
		if (!$this->isValidState())
			return $result;
	}

	if (empty($this->discountResult['APPLY_BLOCKS'][$this->discountResultCounter]))
		return $result;

	/** @var DiscountCouponsManager $couponClassName */
	$couponClassName = $this->getDiscountCouponClassName();

	$checkCoupons = $couponClassName::verifyApplied();
	if (!$checkCoupons->isSuccess())
	{
		$result->addError(new MainError(
			Loc::getMessage('BX_SALE_DISCOUNT_ERR_BAD_COUPONS_USED')
		));
		$errors = $checkCoupons->getErrors();
		$row = reset($errors);
		foreach ($row->getCustomData() as $coupon => $description)
		{
			$result->addError(new MainError(
				$coupon.' : '.$description
			));
		}
		unset($coupon, $description, $row, $errors);
	}
	unset($checkCoupons, $couponClassName);

	return $result;
}