<?php
+// note this no longer works -- we could try using their JSON feed?
+
+
require_once 'Pman.php';
class Pman_Core_UpdateCurrencyRate extends Pman
die("NOT ALLOWED");
}
- function get()
- {
- echo "obtain the currency lists... \n";
+ function get($args, $opts=array())
+ {
+
+ //DB_DataObject::DebugLevel(1);
+ $d = DB_DataObject::Factory('core_curr_rate');
+ $d->loadRates();
+
+ $hkd = $d->convert(1,'USD','HKD');
+
+ echo "1 USD is ~ $hkd HKD (should be about 7.75)\n ";
+
+ die("done");
+
+
+ }
+ function oldversion()
+ {
$currency = array();
$response = $this->curl($this->actionUrl, array(), 'GET');
$fromDate = date('m/d/y', strtotime("-6 MONTH"));
$toDate = date('m/d/y');
- foreach ($currency as $c){
+ $total = count($currency);
+
+ foreach ($currency as $k => $c){
+
+ echo "\nProcessing Currency : $c ($k / $total) \n";
+
$params = array(
'lang' => 'en',
'result' => 1,
$rate = empty($elements->item(0)->nodeValue) ? 0 : $elements->item(0)->nodeValue * 1;
- $curr = DB_DataObject::factory('core_curr_rate');
-
- $curr->curr = $c;
+ $this->processCurrRate($c, $rate, $fromDate, $toDate);
- $o = false;
-
- if($curr->find(true)){
- $o = clone($curr);
+ if(array_key_exists($c, $this->mapping)){
+ $this->processCurrRate($this->mapping[$c], $rate, $fromDate, $toDate);
}
+ }
+
+ return;
+ }
+
+ function processCurrRate($currency, $rate, $from, $to)
+ {
+ $curr = DB_DataObject::factory('core_curr_rate');
- $curr->setForm(array(
- 'rate' => $rate,
- 'from' => date('Y-m-d H:i:s', strtotime($fromDate)),
- 'to' => date('Y-m-d H:i:s', strtotime($toDate))
- ));
+ $curr->curr = $currency;
+
+ $o = false;
+ if($curr->find(true)){
+ $o = clone($curr);
}
+
+ $curr->setFrom(array(
+ 'rate' => $rate,
+ 'from_dt' => date('Y-m-d H:i:s', strtotime($from)),
+ 'to_dt' => date('Y-m-d H:i:s', strtotime($to))
+ ));
+
+ (empty($o)) ? $curr->insert() : $curr->update($o);
-
-
+ return;
}
function curl($url, $request = array(), $method = 'GET')
return $response;
}
- /*
- lang:en
- result:1
- date1:10/14/14
- date:10/20/14
- date_fmt:us
- exch:USD
- exch2:
- expr:EUR
- expr2:
- margin_fixed:0
- format:HTML
- SUBMIT:Get Table
- */
}
\ No newline at end of file