20 if (!isset(static::$listCurrencyCache))
22 static::$listCurrencyCache = [];
24 $separators = \CCurrencyLang::GetSeparators();
27 $defaultFormat = \CCurrencyLang::GetDefaultValues();
28 $defaultFormat[
'SEPARATOR'] = $separators[$defaultFormat[
'THOUSANDS_VARIANT']];
48 static::$listCurrencyCache[$row[
'CURRENCY']] = array_merge($row, $defaultFormat);
52 if (!empty(static::$listCurrencyCache))
66 '@CURRENCY' => array_keys(static::$listCurrencyCache),
67 '=LID' => LANGUAGE_ID,
75 $currencyId = $row[
'CURRENCY'];
76 $row[
'FULL_NAME'] = (string)$row[
'FULL_NAME'];
77 if ($row[
'FULL_NAME'] !==
'')
79 static::$listCurrencyCache[$currencyId][
'NAME'] = $row[
'FULL_NAME'];
82 unset($row[
'FULL_NAME'], $row[
'CURRENCY']);
83 static::$listCurrencyCache[$currencyId] = array_merge(
84 static::$listCurrencyCache[$currencyId],
88 if ($row[
'THOUSANDS_VARIANT'] !==
null && isset($separators[$row[
'THOUSANDS_VARIANT']]))
90 static::$listCurrencyCache[$currencyId][
'SEPARATOR'] = $separators[$row[
'THOUSANDS_VARIANT']];
94 static::$listCurrencyCache[$currencyId][
'SEPARATOR'] = $row[
'THOUSANDS_SEP'];
101 return static::$listCurrencyCache;