. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Classes\AppParams; use Espo\Core\Currency\ConfigDataProvider; use Espo\Core\Utils\NumberUtil; use Espo\Tools\App\AppParam; use stdClass; /** * @noinspection PhpUnused */ class CurrencyRates implements AppParam { private const int PRECISION = 6; public function __construct( private ConfigDataProvider $configDataProvider, private NumberUtil $numberUtil, ) {} public function get(): stdClass { $rates = $this->configDataProvider->getCurrencyRates()->toAssoc(); foreach ($rates as $code => $value) { $rates[$code] = $this->numberUtil->format($value, self::PRECISION, '.', ''); } return (object) $rates; } }