https://www.mediawiki.org/wiki/Special:Code/MediaWiki/101910

Revision: 101910
Author:   kaldari
Date:     2011-11-03 23:06:33 +0000 (Thu, 03 Nov 2011)
Log Message:
-----------
adding new currencies for sanity check, correcting 2 currency codes, follow-up 
to r101563

Modified Paths:
--------------
    trunk/extensions/DonationInterface/gateway_common/GatewayForm.php
    trunk/extensions/DonationInterface/gateway_common/interface.i18n.php

Added Paths:
-----------
    trunk/extensions/DonationInterface/gateway_common/currencyRates.inc

Modified: trunk/extensions/DonationInterface/gateway_common/GatewayForm.php
===================================================================
--- trunk/extensions/DonationInterface/gateway_common/GatewayForm.php   
2011-11-03 23:04:36 UTC (rev 101909)
+++ trunk/extensions/DonationInterface/gateway_common/GatewayForm.php   
2011-11-03 23:06:33 UTC (rev 101910)
@@ -443,68 +443,19 @@
         * In reality, this probably ought to use some sort of webservice to 
get real-time
         * conversion rates.
         *
-        * @param $currency_code
-        * @param $amount
-        * @return unknown_type
+        * @param string $currency_code
+        * @param float $amount
+        * @return float
         */
