public function testNotSupported()
 {
     $this->setExpectedException('Exception');
     $converter = CurrencyConverter::get_converter();
     $converter->setCurrencies(array('NZD' => 2, 'USD' => 5));
     $converter->rateForCurrency('YEN');
 }
 /**
  * This method generates JSON String for Wallet Balance
  *
  * @param $SelectedCurrency
  * @param $CurrentBalance
  *
  * @return string
  */
 private static function CreateBalanceJSON($SelectedCurrency, $CurrentBalance)
 {
     $AvailableCurrencies = array('RUB', 'EUR', 'USD', 'GBP');
     $BaseCurrency = "USD";
     $BalanceArray = array();
     foreach ($AvailableCurrencies as $Currency) {
         if ($BaseCurrency == $SelectedCurrency && $Currency == $SelectedCurrency) {
             $BalanceArray[$Currency] = array("currency" => $Currency, "balance" => $CurrentBalance, "pendingBalance" => 0, "balanceQuotaUsage" => null, "balanceIncludingPending" => $CurrentBalance + 0);
         } else {
             $ConvertRate = new CurrencyConverter($BaseCurrency, $Currency);
             $ConvertedBalance = $ConvertRate->toForeign($CurrentBalance);
             $BalanceArray[$Currency] = array("currency" => $Currency, "balance" => round($ConvertedBalance, 2), "pendingBalance" => 0, "balanceQuotaUsage" => null, "balanceIncludingPending" => round($ConvertedBalance, 2) + 0);
         }
     }
     $ServerData = array("serverHostname" => $_SERVER['SERVER_NAME'], "serverPort" => $_SERVER['SERVER_PORT'], "serverScheme" => 'http', "countryCodeAlpha3" => $SelectedCurrency);
     $BalanceArray = array_merge($BalanceArray, $ServerData);
     return json_encode($BalanceArray);
 }
Example #3
0
    {
        $dbh = $this->db_connect();
        $stmt = $dbh->prepare('SELECT currency,rate FROM conversions');
        $stmt->execute();
        $result = array();
        while ($conversion = $stmt->fetch()) {
            $result[$conversion['currency']] = array();
            $result[$conversion['currency']]['rate'] = floatval($conversion['rate']);
        }
        unset($stmt);
        unset($dbh);
        return $result;
    }
}
// class CurrencyConverter
header("Content-type: text/javascript");
// convert a single amount:
/*	$currency = $_GET['currency'];
	$amount = $_GET['amount'];
	$obj = new CurrencyConverter();
	$usd = $obj->convert($currency,$amount);
	echo json_encode(array('usd',$usd));
*/
$obj = new CurrencyConverter();
$result = json_encode($obj->getConversions());
// allow both jsonP and json:
if (isset($_GET["callback"])) {
    echo preg_replace("/[^a-zA-Z0-9_]/", "", $_GET["callback"]) . "(" . $result . ")";
} else {
    echo $result;
}
Example #4
0
<?php

/**
 * Created by SUR-SER.
 * User: SURO
 * Date: 22.08.2015
 * Time: 3:49
 */
require_once 'ICurrencyConversion.php';
require_once 'ICurrencyConverterService.php';
require_once 'CurrencyConverter.php';
require_once 'CurrencyServices\\CbaService.php';
require_once 'CurrencyServices\\GoogleService.php';
$converter = new CurrencyConverter(new CurrencyServices\CbaService());
var_dump($converter->convert([['USD', 'RUB', 10], ['RUB', 'USD', 50000], ['AMD', 'USD', 1000], ['USD', 'AMD', 10]]));
//var_dump($converter->getCurrencies());
$converter->setService(new CurrencyServices\GoogleService());
var_dump($converter->convert([['USD', 'RUB', 10], ['RUB', 'USD', 50000], ['AMD', 'USD', 1000], ['USD', 'AMD', 10]]));
            $row = $res->fetch_assoc();
            $convertedCurrency[] = $this->defaultCurrency . ' ' . number_format((double) $row['rate'] * (double) $amount, 2);
        }
        $stmt->close();
        return $convertedCurrency;
    }
    /**
     * Converts the input into its corresponding exchange rate
     * 
     * @param string $transaction A string containing the currency symbol and original amount e.g., CHF 123.45
     * @return string A string containing the computed exchange rate in the default currency e.g., USD 146.80
     */
    private function convertCurrencyByAmount($transaction)
    {
        list($currency, $amount) = explode(" ", $transaction);
        $stmt = $this->mysqli->prepare("SELECT currency, rate FROM exchange_rates WHERE currency = ?");
        $stmt->bind_param("s", $currency);
        $stmt->execute();
        $res = $stmt->get_result();
        $row = $res->fetch_assoc();
        $stmt->close();
        return $this->defaultCurrency . ' ' . number_format((double) $row['rate'] * (double) $amount, 2);
    }
    public function __destruct()
    {
        $this->mysqli->close();
    }
}
$cc = new CurrencyConverter();
echo $cc->convertCurrency('AUD 562.5') . "\n";
print_r($cc->convertCurrency(array('JPY 5000', 'CZK 62.5')));