|  | 
| 4 | 4 | 
 | 
| 5 | 5 | class Amount | 
| 6 | 6 | { | 
| 7 |  | -    private $CURRENCIES = array( | 
| 8 |  | -        'AED' => array('AED', '2', 'Dírham de los Emiratos Árabes Unidos'), | 
| 9 |  | -        'AFN' => array('AFN', '2', 'Afgani'), | 
| 10 |  | -        'ALL' => array('ALL', '2', 'Lek'), | 
| 11 |  | -        'AMD' => array('AMD', '2', 'Dram armenio'), | 
| 12 |  | -        'ANG' => array('ANG', '2', 'Florín antillano neerlandés'), | 
| 13 |  | -        'AOA' => array('AOA', '2', 'Kwanza'), | 
| 14 |  | -        'ARS' => array('ARS', '2', 'Peso argentino'), | 
| 15 |  | -        'AUD' => array('AUD', '2', 'Dólar australiano'), | 
| 16 |  | -        'AWG' => array('AWG', '2', 'Florín arubeño'), | 
| 17 |  | -        'AZN' => array('AZN', '2', 'Manat azerbaiyano'), | 
| 18 |  | -        'BAM' => array('BAM', '2', 'Marco convertible'), | 
| 19 |  | -        'BBD' => array('BBD', '2', 'Dólar de Barbados'), | 
| 20 |  | -        'BDT' => array('BDT', '2', 'Taka'), | 
| 21 |  | -        'BGN' => array('BGN', '2', 'Lev búlgaro'), | 
| 22 |  | -        'BHD' => array('BHD', '3', 'Dinar bareiní'), | 
| 23 |  | -        'BIF' => array('BIF', '0', 'Franco de Burundi'), | 
| 24 |  | -        'BMD' => array('BMD', '2', 'Dólar bermudeño'), | 
| 25 |  | -        'BND' => array('BND', '2', 'Dólar de Brunéi'), | 
| 26 |  | -        'BOB' => array('BOB', '2', 'Boliviano'), | 
| 27 |  | -        'BOV' => array('BOV', '2', 'MVDOL'), | 
| 28 |  | -        'BRL' => array('BRL', '2', 'Real brasileño'), | 
| 29 |  | -        'BSD' => array('BSD', '2', 'Dólar bahameño'), | 
| 30 |  | -        'BTN' => array('BTN', '2', 'Ngultrum'), | 
| 31 |  | -        'BWP' => array('BWP', '2', 'Pula'), | 
| 32 |  | -        'BYR' => array('BYR', '0', 'Rublo bielorruso'), | 
| 33 |  | -        'BZD' => array('BZD', '2', 'Dólar beliceño'), | 
| 34 |  | -        'CAD' => array('CAD', '2', 'Dólar canadiense'), | 
| 35 |  | -        'CDF' => array('CDF', '2', 'Franco congoleño'), | 
| 36 |  | -        'CHE' => array('CHE', '2', 'Euro WIR'), | 
| 37 |  | -        'CHF' => array('CHF', '2', 'Franco suizo'), | 
| 38 |  | -        'CHW' => array('CHW', '2', 'Franco WIR'), | 
| 39 |  | -        'CLF' => array('CLF', '4', 'Unidad de fomento'), | 
| 40 |  | -        'CLP' => array('CLP', '0', 'Peso chileno'), | 
| 41 |  | -        'CNY' => array('CNY', '2', 'Yuan chino'), | 
| 42 |  | -        'COP' => array('COP', '2', 'Peso colombiano'), | 
| 43 |  | -        'COU' => array('COU', '2', 'Unidad de valor real'), | 
| 44 |  | -        'CRC' => array('CRC', '2', 'Colón costarricense'), | 
| 45 |  | -        'CUC' => array('CUC', '2', 'Peso convertible'), | 
| 46 |  | -        'CUP' => array('CUP', '2', 'Peso cubano'), | 
| 47 |  | -        'CVE' => array('CVE', '2', 'Escudo caboverdiano'), | 
| 48 |  | -        'CZK' => array('CZK', '2', 'Corona checa'), | 
| 49 |  | -        'DJF' => array('DJF', '0', 'Franco yibutiano'), | 
| 50 |  | -        'DKK' => array('DKK', '2', 'Corona danesa'), | 
| 51 |  | -        'DOP' => array('DOP', '2', 'Peso dominicano'), | 
| 52 |  | -        'DZD' => array('DZD', '2', 'Dinar argelino'), | 
| 53 |  | -        'EGP' => array('EGP', '2', 'Libra egipcia'), | 
| 54 |  | -        'ERN' => array('ERN', '2', 'Nakfa'), | 
| 55 |  | -        'ETB' => array('ETB', '2', 'Birr etíope'), | 
| 56 |  | -        'EUR' => array('EUR', '2', 'Euro'), | 
| 57 |  | -        'FJD' => array('FJD', '2', 'Dólar fiyiano'), | 
| 58 |  | -        'FKP' => array('FKP', '2', 'Libra malvinense'), | 
| 59 |  | -        'GBP' => array('GBP', '2', 'Libra esterlina'), | 
| 60 |  | -        'GEL' => array('GEL', '2', 'Lari'), | 
| 61 |  | -        'GHS' => array('GHS', '2', 'Cedi ghanés'), | 
| 62 |  | -        'GIP' => array('GIP', '2', 'Libra de Gibraltar'), | 
| 63 |  | -        'GMD' => array('GMD', '2', 'Dalasi'), | 
| 64 |  | -        'GNF' => array('GNF', '0', 'Franco guineano'), | 
| 65 |  | -        'GTQ' => array('GTQ', '2', 'Quetzal'), | 
| 66 |  | -        'GYD' => array('GYD', '2', 'Dólar guyanés'), | 
| 67 |  | -        'HKD' => array('HKD', '2', 'Dólar de Hong Kong'), | 
| 68 |  | -        'HNL' => array('HNL', '2', 'Lempira'), | 
| 69 |  | -        'HRK' => array('HRK', '2', 'Kuna'), | 
| 70 |  | -        'HTG' => array('HTG', '2', 'Gourde'), | 
| 71 |  | -        'HUF' => array('HUF', '2', 'Forinto'), | 
| 72 |  | -        'IDR' => array('IDR', '2', 'Rupia indonesia'), | 
| 73 |  | -        'ILS' => array('ILS', '2', 'Nuevo shéquel israelí'), | 
| 74 |  | -        'INR' => array('INR', '2', 'Rupia india'), | 
| 75 |  | -        'IQD' => array('IQD', '3', 'Dinar iraquí'), | 
| 76 |  | -        'IRR' => array('IRR', '2', 'Rial iraní'), | 
| 77 |  | -        'ISK' => array('ISK', '0', 'Corona islandesa'), | 
| 78 |  | -        'JMD' => array('JMD', '2', 'Dólar jamaiquino'), | 
| 79 |  | -        'JOD' => array('JOD', '3', 'Dinar jordano'), | 
| 80 |  | -        'JPY' => array('JPY', '0', 'Yen'), | 
| 81 |  | -        'KES' => array('KES', '2', 'Chelín keniano'), | 
| 82 |  | -        'KGS' => array('KGS', '2', 'Som'), | 
| 83 |  | -        'KHR' => array('KHR', '2', 'Riel'), | 
| 84 |  | -        'KMF' => array('KMF', '0', 'Franco comorense'), | 
| 85 |  | -        'KPW' => array('KPW', '2', 'Won norcoreano'), | 
| 86 |  | -        'KRW' => array('KRW', '0', 'Won'), | 
| 87 |  | -        'KWD' => array('KWD', '3', 'Dinar kuwaití'), | 
| 88 |  | -        'KYD' => array('KYD', '2', 'Dólar de las Islas Caimán'), | 
| 89 |  | -        'KZT' => array('KZT', '2', 'Tenge'), | 
| 90 |  | -        'LAK' => array('LAK', '2', 'Kip'), | 
| 91 |  | -        'LBP' => array('LBP', '2', 'Libra libanesa'), | 
| 92 |  | -        'LKR' => array('LKR', '2', 'Rupia de Sri Lanka'), | 
| 93 |  | -        'LRD' => array('LRD', '2', 'Dólar liberiano'), | 
| 94 |  | -        'LSL' => array('LSL', '2', 'Loti'), | 
| 95 |  | -        'LYD' => array('LYD', '3', 'Dinar libio'), | 
| 96 |  | -        'MAD' => array('MAD', '2', 'Dírham marroquí'), | 
| 97 |  | -        'MDL' => array('MDL', '2', 'Leu moldavo'), | 
| 98 |  | -        'MGA' => array('MGA', '2', 'Ariary malgache'), | 
| 99 |  | -        'MKD' => array('MKD', '2', 'Denar'), | 
| 100 |  | -        'MMK' => array('MMK', '2', 'Kyat'), | 
| 101 |  | -        'MNT' => array('MNT', '2', 'Tugrik'), | 
| 102 |  | -        'MOP' => array('MOP', '2', 'Pataca'), | 
| 103 |  | -        'MRO' => array('MRO', '2', 'Uquiya'), | 
| 104 |  | -        'MUR' => array('MUR', '2', 'Rupia de Mauricio'), | 
| 105 |  | -        'MVR' => array('MVR', '2', 'Rufiyaa'), | 
| 106 |  | -        'MWK' => array('MWK', '2', 'Kwacha'), | 
| 107 |  | -        'MXN' => array('MXN', '2', 'Peso mexicano'), | 
| 108 |  | -        'MXV' => array('MXV', '2', 'Unidad de Inversión (UDI) mexicana'), | 
| 109 |  | -        'MYR' => array('MYR', '2', 'Ringgit malayo'), | 
| 110 |  | -        'MZN' => array('MZN', '2', 'Metical mozambiqueño'), | 
| 111 |  | -        'NAD' => array('NAD', '2', 'Dólar namibio'), | 
| 112 |  | -        'NGN' => array('NGN', '2', 'Naira'), | 
| 113 |  | -        'NIO' => array('NIO', '2', 'Córdoba'), | 
| 114 |  | -        'NOK' => array('NOK', '2', 'Corona noruega'), | 
| 115 |  | -        'NPR' => array('NPR', '2', 'Rupia nepalí'), | 
| 116 |  | -        'NZD' => array('NZD', '2', 'Dólar neozelandés'), | 
| 117 |  | -        'OMR' => array('OMR', '3', 'Rial omaní'), | 
| 118 |  | -        'PAB' => array('PAB', '2', 'Balboa'), | 
| 119 |  | -        'PEN' => array('PEN', '2', 'Sol'), | 
| 120 |  | -        'PGK' => array('PGK', '2', 'Kina'), | 
| 121 |  | -        'PHP' => array('PHP', '2', 'Peso filipino'), | 
| 122 |  | -        'PKR' => array('PKR', '2', 'Rupia pakistaní'), | 
| 123 |  | -        'PLN' => array('PLN', '2', 'Złoty'), | 
| 124 |  | -        'PYG' => array('PYG', '0', 'Guaraní'), | 
| 125 |  | -        'QAR' => array('QAR', '2', 'Riyal qatarí'), | 
| 126 |  | -        'RON' => array('RON', '2', 'Leu rumano'), | 
| 127 |  | -        'RSD' => array('RSD', '2', 'Dinar serbio'), | 
| 128 |  | -        'RUB' => array('RUB', '2', 'Rublo ruso'), | 
| 129 |  | -        'RWF' => array('RWF', '0', 'Franco ruandés'), | 
| 130 |  | -        'SAR' => array('SAR', '2', 'Riyal saudí'), | 
| 131 |  | -        'SBD' => array('SBD', '2', 'Dólar de las Islas Salomón'), | 
| 132 |  | -        'SCR' => array('SCR', '2', 'Rupia seychelense'), | 
| 133 |  | -        'SDG' => array('SDG', '2', 'Dinar sudanés'), | 
| 134 |  | -        'SEK' => array('SEK', '2', 'Corona sueca'), | 
| 135 |  | -        'SGD' => array('SGD', '2', 'Dólar de Singapur'), | 
| 136 |  | -        'SHP' => array('SHP', '2', 'Libra de Santa Elena'), | 
| 137 |  | -        'SLL' => array('SLL', '2', 'Leone'), | 
| 138 |  | -        'SOS' => array('SOS', '2', 'Chelín somalí'), | 
| 139 |  | -        'SRD' => array('SRD', '2', 'Dólar surinamés'), | 
| 140 |  | -        'SSP' => array('SSP', '2', 'Libra sursudanesa'), | 
| 141 |  | -        'STD' => array('STD', '2', 'Dobra'), | 
| 142 |  | -        'SVC' => array('SVC', '2', 'Colon Salvadoreño'), | 
| 143 |  | -        'SYP' => array('SYP', '2', 'Libra siria'), | 
| 144 |  | -        'SZL' => array('SZL', '2', 'Lilangeni'), | 
| 145 |  | -        'THB' => array('THB', '2', 'Baht'), | 
| 146 |  | -        'TJS' => array('TJS', '2', 'Somoni tayiko'), | 
| 147 |  | -        'TMT' => array('TMT', '2', 'Manat turcomano'), | 
| 148 |  | -        'TND' => array('TND', '3', 'Dinar tunecino'), | 
| 149 |  | -        'TOP' => array('TOP', '2', 'Paʻanga'), | 
| 150 |  | -        'TRY' => array('TRY', '2', 'Lira turca'), | 
| 151 |  | -        'TTD' => array('TTD', '2', 'Dólar de Trinidad y Tobago'), | 
| 152 |  | -        'TWD' => array('TWD', '2', 'Nuevo dólar taiwanés'), | 
| 153 |  | -        'TZS' => array('TZS', '2', 'Chelín tanzano'), | 
| 154 |  | -        'UAH' => array('UAH', '2', 'Grivna'), | 
| 155 |  | -        'UGX' => array('UGX', '0', 'Chelín ugandés'), | 
| 156 |  | -        'USD' => array('USD', '2', 'Dólar estadounidense'), | 
| 157 |  | -        'USN' => array('USN', '2', 'Dólar estadounidense (Siguiente día)'), | 
| 158 |  | -        'UYI' => array('UYI', '0', 'Peso en Unidades Indexadas (Uruguay)'), | 
| 159 |  | -        'UYU' => array('UYU', '2', 'Peso uruguayo'), | 
| 160 |  | -        'UZS' => array('UZS', '2', 'Som uzbeko'), | 
| 161 |  | -        'VEF' => array('VEF', '2', 'Bolívar'), | 
| 162 |  | -        'VND' => array('VND', '0', 'Dong vietnamita'), | 
| 163 |  | -        'VUV' => array('VUV', '0', 'Vatu'), | 
| 164 |  | -        'WST' => array('WST', '2', 'Tala'), | 
| 165 |  | -        'XAF' => array('XAF', '0', 'Franco CFA de África Central'), | 
| 166 |  | -        'XAG' => array('XAG', '-1', 'Plata (una onza troy)'), | 
| 167 |  | -        'XAU' => array('XAU', '-1', 'Oro (una onza troy)'), | 
| 168 |  | -        'XBA' => array('XBA', '-1', 'Unidad compuesta europea (EURCO) (Unidad del mercados de bonos)'), | 
| 169 |  | -        'XBB' => array('XBB', '-1', 'Unidad Monetaria europea (E.M.U.-6) (Unidad del mercado de bonos)'), | 
| 170 |  | -        'XBC' => array('XBC', '-1', 'Unidad europea de cuenta 9 (E.U.A.-9) (Unidad del mercado de bonos)'), | 
| 171 |  | -        'XBD' => array('XBD', '-1', 'Unidad europea de cuenta 17 (E.U.A.-17) (Unidad del mercado de bonos)'), | 
| 172 |  | -        'XCD' => array('XCD', '2', 'Dólar del Caribe Oriental'), | 
| 173 |  | -        'XDR' => array('XDR', '-1', 'Derechos especiales de giro'), | 
| 174 |  | -        'XOF' => array('XOF', '0', 'Franco CFA de África Occidental'), | 
| 175 |  | -        'XPD' => array('XPD', '-1', 'Paladio (una onza troy)'), | 
| 176 |  | -        'XPF' => array('XPF', '0', 'Franco CFP'), | 
| 177 |  | -        'XPT' => array('XPT', '-1', 'Platino (una onza troy)'), | 
| 178 |  | -        'XSU' => array('XSU', '-1', 'SUCRE'), | 
| 179 |  | -        'XTS' => array('XTS', '-1', 'Reservado para pruebas'), | 
| 180 |  | -        'XUA' => array('XUA', '-1', 'Unidad de cuenta BAD'), | 
| 181 |  | -        'XXX' => array('XXX', '-1', 'Sin divisa'), | 
| 182 |  | -        'YER' => array('YER', '2', 'Rial yemení'), | 
| 183 |  | -        'ZAR' => array('ZAR', '2', 'Rand'), | 
| 184 |  | -        'ZMW' => array('ZMW', '2', 'Kwacha zambiano'), | 
| 185 |  | -        'ZWL' => array('ZWL', '2', 'Dólar zimbabuense') | 
| 186 |  | -    ); | 
| 187 | 7 |     private $currency; | 
| 188 | 8 |     private $amount; | 
| 189 | 9 | 
 | 
| @@ -216,15 +36,15 @@ public function set($amount, $currency) | 
| 216 | 36 |             throw new \Exception('$currency must be a string.'); | 
| 217 | 37 |         } | 
| 218 | 38 | 
 | 
| 219 |  | -        if(!isset($this->CURRENCIES[$currency])) { | 
|  | 39 | +        if(!isset(Catalogs\CURRENCIES[$currency])) { | 
| 220 | 40 |             throw new \Exception('$currency don\'t exists.'); | 
| 221 | 41 |         } | 
| 222 | 42 | 
 | 
| 223 |  | -        if($this->CURRENCIES[$currency] < 0) { | 
|  | 43 | +        if(Catalogs\CURRENCIES[$currency][1] < 0) { | 
| 224 | 44 |             throw new \Exception('Invalid currency.'); | 
| 225 | 45 |         } | 
| 226 | 46 | 
 | 
| 227 |  | -        $this->currency = $this->CURRENCIES[$currency]; | 
|  | 47 | +        $this->currency = Catalogs\CURRENCIES[$currency]; | 
| 228 | 48 | 
 | 
| 229 | 49 |         if (gettype($amount) == "string" | 
| 230 | 50 |             && preg_match("/^[0-9]+\.[0-9]{".$this->currency[1]."}$/", $amount) | 
|  | 
0 commit comments