1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Intl\Data\Provider;
use Piwik\Config\GeneralConfig;
/**
* Provides currency data.
*/
class CurrencyDataProvider
{
/**
* @var array<string, array{0: string, 1: string}>|null
*/
private $currencyList;
/**
* Returns the list of all known currency symbols.
*
* @return array An array mapping currency codes to their respective currency symbols
* and a description, eg, `array('USD' => array('$', 'US dollar'))`.
* @phpstan-return array<string, array{0: string, 1: string}>
* @api
*/
public function getCurrencyList()
{
if ($this->currencyList === null) {
$this->currencyList = require __DIR__ . '/../Resources/currencies.php';
/** @var array<string, string>|null $custom */
$custom = GeneralConfig::getConfigValue('currencies');
if (is_array($custom)) {
foreach ($custom as $code => $name) {
$this->currencyList[$code] = [$code, $name];
}
}
}
return $this->currencyList;
}
}
|