function CatalogDeactivateOneTimeCoupons($intOrderID = 0) { global $CATALOG_ONETIME_COUPONS_ORDER; global $stackCacheManager; if (is_array($CATALOG_ONETIME_COUPONS_ORDER) && !empty($CATALOG_ONETIME_COUPONS_ORDER)) { $arCouponID = array_keys($CATALOG_ONETIME_COUPONS_ORDER); foreach ($CATALOG_ONETIME_COUPONS_ORDER as &$arCoupon) { $arCoupon['USER_ID'] = intval($arCoupon['USER_ID']); if (0 < $arCoupon['USER_ID']) { CCatalogDiscountCoupon::EraseCouponByManage($arCoupon['USER_ID'], $arCoupon['COUPON']); } else { CCatalogDiscountCoupon::EraseCoupon($arCoupon['COUPON']); } } if (isset($arCoupon)) { unset($arCoupon); } CCatalogDiscountCoupon::__CouponOneOrderDisable($arCouponID); $CATALOG_ONETIME_COUPONS_ORDER = null; $stackCacheManager->Clear("catalog_discount"); } }