Beispiel #1
0
 function getJSON($arguments)
 {
     $instance = \DiscoveredComponents\Exchanges::getInstance($arguments['exchange']);
     $key = $instance->getCode();
     $q = db()->prepare("SELECT * FROM ticker_recent WHERE exchange=?");
     $q->execute(array($key));
     $rates = array();
     while ($rate = $q->fetch()) {
         $rates[] = array('currency1' => $rate['currency1'], 'currency2' => $rate['currency2'], 'last_trade' => $rate['last_trade'], 'updated' => $rate['created_at']);
     }
     return array("code" => $instance->getCode(), "name" => $instance->getName(), "disabled" => $instance instanceof \Openclerk\Currencies\DisabledExchange, "rates" => $rates);
 }
Beispiel #2
0
<?php

/**
 * Discovered exchange ticker job.
 */
if (!$exchange) {
    throw new JobException("No exchange defined");
}
$instance = \DiscoveredComponents\Exchanges::getInstance($exchange);
$rates = $instance->fetchAllRates($logger);
$logger->info("Found " . count($rates) . " rates from exchange");
foreach ($rates as $code => $rate) {
    $currency1 = $rate['currency1'];
    $currency2 = $rate['currency2'];
    if (!in_array($currency1, get_all_currencies())) {
        $logger->info("Ignoring currency '{$currency1}': not a supported currency");
        continue;
    }
    if (!in_array($currency2, get_all_currencies())) {
        $logger->info("Ignoring currency '{$currency2}': not a supported currency");
        continue;
    }
    insert_new_ticker($job, array("name" => $exchange), $currency1, $currency2, $rate);
}
Beispiel #3
0
function get_exchange_name($n)
{
    if (in_array($n, Exchanges::getKeys())) {
        $exchange = Exchanges::getInstance($n);
        return $exchange->getName();
    }
    if (in_array($n, Accounts::getKeys())) {
        $account = Accounts::getInstance($n);
        return $account->getName();
    }
    $exchanges = get_all_exchanges();
    if (isset($exchanges[$n])) {
        return $exchanges[$n];
    }
    return "Unknown (" . htmlspecialchars($n) . "]";
}