public static function Delete($ID) { global $DB; global $APPLICATION; /** @global CStackCacheManager $stackCacheManager */ global $stackCacheManager; $ID = (int) $ID; if ($ID <= 0) { return false; } foreach (GetModuleEvents("currency", "OnBeforeCurrencyRateDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $arFields = CCurrencyRates::GetByID($ID); if (!is_array($arFields)) { $arMsg = array('id' => 'ID', 'text' => GetMessage('BT_MOD_CURR_ERR_RATE_CANT_DELETE_ABSENT_ID')); $e = new CAdminException($arMsg); $APPLICATION->ThrowException($e); return false; } $stackCacheManager->Clear("currency_rate"); $strSql = "DELETE FROM b_catalog_currency_rate WHERE ID = " . $ID; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); Currency\CurrencyManager::updateBaseRates($arFields['CURRENCY']); Currency\CurrencyManager::clearTagCache($arFields['CURRENCY']); self::$currentCache = array(); foreach (GetModuleEvents("currency", "OnCurrencyRateDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; }
public static function clearTagCache($currency) { Currency\CurrencyManager::clearTagCache($currency); }