- Модуль: currency
- Путь к файлу: ~/bitrix/modules/currency/lib/currencymanager.php
- Класс: BitrixCurrencyCurrencyManager
- Вызов: CurrencyManager::getSymbolList
static function getSymbolList(): array
{
$currencyTableName = CurrencyTable::getTableName();
$managedCache = Application::getInstance()->getManagedCache();
$cacheTime = defined('CURRENCY_CACHE_TIME') ? (int)CURRENCY_CACHE_TIME : CURRENCY_CACHE_DEFAULT_TIME;
$cacheId = self::CACHE_CURRENCY_SYMBOL_LIST_ID.LANGUAGE_ID;
if ($managedCache->read($cacheTime, $cacheId, $currencyTableName))
{
$currencyList = $managedCache->get($cacheId);
}
else
{
$sanitizer = new CBXSanitizer();
$sanitizer->setLevel(CBXSanitizer::SECURE_LEVEL_LOW);
$sanitizer->ApplyDoubleEncode(false);
$currencyList = [];
$currencyIterator = CurrencyTable::getList([
'select' => [
'CURRENCY',
'FORMAT_STRING' => 'CURRENT_LANG_FORMAT.FORMAT_STRING',
'SORT',
],
'order' => [
'SORT' => 'ASC',
'CURRENCY' => 'ASC',
],
]);
while ($currency = $currencyIterator->fetch())
{
$showValue = $currency['CURRENCY'];
$currencyFormat = (string)$currency['FORMAT_STRING'];
if ($currencyFormat !== '')
{
$symbol = CCurrencyLang::applyTemplate('', $currencyFormat);
if (is_string($symbol))
{
$symbol = trim($symbol);
if ($symbol !== '')
{
$showValue = $symbol;
}
}
}
$currencyList[$currency['CURRENCY']] = $sanitizer->SanitizeHtml($showValue);
}
$managedCache->set($cacheId, $currencyList);
}
return $currencyList;
}