• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/discountcoupon.php
  • Класс: BitrixSaleInternalsDiscountCouponTable
  • Вызов: DiscountCouponTable::checkPacket
static function checkPacket(array $data, $newDiscount = false)
{
	$result = new MainEntityResult();

	$newDiscount = ($newDiscount === true);
	if (empty($data) || !is_array($data))
	{
		$result->addError(new MainEntityEntityError(
			Loc::getMessage('DISCOUNT_COUPON_PACKET_EMPTY'),
			'COUPON_PACKET'
		));
	}
	else
	{
		if (empty($data['TYPE']) || !in_array((int)$data['TYPE'], self::getCouponTypes(false)))
		{
			$result->addError(new MainEntityEntityError(
				Loc::getMessage('DISCOUNT_COUPON_VALIDATOR_TYPE'),
				'COUPON_PACKET'
			));
		}
		if (!$newDiscount && empty($data['DISCOUNT_ID']))
		{
			$result->addError(new MainEntityEntityError(
				Loc::getMessage('DISCOUNT_COUPON_VALIDATOR_DISCOUNT_ID'),
				'COUPON_PACKET'
			));
		}
		if (
			(isset($data['ACTIVE_FROM']) && !($data['ACTIVE_FROM'] instanceof MainTypeDateTime))
			||
			(isset($data['ACTIVE_TO']) && !($data['ACTIVE_TO'] instanceof MainTypeDateTime))
		)
		{
			$result->addError(new MainEntityEntityError(
				Loc::getMessage('DISCOUNT_COUPON_VALIDATOR_PERIOD'),
				'COUPON_PACKET'
			));
		}
	}
	return $result;
}