- Модуль: 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');
}