• Модуль: currency
  • Путь к файлу: ~/bitrix/modules/currency/lib/currencymanager.php
  • Класс: BitrixCurrencyCurrencyManager
  • Вызов: CurrencyManager::getCurrencyList
static function getCurrencyList(): array
{
	$currencyTableName = CurrencyTable::getTableName();
	$managedCache = Application::getInstance()->getManagedCache();

	$cacheTime = (int)(defined('CURRENCY_CACHE_TIME') ? CURRENCY_CACHE_TIME : CURRENCY_CACHE_DEFAULT_TIME);
	$cacheId = self::CACHE_CURRENCY_SHORT_LIST_ID.LANGUAGE_ID;

	if ($managedCache->read($cacheTime, $cacheId, $currencyTableName))
	{
		$currencyList = $managedCache->get($cacheId);
	}
	else
	{
		$currencyList = [];
		$currencyIterator = CurrencyTable::getList([
			'select' => [
				'CURRENCY',
				'FULL_NAME' => 'CURRENT_LANG_FORMAT.FULL_NAME',
				'SORT',
			],
			'order' => [
				'SORT' => 'ASC',
				'CURRENCY' => 'ASC',
			],
		]);
		while ($currency = $currencyIterator->fetch())
		{
			$currency['FULL_NAME'] = (string)$currency['FULL_NAME'];
			$currencyList[$currency['CURRENCY']] = $currency['CURRENCY']
				. ($currency['FULL_NAME'] !== '' ? ' (' . $currency['FULL_NAME'] . ')' : '')
			;
		}
		unset($currency, $currencyIterator);
		$managedCache->set($cacheId, $currencyList);
	}

	return $currencyList;
}