- Модуль: 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;
}