- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/discountbase.php
- Класс: BitrixSaleDiscountBase
- Вызов: DiscountBase::convertCoupon
protected function convertCoupon($coupon, $discount)
{
$result = new Result;
/** @var DiscountCouponsManager $couponClassName */
$couponClassName = $this->getDiscountCouponClassName();
if (!is_array($coupon))
{
$couponData = $couponClassName::getEnteredCoupon($coupon, true);
if (empty($couponData))
{
$result->addError(new MainEntityEntityError(
Loc::getMessage('BX_SALE_DISCOUNT_ERR_COUPON_NOT_FOUND'),
self::ERROR_ID
));
return $result;
}
$coupon = array(
'COUPON' => $couponData['COUPON'],
'TYPE' => $couponData['TYPE'],
'COUPON_ID' => $couponData['ID'],
'DATA' => $couponData
);
unset($couponData);
}
$coupon['ORDER_DISCOUNT_ID'] = $discount;
$coupon['ID'] = 0;
$orderCouponId = $coupon['COUPON'];
if (!isset($this->couponsCache[$orderCouponId]))
$this->couponsCache[$orderCouponId] = $coupon;
$result->setId($orderCouponId);
$result->setData($coupon);
unset($coupon, $orderCouponId);
return $result;
}