-       public function convert_to_usd( $currency_code, $amount ) {
-               switch ( strtoupper( $currency_code ) ) {
-                       case 'USD':
-                               $usd_amount = $amount / 1;
-                               break;
-                       case 'GBP':
-                               $usd_amount = $amount / 1;
-                               break;
-                       case 'EUR':
-                               $usd_amount = $amount / 1;
-                               break;
-                       case 'AUD':
-                               $usd_amount = $amount / 2;
-                               break;
-                       case 'CAD':
-                               $usd_amount = $amount / 1;
-                               break;
-                       case 'CHF':
-                               $usd_amount = $amount / 1;
-                               break;
-                       case 'CZK':
-                               $usd_amount = $amount / 20;
-                               break;
-                       case 'DKK':
-                               $usd_amount = $amount / 5;
-                               break;
-                       case 'HKD':
-                               $usd_amount = $amount / 10;
-                               break;
-                       case 'HUF':
-                               $usd_amount = $amount / 200;
-                               break;
-                       case 'JPY':
-                               $usd_amount = $amount / 100;
-                               break;
-                       case 'NZD':
-                               $usd_amount = $amount / 2;
-                               break;
-                       case 'NOK':
-                               $usd_amount = $amount / 10;
-                               break;
-                       case 'PLN':
-                               $usd_amount = $amount / 5;
-                               break;
-                       case 'SGD':
-                               $usd_amount = $amount / 2;
-                               break;
-                       case 'SEK':
-                               $usd_amount = $amount / 10;
-                               break;
-                       case 'ILS':
-                               $usd_amount = $amount / 5;
-                               break;
-                       default:
-                               $usd_amount = $amount;
-                               break;
+       static function convert_to_usd( $currency_code, $amount ) {
+               require_once( dirname( __FILE__ ) . '/currencyRates.inc' );
+               $rates = getCurrencyRates();
+               $code = strtoupper( $currency_code );
+               if ( array_key_exists( $code, $rates ) ) {
+                       $usd_amount = $amount / $rates[$code];
+               } else {
+                       $usd_amount = $amount;
                }
-
                return $usd_amount;
        }
 

Added: trunk/extensions/DonationInterface/gateway_common/currencyRates.inc
===================================================================
--- trunk/extensions/DonationInterface/gateway_common/currencyRates.inc         
                (rev 0)
+++ trunk/extensions/DonationInterface/gateway_common/currencyRates.inc 
2011-11-03 23:06:33 UTC (rev 101910)
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * Supplies rough (not up-to-date) conversion rates for currencies
+ * Last updated November 3, 2011 (rounded down)
+ */
+function getCurrencyRates() {
+       $currencyRates = array(
+               'AED' => '4',
+               'ARS' => '4',
+               'AUD' => '1',
+               'BBD' => '2',
+               'BDT' => '76',
+               'BGN' => '1.4',
+               'BHD' => '0.4',
+               'BMD' => '1',
+               'BND' => '1.3',
+               'BOB' => '7',
+               'BRL' => '1.7',
+               'BSD' => '1',
+               'BZD' => '2',
+               'CAD' => '1',
+               'CHF' => '0.9',
+               'CLP' => '494',
+               'CNY' => '6',
+               'COP' => '1910',
+               'CRC' => '512',
+               'CZK' => '18',
+               'DKK' => '5',
+               'DOP' => '38',
+               'DZD' => '73',
+               'EEK' => '11',
+               'EGP' => '6',
+               'EUR' => '0.7',
+               'GBP' => '0.6',
+               'GTQ' => '7.8',
+               'HKD' => '7.7',
+               'HNL' => '19',
+               'HRK' => '5',
+               'HUF' => '219',
+               'IDR' => '8960',
+               'ILS' => '3.6',
+               'INR' => '49',
+               'JMD' => '85',
+               'JOD' => '0.7',
+               'JPY' => '78',
+               'KES' => '97',
+               'KRW' => '1127',
+               'KYD' => '0.8',
+               'KZT' => '147',
+               'LBP' => '1500',
+               'LKR' => '110',
+               'LTL' => '2.5',
+               'LVL' => '0.5',
+               'MAD' => '8.1',
+               'MKD' => '45',
+               'MUR' => '29',
+               'MVR' => '15',
+               'MXN' => '13',
+               'MYR' => '3',
+               'NOK' => '5.5',
+               'NZD' => '1.2',
+               'OMR' => '0.3',
+               'PAB' => '1',
+               'PEN' => '2.7',
+               'PHP' => '43',
+               'PKR' => '86',
+               'PLN' => '3',
+               'PYG' => '4190',
+               'QAR' => '3.6',
+               'RON' => '3.1',
+               'RUB' => '30',
+               'SAR' => '3.7',
+               'SEK' => '6.5',
+               'SGD' => '1.2',
+               'SVC' => '8.7',
+               'THB' => '30',
+               'TJS' => '4.7',
+               'TND' => '1.4',
+               'TRY' => '1.7',
+               'TTD' => '6',
+               'TWD' => '30',
+               'UAH' => '8',
+               'USD' => '1',
+               'UYU' => '19',
+               'UZS' => '1760',
+               'VND' => '21000',
+               'XAF' => '470',
+               'XCD' => '2.7',
+               'XOF' => '476',
+               'ZAR' => '7.8',
+       );
+       
+       return $currencyRates;
+}

Modified: trunk/extensions/DonationInterface/gateway_common/interface.i18n.php
===================================================================
--- trunk/extensions/DonationInterface/gateway_common/interface.i18n.php        
2011-11-03 23:04:36 UTC (rev 101909)
+++ trunk/extensions/DonationInterface/gateway_common/interface.i18n.php        
2011-11-03 23:06:33 UTC (rev 101910)
@@ -36,7 +36,7 @@
 No processors are available.',
 
 // Currency translations
-       'donate_interface-AEB' => 'AEB: UAE dirham',
+       'donate_interface-AED' => 'AED: UAE dirham',
        'donate_interface-ARS' => 'ARS: Argentinian peso',
        'donate_interface-AUD' => 'AUD: Australian dollar',
        'donate_interface-BBD' => 'BBD: Barbadian dollar',
@@ -112,7 +112,7 @@
        'donate_interface-TWD' => 'TWD: New Taiwan dollar',
        'donate_interface-UAH' => 'UAH: Ukrainian hryvnia',
        'donate_interface-USD' => 'USD: U.S. dollar',
-       'donate_interface-UTU' => 'UTU: Uruguayan peso',
+       'donate_interface-UYU' => 'UYU: Uruguayan peso',
        'donate_interface-UZS' => 'UZS: Uzbekistani som',
        'donate_interface-VND' => 'VND: Vietnamese dong',
        'donate_interface-XAF' => 'XAF: Central African CFA franc',
@@ -319,7 +319,7 @@
        'donate_interface-change' => 'Change',
        'donate_interface-select-credit-card' => 'Select credit card',
 
-       // For more USA states, see donate_interface.us-states.i18n.php.
+       // For more USA states, see us-states.i18n.php.
        'donate_interface-state-dropdown-YY'   => 'Select a state',
        'donate_interface-state-dropdown-XX' => 'Outside the U.S.',
 
@@ -408,7 +408,7 @@
        'donate_interface-comment-title' => "Next to check box; to choose 
whether the donor's comment shall be publically viewable or not.",
        'donate_interface-amount-error' => 'Error prompt if an invalid amount 
is entered (e.g. if the amount has letters in it).',
        'donate_interface-processing-error' => 'Error message.',
-       'donate_interface-AEB' => 'Used in drop-down field for currency.',
+       'donate_interface-AED' => 'Used in drop-down field for currency.',
        'donate_interface-ARS' => 'Used in drop-down field for currency.',
        'donate_interface-AUD' => 'Used in drop-down field for currency.',
        'donate_interface-BBD' => 'Used in drop-down field for currency.',
@@ -484,7 +484,7 @@
        'donate_interface-TWD' => 'Used in drop-down field for currency.',
        'donate_interface-UAH' => 'Used in drop-down field for currency.',
        'donate_interface-USD' => 'Used in drop-down field for currency.',
-       'donate_interface-UTU' => 'Used in drop-down field for currency.',
+       'donate_interface-UYU' => 'Used in drop-down field for currency.',
        'donate_interface-UZS' => 'Used in drop-down field for currency.',
        'donate_interface-VND' => 'Used in drop-down field for currency.',
        'donate_interface-XAF' => 'Used in drop-down field for currency.',


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to