/** * Clear coupon storage. * * @param bool $clearStorage Clear coupon session storage. * @return bool */ public static function clear($clearStorage = false) { if (self::$useMode == self::MODE_SYSTEM) { return false; } if (self::isSuccess()) { $clearStorage = $clearStorage === true; self::$coupons = array(); if ($clearStorage) { self::saveToStorage(); } return true; } return false; }
/** * Clear coupon storage for order. * * @param int $order Order id. * @return bool */ public static function clearByOrder($order) { if (!self::isSuccess()) { return false; } $order = (int) $order; if ($order <= 0) { return false; } $userId = 0; $orderIterator = Internals\OrderTable::getList(array('select' => array('ID', 'USER_ID'), 'filter' => array('=ID' => $order))); if ($orderData = $orderIterator->fetch()) { $userId = (int) $orderData['USER_ID']; } unset($orderData, $orderIterator); if ($userId <= 0) { return false; } self::initUseMode(self::MODE_ORDER, array('userId' => $userId, 'orderId' => $order)); if (!self::isSuccess()) { return false; } self::$coupons = array(); self::saveToStorage(); return true; }