123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * \Directory currency abstract backend model
- *
- * Allows dispatching before and after events for each controller action
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- namespace Magento\Config\Model\Config\Backend\Currency;
- /**
- * Base currency class
- *
- * @api
- * @since 100.0.2
- */
- abstract class AbstractCurrency extends \Magento\Framework\App\Config\Value
- {
- /**
- * Retrieve allowed currencies for current scope
- *
- * @return array
- */
- protected function _getAllowedCurrencies()
- {
- $allowValue = $this->getData('groups/options/fields/allow/value');
- $allowedCurrencies = $allowValue === null || $this->getData('groups/options/fields/allow/inherit')
- ? explode(
- ',',
- (string)$this->_config->getValue(
- \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_ALLOW,
- $this->getScope(),
- $this->getScopeId()
- )
- )
- : (array) $allowValue;
- return $allowedCurrencies;
- }
- /**
- * Retrieve Installed Currencies
- *
- * @return string[]
- */
- protected function _getInstalledCurrencies()
- {
- return explode(
- ',',
- $this->_config->getValue(
- 'system/currency/installed',
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE
- )
- );
- }
- /**
- * Retrieve Base Currency value for current scope
- *
- * @return string
- */
- protected function _getCurrencyBase()
- {
- $value = $this->getData('groups/options/fields/base/value');
- if (!$this->isFormData() || !$value) {
- $value = $this->_config->getValue(
- \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_BASE,
- $this->getScope(),
- $this->getScopeId()
- );
- }
- return (string)$value;
- }
- /**
- * Retrieve Default display Currency value for current scope
- *
- * @return string
- */
- protected function _getCurrencyDefault()
- {
- if (!$this->isFormData() || !($value = $this->getData('groups/options/fields/default/value'))) {
- $value = $this->_config->getValue(
- \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_DEFAULT,
- $this->getScope(),
- $this->getScopeId()
- );
- }
- return (string)$value;
- }
- /**
- * Check whether field saved from Admin form with other currency data or as single field, e.g. from CLI command
- *
- * @return bool True in case when field was saved from Admin form
- */
- private function isFormData()
- {
- return $this->getData('groups/options/fields') !== null;
- }
- }
|