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