![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-config/Model/Config/Source/Locale/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Config\Model\Config\Source\Locale; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\App\ObjectManager; use Magento\Framework\Locale\ListsInterface; /** * Locale currency source. * * @api * @since 100.0.2 */ class Currency implements \Magento\Framework\Option\ArrayInterface { /** * @var array */ protected $_options; /** * @var ListsInterface */ protected $_localeLists; /** * @var ScopeConfigInterface */ private $config; /** * @var array */ private $installedCurrencies; /** * @param ListsInterface $localeLists * @param ScopeConfigInterface $config */ public function __construct( ListsInterface $localeLists, ScopeConfigInterface $config = null ) { $this->_localeLists = $localeLists; $this->config = $config ?: ObjectManager::getInstance()->get(ScopeConfigInterface::class); } /** * @inheritdoc */ public function toOptionArray() { if (!$this->_options) { $this->_options = $this->_localeLists->getOptionCurrencies(); } $selected = array_flip($this->getInstalledCurrencies()); $options = array_filter( $this->_options, function ($option) use ($selected) { return isset($selected[$option['value']]); } ); return $options; } /** * Retrieve Installed Currencies. * * @return array */ private function getInstalledCurrencies() { if (!$this->installedCurrencies) { $this->installedCurrencies = explode( ',', $this->config->getValue( 'system/currency/installed', \Magento\Store\Model\ScopeInterface::SCOPE_STORE ) ); } return $this->installedCurrencies; } }