diff options
Diffstat (limited to 'library/intl/src/Currency')
-rw-r--r-- | library/intl/src/Currency/Currency.php | 168 | ||||
-rw-r--r-- | library/intl/src/Currency/CurrencyInterface.php | 82 | ||||
-rw-r--r-- | library/intl/src/Currency/CurrencyRepository.php | 122 | ||||
-rw-r--r-- | library/intl/src/Currency/CurrencyRepositoryInterface.php | 31 |
4 files changed, 0 insertions, 403 deletions
diff --git a/library/intl/src/Currency/Currency.php b/library/intl/src/Currency/Currency.php deleted file mode 100644 index 6138210b5..000000000 --- a/library/intl/src/Currency/Currency.php +++ /dev/null @@ -1,168 +0,0 @@ -<?php - -namespace CommerceGuys\Intl\Currency; - -class Currency implements CurrencyInterface -{ - /** - * The alphanumeric currency code. - * - * @var string - */ - protected $currencyCode; - - /** - * The currency name. - * - * @var string - */ - protected $name; - - /** - * The numeric currency code. - * - * @var string - */ - protected $numericCode; - - /** - * The currency symbol. - * - * @var string - */ - protected $symbol; - - /** - * The number of fraction digits. - * - * @var int - */ - protected $fractionDigits; - - /** - * The currency locale (i.e. "en_US"). - * - * The currency name and symbol are locale specific. - * - * @var string - */ - protected $locale; - - /** - * Returns the string representation of the currency. - * - * @return string - */ - public function __toString() - { - return $this->getCurrencyCode(); - } - - /** - * {@inheritdoc} - */ - public function getCurrencyCode() - { - return $this->currencyCode; - } - - /** - * {@inheritdoc} - */ - public function setCurrencyCode($currencyCode) - { - $this->currencyCode = $currencyCode; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - /** - * {@inheritdoc} - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getNumericCode() - { - return $this->numericCode; - } - - /** - * {@inheritdoc} - */ - public function setNumericCode($numericCode) - { - $this->numericCode = $numericCode; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getSymbol() - { - return $this->symbol; - } - - /** - * {@inheritdoc} - */ - public function setSymbol($symbol) - { - $this->symbol = $symbol; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFractionDigits() - { - return $this->fractionDigits; - } - - /** - * {@inheritdoc} - */ - public function setFractionDigits($fractionDigits) - { - $this->fractionDigits = $fractionDigits; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->locale; - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->locale = $locale; - - return $this; - } -} diff --git a/library/intl/src/Currency/CurrencyInterface.php b/library/intl/src/Currency/CurrencyInterface.php deleted file mode 100644 index ccd03c7e0..000000000 --- a/library/intl/src/Currency/CurrencyInterface.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php - -namespace CommerceGuys\Intl\Currency; - -interface CurrencyInterface -{ - /** - * Gets the alphabetic currency code. - * - * @return string - */ - public function getCurrencyCode(); - - /** - * Sets the alphabetic currency code. - * - * @param string $currencyCode The alphabetic currency code. - */ - public function setCurrencyCode($currencyCode); - - /** - * Gets the currency name. - * - * @return string - */ - public function getName(); - - /** - * Sets the currency name. - * - * @param string $name The currency name. - */ - public function setName($name); - - /** - * Gets the numeric currency code. - * - * The numeric code has three digits, and the first one can be a zero, - * hence the need to pass it around as a string. - * - * @return string - */ - public function getNumericCode(); - - /** - * Sets the numeric currency code. - * - * @param string $numericCode The numeric currency code. - */ - public function setNumericCode($numericCode); - - /** - * Gets the currency symbol. - * - * @return string - */ - public function getSymbol(); - - /** - * Sets the currency symbol. - * - * @param string $symbol The currency symbol. - */ - public function setSymbol($symbol); - - /** - * Gets the number of fraction digits. - * - * Used when rounding or formatting an amount for display. - * Actual storage precision can be greater. - * - * @return int - */ - public function getFractionDigits(); - - /** - * Sets the number of fraction digits. - * - * @param int $fractionDigits The number of fraction digits. - */ - public function setFractionDigits($fractionDigits); -} diff --git a/library/intl/src/Currency/CurrencyRepository.php b/library/intl/src/Currency/CurrencyRepository.php deleted file mode 100644 index 84d0d4522..000000000 --- a/library/intl/src/Currency/CurrencyRepository.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php - -namespace CommerceGuys\Intl\Currency; - -use CommerceGuys\Intl\LocaleResolverTrait; -use CommerceGuys\Intl\Exception\UnknownCurrencyException; - -/** - * Manages currencies based on JSON definitions. - */ -class CurrencyRepository implements CurrencyRepositoryInterface -{ - use LocaleResolverTrait; - - /** - * Base currency definitions. - * - * Contains data common to all locales, such as the currency numeric - * code, number of fraction digits. - * - * @var array - */ - protected $baseDefinitions = array(); - - /** - * Per-locale currency definitions. - * - * @var array - */ - protected $definitions = array(); - - /** - * Creates a CurrencyRepository instance. - * - * @param string $definitionPath The path to the currency definitions. - * Defaults to 'resources/currency'. - */ - public function __construct($definitionPath = null) - { - $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/currency/'; - } - - /** - * {@inheritdoc} - */ - public function get($currencyCode, $locale = null, $fallbackLocale = null) - { - $locale = $this->resolveLocale($locale, $fallbackLocale); - $definitions = $this->loadDefinitions($locale); - if (!isset($definitions[$currencyCode])) { - throw new UnknownCurrencyException($currencyCode); - } - - return $this->createCurrencyFromDefinition($definitions[$currencyCode], $locale); - } - - /** - * {@inheritdoc} - */ - public function getAll($locale = null, $fallbackLocale = null) - { - $locale = $this->resolveLocale($locale, $fallbackLocale); - $definitions = $this->loadDefinitions($locale); - $currencies = array(); - foreach ($definitions as $currencyCode => $definition) { - $currencies[$currencyCode] = $this->createCurrencyFromDefinition($definition, $locale); - } - - return $currencies; - } - - /** - * Loads the currency definitions for the provided locale. - * - * @param string $locale The desired locale. - * - * @return array - */ - protected function loadDefinitions($locale) - { - if (!isset($this->definitions[$locale])) { - $filename = $this->definitionPath . $locale . '.json'; - $this->definitions[$locale] = json_decode(file_get_contents($filename), true); - - // Make sure the base definitions have been loaded. - if (empty($this->baseDefinitions)) { - $this->baseDefinitions = json_decode(file_get_contents($this->definitionPath . 'base.json'), true); - } - // Merge-in base definitions. - foreach ($this->definitions[$locale] as $currencyCode => $definition) { - $this->definitions[$locale][$currencyCode] += $this->baseDefinitions[$currencyCode]; - } - } - - return $this->definitions[$locale]; - } - - /** - * Creates a currency object from the provided definition. - * - * @param array $definition The currency definition. - * @param string $locale The locale of the currency definition. - * - * @return Currency - */ - protected function createCurrencyFromDefinition(array $definition, $locale) - { - if (!isset($definition['fraction_digits'])) { - $definition['fraction_digits'] = 2; - } - - $currency = new Currency(); - $currency->setCurrencyCode($definition['code']); - $currency->setName($definition['name']); - $currency->setNumericCode($definition['numeric_code']); - $currency->setFractionDigits($definition['fraction_digits']); - $currency->setSymbol($definition['symbol']); - $currency->setLocale($locale); - - return $currency; - } -} diff --git a/library/intl/src/Currency/CurrencyRepositoryInterface.php b/library/intl/src/Currency/CurrencyRepositoryInterface.php deleted file mode 100644 index d72fcf137..000000000 --- a/library/intl/src/Currency/CurrencyRepositoryInterface.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace CommerceGuys\Intl\Currency; - -/** - * Currency repository interface. - */ -interface CurrencyRepositoryInterface -{ - /** - * Returns a currency instance matching the provided currency code. - * - * @param string $currencyCode The currency code. - * @param string $locale The locale (i.e. fr-FR). - * @param string $fallbackLocale A fallback locale (i.e "en"). - * - * @return CurrencyInterface - */ - public function get($currencyCode, $locale = null, $fallbackLocale = null); - - /** - * Returns all available currency instances. - * - * @param string $locale The locale (i.e. fr-FR). - * @param string $fallbackLocale A fallback locale (i.e "en"). - * - * @return array An array of currencies implementing the CurrencyInterface, - * keyed by currency code. - */ - public function getAll($locale = null, $fallbackLocale = null); -} |