mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-26 07:58:40 +00:00
Creating and fixing ISO4217 currencies
This commit is contained in:
parent
fd14e8c2ea
commit
3b32def079
|
|
@ -0,0 +1,212 @@
|
|||
|
||||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright 2013 Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace phpOMS\Localization;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Country codes ISO list.
|
||||
*
|
||||
* @category Framework
|
||||
* @package phpOMS\DataStorage\Database
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class ISO4217DecimalEnum extends Enum
|
||||
{
|
||||
const C_AED = 2;
|
||||
const C_AFN = 2;
|
||||
const C_ALL = 2;
|
||||
const C_AMD = 2;
|
||||
const C_ANG = 2;
|
||||
const C_AOA = 2;
|
||||
const C_ARS = 2;
|
||||
const C_AUD = 2;
|
||||
const C_AWG = 2;
|
||||
const C_AZN = 2;
|
||||
const C_BAM = 2;
|
||||
const C_BBD = 2;
|
||||
const C_BDT = 2;
|
||||
const C_BGN = 2;
|
||||
const C_BHD = 3;
|
||||
const C_BIF = 0;
|
||||
const C_BMD = 2;
|
||||
const C_BND = 2;
|
||||
const C_BOB = 2;
|
||||
const C_BOV = 2;
|
||||
const C_BRL = 2;
|
||||
const C_BSD = 2;
|
||||
const C_BTN = 2;
|
||||
const C_BWP = 2;
|
||||
const C_BYR = 0;
|
||||
const C_BZD = 2;
|
||||
const C_CAD = 2;
|
||||
const C_CDF = 2;
|
||||
const C_CHE = 2;
|
||||
const C_CHF = 2;
|
||||
const C_CHW = 2;
|
||||
const C_CLF = 4;
|
||||
const C_CLP = 0;
|
||||
const C_CNY = 2;
|
||||
const C_COP = 2;
|
||||
const C_COU = 2;
|
||||
const C_CRC = 2;
|
||||
const C_CUC = 2;
|
||||
const C_CUP = 2;
|
||||
const C_CVE = 0;
|
||||
const C_CZK = 2;
|
||||
const C_DJF = 0;
|
||||
const C_DKK = 2;
|
||||
const C_DOP = 2;
|
||||
const C_DZD = 2;
|
||||
const C_EGP = 2;
|
||||
const C_ERN = 2;
|
||||
const C_ETB = 2;
|
||||
const C_EUR = 2;
|
||||
const C_FJD = 2;
|
||||
const C_FKP = 2;
|
||||
const C_GBP = 2;
|
||||
const C_GEL = 2;
|
||||
const C_GHS = 2;
|
||||
const C_GIP = 2;
|
||||
const C_GMD = 2;
|
||||
const C_GNF = 0;
|
||||
const C_GTQ = 2;
|
||||
const C_GYD = 2;
|
||||
const C_HKD = 2;
|
||||
const C_HNL = 2;
|
||||
const C_HRK = 2;
|
||||
const C_HTG = 2;
|
||||
const C_HUF = 2;
|
||||
const C_IDR = 2;
|
||||
const C_ILS = 2;
|
||||
const C_INR = 2;
|
||||
const C_IQD = 3;
|
||||
const C_IRR = 2;
|
||||
const C_ISK = 0;
|
||||
const C_JMD = 2;
|
||||
const C_JOD = 3;
|
||||
const C_JPY = 0;
|
||||
const C_KES = 2;
|
||||
const C_KGS = 2;
|
||||
const C_KHR = 2;
|
||||
const C_KMF = 0;
|
||||
const C_KPW = 2;
|
||||
const C_KRW = 0;
|
||||
const C_KWD = 3;
|
||||
const C_KYD = 2;
|
||||
const C_KZT = 2;
|
||||
const C_LAK = 2;
|
||||
const C_LBP = 2;
|
||||
const C_LKR = 2;
|
||||
const C_LRD = 2;
|
||||
const C_LSL = 2;
|
||||
const C_LYD = 3;
|
||||
const C_MAD = 2;
|
||||
const C_MDL = 2;
|
||||
const C_MGA = 1;
|
||||
const C_MKD = 2;
|
||||
const C_MMK = 2;
|
||||
const C_MNT = 2;
|
||||
const C_MOP = 2;
|
||||
const C_MRO = 1;
|
||||
const C_MUR = 2;
|
||||
const C_MVR = 2;
|
||||
const C_MWK = 2;
|
||||
const C_MXN = 2;
|
||||
const C_MXV = 2;
|
||||
const C_MYR = 2;
|
||||
const C_MZN = 2;
|
||||
const C_NAD = 2;
|
||||
const C_NGN = 2;
|
||||
const C_NIO = 2;
|
||||
const C_NOK = 2;
|
||||
const C_NPR = 2;
|
||||
const C_NZD = 2;
|
||||
const C_OMR = 3;
|
||||
const C_PAB = 2;
|
||||
const C_PEN = 2;
|
||||
const C_PGK = 2;
|
||||
const C_PHP = 2;
|
||||
const C_PKR = 2;
|
||||
const C_PLN = 2;
|
||||
const C_PYG = 0;
|
||||
const C_QAR = 2;
|
||||
const C_RON = 2;
|
||||
const C_RSD = 2;
|
||||
const C_RUB = 2;
|
||||
const C_RWF = 0;
|
||||
const C_SAR = 2;
|
||||
const C_SBD = 2;
|
||||
const C_SCR = 2;
|
||||
const C_SDG = 2;
|
||||
const C_SEK = 2;
|
||||
const C_SGD = 2;
|
||||
const C_SHP = 2;
|
||||
const C_SLL = 2;
|
||||
const C_SOS = 2;
|
||||
const C_SRD = 2;
|
||||
const C_SSP = 2;
|
||||
const C_STD = 2;
|
||||
const C_SYP = 2;
|
||||
const C_SZL = 2;
|
||||
const C_THB = 2;
|
||||
const C_TJS = 2;
|
||||
const C_TMT = 2;
|
||||
const C_TND = 3;
|
||||
const C_TOP = 2;
|
||||
const C_TRY = 2;
|
||||
const C_TTD = 2;
|
||||
const C_TWD = 2;
|
||||
const C_TZS = 2;
|
||||
const C_UAH = 2;
|
||||
const C_UGX = 0;
|
||||
const C_USD = 2;
|
||||
const C_USN = 2;
|
||||
const C_USS = 2;
|
||||
const C_UYI = 0;
|
||||
const C_UYU = 2;
|
||||
const C_UZS = 2;
|
||||
const C_VEF = 2;
|
||||
const C_VND = 0;
|
||||
const C_VUV = 0;
|
||||
const C_WST = 2;
|
||||
const C_XAF = 0;
|
||||
const C_XAG = -1;
|
||||
const C_XAU = -1;
|
||||
const C_XBA = -1;
|
||||
const C_XBB = -1;
|
||||
const C_XBC = -1;
|
||||
const C_XBD = -1;
|
||||
const C_XCD = 2;
|
||||
const C_XDR = -1;
|
||||
const C_XFU = -1;
|
||||
const C_XOF = 0;
|
||||
const C_XPD = -1;
|
||||
const C_XPF = 0;
|
||||
const C_XPT = -1;
|
||||
const C_XSU = -1;
|
||||
const C_XTS = -1;
|
||||
const C_XUA = -1;
|
||||
const C_XXX = -1;
|
||||
const C_YER = 2;
|
||||
const C_ZAR = 2;
|
||||
const C_ZMW = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
|
||||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright 2013 Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace phpOMS\Localization;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Country codes ISO list.
|
||||
*
|
||||
* @category Framework
|
||||
* @package phpOMS\DataStorage\Database
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class ISO4217DecimalEnum extends Enum
|
||||
{
|
||||
const C_AED = '784';
|
||||
const C_AFN = '971';
|
||||
const C_ALL = '008';
|
||||
const C_AMD = '051';
|
||||
const C_ANG = '532';
|
||||
const C_AOA = '973';
|
||||
const C_ARS = '032';
|
||||
const C_AUD = '036';
|
||||
const C_AWG = '533';
|
||||
const C_AZN = '944';
|
||||
const C_BAM = '977';
|
||||
const C_BBD = '052';
|
||||
const C_BDT = '050';
|
||||
const C_BGN = '975';
|
||||
const C_BHD = '048';
|
||||
const C_BIF = '108';
|
||||
const C_BMD = '060';
|
||||
const C_BND = '096';
|
||||
const C_BOB = '068';
|
||||
const C_BOV = '984';
|
||||
const C_BRL = '986';
|
||||
const C_BSD = '044';
|
||||
const C_BTN = '064';
|
||||
const C_BWP = '072';
|
||||
const C_BYR = '974';
|
||||
const C_BZD = '084';
|
||||
const C_CAD = '124';
|
||||
const C_CDF = '976';
|
||||
const C_CHE = '947';
|
||||
const C_CHF = '756';
|
||||
const C_CHW = '948';
|
||||
const C_CLF = '990';
|
||||
const C_CLP = '152';
|
||||
const C_CNY = '156';
|
||||
const C_COP = '170';
|
||||
const C_COU = '970';
|
||||
const C_CRC = '188';
|
||||
const C_CUC = '931';
|
||||
const C_CUP = '192';
|
||||
const C_CVE = '132';
|
||||
const C_CZK = '203';
|
||||
const C_DJF = '262';
|
||||
const C_DKK = '208';
|
||||
const C_DOP = '214';
|
||||
const C_DZD = '012';
|
||||
const C_EGP = '818';
|
||||
const C_ERN = '232';
|
||||
const C_ETB = '230';
|
||||
const C_EUR = '978';
|
||||
const C_FJD = '242';
|
||||
const C_FKP = '238';
|
||||
const C_GBP = '826';
|
||||
const C_GEL = '981';
|
||||
const C_GHS = '936';
|
||||
const C_GIP = '292';
|
||||
const C_GMD = '270';
|
||||
const C_GNF = '324';
|
||||
const C_GTQ = '320';
|
||||
const C_GYD = '328';
|
||||
const C_HKD = '344';
|
||||
const C_HNL = '340';
|
||||
const C_HRK = '191';
|
||||
const C_HTG = '332';
|
||||
const C_HUF = '348';
|
||||
const C_IDR = '360';
|
||||
const C_ILS = '376';
|
||||
const C_INR = '356';
|
||||
const C_IQD = '368';
|
||||
const C_IRR = '364';
|
||||
const C_ISK = '352';
|
||||
const C_JMD = '388';
|
||||
const C_JOD = '400';
|
||||
const C_JPY = '392';
|
||||
const C_KES = '404';
|
||||
const C_KGS = '417';
|
||||
const C_KHR = '116';
|
||||
const C_KMF = '174';
|
||||
const C_KPW = '408';
|
||||
const C_KRW = '410';
|
||||
const C_KWD = '414';
|
||||
const C_KYD = '136';
|
||||
const C_KZT = '398';
|
||||
const C_LAK = '418';
|
||||
const C_LBP = '422';
|
||||
const C_LKR = '144';
|
||||
const C_LRD = '430';
|
||||
const C_LSL = '426';
|
||||
const C_LYD = '434';
|
||||
const C_MAD = '504';
|
||||
const C_MDL = '498';
|
||||
const C_MGA = '969';
|
||||
const C_MKD = '807';
|
||||
const C_MMK = '104';
|
||||
const C_MNT = '496';
|
||||
const C_MOP = '446';
|
||||
const C_MRO = '478';
|
||||
const C_MUR = '480';
|
||||
const C_MVR = '462';
|
||||
const C_MWK = '454';
|
||||
const C_MXN = '484';
|
||||
const C_MXV = '979';
|
||||
const C_MYR = '458';
|
||||
const C_MZN = '943';
|
||||
const C_NAD = '516';
|
||||
const C_NGN = '566';
|
||||
const C_NIO = '558';
|
||||
const C_NOK = '578';
|
||||
const C_NPR = '524';
|
||||
const C_NZD = '554';
|
||||
const C_OMR = '512';
|
||||
const C_PAB = '590';
|
||||
const C_PEN = '604';
|
||||
const C_PGK = '598';
|
||||
const C_PHP = '608';
|
||||
const C_PKR = '586';
|
||||
const C_PLN = '985';
|
||||
const C_PYG = '600';
|
||||
const C_QAR = '634';
|
||||
const C_RON = '946';
|
||||
const C_RSD = '941';
|
||||
const C_RUB = '643';
|
||||
const C_RWF = '646';
|
||||
const C_SAR = '682';
|
||||
const C_SBD = '090';
|
||||
const C_SCR = '690';
|
||||
const C_SDG = '938';
|
||||
const C_SEK = '752';
|
||||
const C_SGD = '702';
|
||||
const C_SHP = '654';
|
||||
const C_SLL = '694';
|
||||
const C_SOS = '706';
|
||||
const C_SRD = '968';
|
||||
const C_SSP = '728';
|
||||
const C_STD = '678';
|
||||
const C_SYP = '760';
|
||||
const C_SZL = '748';
|
||||
const C_THB = '764';
|
||||
const C_TJS = '972';
|
||||
const C_TMT = '934';
|
||||
const C_TND = '788';
|
||||
const C_TOP = '776';
|
||||
const C_TRY = '949';
|
||||
const C_TTD = '780';
|
||||
const C_TWD = '901';
|
||||
const C_TZS = '834';
|
||||
const C_UAH = '980';
|
||||
const C_UGX = '800';
|
||||
const C_USD = '840';
|
||||
const C_USN = '997';
|
||||
const C_USS = '998';
|
||||
const C_UYI = '940';
|
||||
const C_UYU = '858';
|
||||
const C_UZS = '860';
|
||||
const C_VEF = '937';
|
||||
const C_VND = '704';
|
||||
const C_VUV = '548';
|
||||
const C_WST = '882';
|
||||
const C_XAF = '950';
|
||||
const C_XAG = '961';
|
||||
const C_XAU = '959';
|
||||
const C_XBA = '955';
|
||||
const C_XBB = '956';
|
||||
const C_XBC = '957';
|
||||
const C_XBD = '958';
|
||||
const C_XCD = '951';
|
||||
const C_XDR = '960';
|
||||
const C_XFU = 'Nil';
|
||||
const C_XOF = '952';
|
||||
const C_XPD = '964';
|
||||
const C_XPF = '953';
|
||||
const C_XPT = '962';
|
||||
const C_XSU = '994';
|
||||
const C_XTS = '963';
|
||||
const C_XUA = '965';
|
||||
const C_XXX = '999';
|
||||
const C_YER = '886';
|
||||
const C_ZAR = '710';
|
||||
const C_ZMW = '967';
|
||||
}
|
||||
|
|
@ -50,8 +50,8 @@ class Money implements Serialize {
|
|||
|
||||
public function getAmount(int $decimals = 2) : string
|
||||
{
|
||||
if($decimals > ISO4270::{$this->currency}) {
|
||||
$decimals = ISO4270::{$this->currency};
|
||||
if($decimals > ($dec = ISO4217DecimalEnum::${'C_' . strtoupper($this->currency)})) {
|
||||
$decimals = $dec ;
|
||||
}
|
||||
|
||||
$value = (string) round($value, - self::MAX_DECIMALS + $this->decimals);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user