• Модуль: currency
  • Путь к файлу: ~/bitrix/modules/currency/lib/currencymanager.php
  • Класс: BitrixCurrencyCurrencyManager
  • Вызов: CurrencyManager::clearCurrencyCache
static function clearCurrencyCache($language = '')
{
	$language = static::checkLanguage($language);
	$currencyTableName = CurrencyTable::getTableName();

	$managedCache = Application::getInstance()->getManagedCache();
	$managedCache->clean(self::CACHE_CURRENCY_LIST_ID, $currencyTableName);
	if (empty($language))
	{
		$languageIterator = LanguageTable::getList([
			'select' => ['ID']
		]);
		while ($oneLanguage = $languageIterator->fetch())
		{
			$managedCache->clean(self::CACHE_CURRENCY_LIST_ID.'_'.$oneLanguage['ID'], $currencyTableName);
			$managedCache->clean(self::CACHE_CURRENCY_SHORT_LIST_ID.$oneLanguage['ID'], $currencyTableName);
			$managedCache->clean(self::CACHE_CURRENCY_SYMBOL_LIST_ID.$oneLanguage['ID'], $currencyTableName);
			$managedCache->clean(self::CACHE_CURRENCY_NAME_LIST_ID.$oneLanguage['ID'], $currencyTableName);
		}
		unset($oneLanguage, $languageIterator);
	}
	else
	{
		$managedCache->clean(self::CACHE_CURRENCY_LIST_ID.'_'.$language, $currencyTableName);
		$managedCache->clean(self::CACHE_CURRENCY_SHORT_LIST_ID.$language, $currencyTableName);
		$managedCache->clean(self::CACHE_CURRENCY_SYMBOL_LIST_ID.$language, $currencyTableName);
		$managedCache->clean(self::CACHE_CURRENCY_NAME_LIST_ID.$language, $currencyTableName);
	}
	$managedCache->clean(self::CACHE_BASE_CURRENCY_ID, $currencyTableName);

	/** @global CStackCacheManager $stackCacheManager */
	global $stackCacheManager;
	$stackCacheManager->clear('currency_rate');
	$stackCacheManager->clear('currency_currency_lang');
}