• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discountcouponsmanagerbase.php
  • Класс: BitrixSaleDiscountCouponsManagerBase
  • Вызов: DiscountCouponsManagerBase::checkBaseData
static function checkBaseData(&$data, $checkCode = self::COUPON_CHECK_OK)
{
	if (empty(self::$couponTypes))
		self::$couponTypes = InternalsDiscountCouponTable::getCouponTypes(true);

	if (!isset($data['ID']))
	{
		$data['ID'] = 0;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	else
	{
		$data['ID'] = (int)$data['ID'];
		if ($data['ID'] <= 0 && self::$checkActivity)
			$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (!isset($data['DISCOUNT_ID']))
	{
		$data['DISCOUNT_ID'] = (int)$data['DISCOUNT_ID'];
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	else
	{
		$data['DISCOUNT_ID'] = (int)$data['DISCOUNT_ID'];
		if ($data['DISCOUNT_ID'] <= 0 && self::$checkActivity)
			$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (!isset($data['TYPE']))
	{
		$data['TYPE'] = InternalsDiscountCouponTable::TYPE_UNKNOWN;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	else
	{
		$data['TYPE'] = (int)$data['TYPE'];
		if (!isset(self::$couponTypes[$data['TYPE']]) && $data['TYPE'] != InternalsDiscountCouponTable::TYPE_ARCHIVED)
		{
			$data['TYPE'] = InternalsDiscountCouponTable::TYPE_UNKNOWN;
			$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
		}
	}
	if (!isset($data['ACTIVE']))
	{
		$data['ACTIVE'] = '';
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	else
	{
		$data['ACTIVE'] = (string)$data['ACTIVE'];
		if ($data['ACTIVE'] != 'Y' && $data['ACTIVE'] != 'N')
			$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (isset($data['ACTIVE_FROM']) && !($data['ACTIVE_FROM'] instanceof MainTypeDateTime))
	{
		$data['ACTIVE_FROM'] = null;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (isset($data['ACTIVE_TO']) && !($data['ACTIVE_TO'] instanceof MainTypeDateTime))
	{
		$data['ACTIVE_TO'] = null;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	$data['DISCOUNT_NAME'] = (isset($data['DISCOUNT_NAME']) ? (string)$data['DISCOUNT_NAME'] : '');
	if (!isset($data['DISCOUNT_ACTIVE']))
	{
		$data['DISCOUNT_ACTIVE'] = '';
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	else
	{
		$data['DISCOUNT_ACTIVE'] = (string)$data['DISCOUNT_ACTIVE'];
		if ($data['DISCOUNT_ACTIVE'] != 'Y' && $data['DISCOUNT_ACTIVE'] != 'N')
			$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (isset($data['DISCOUNT_ACTIVE_FROM']) && !($data['DISCOUNT_ACTIVE_FROM'] instanceof MainTypeDateTime))
	{
		$data['DISCOUNT_ACTIVE_FROM'] = null;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	if (isset($data['DISCOUNT_ACTIVE_TO']) && !($data['DISCOUNT_ACTIVE_TO'] instanceof MainTypeDateTime))
	{
		$data['DISCOUNT_ACTIVE_TO'] = null;
		$checkCode |= self::COUPON_CHECK_CORRUPT_DATA;
	}
	return $checkCode;
}