X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=UpdateCurrencyRate.php;h=0c0fe04d6b6cfb5c4b7596f8e8938230ddf5866d;hp=5ba04b454702c4e6b41d4a0d7808b07eb4add55c;hb=refs%2Fheads%2Fwip_alan_T5884_add_photo_to_report;hpb=efb2150d53f950364700bcfc063ac7991ec64850 diff --git a/UpdateCurrencyRate.php b/UpdateCurrencyRate.php index 5ba04b45..0c0fe04d 100644 --- a/UpdateCurrencyRate.php +++ b/UpdateCurrencyRate.php @@ -1,5 +1,8 @@ array( - 'desc' => 'Only run procedures and return', - 'short' => 'p', - 'default' => '', - 'min' => 1, - 'max' => 1, - ), - ); + static $cli_opts = array(); var $cli = false; @@ -36,76 +31,88 @@ class Pman_Core_UpdateCurrencyRate extends Pman die("NOT ALLOWED"); } - function get($args, $opts) + function get($args, $opts=array()) { -// $currency = array(); -// -// $response = $this->curl($this->actionUrl, array(), 'GET'); -// -// libxml_use_internal_errors (true); -// -// $doc = new DOMDocument(); -// $doc->loadHTML($response); -// -// libxml_use_internal_errors (false); -// -// $xpath = new DOMXpath($doc); -// -// $elements = $xpath->query("//select[@name='exch']/option"); -// -// foreach($elements as $el) { -// $currency[] = $el->getAttribute('value'); -// } -// -// if(empty($currency)){ -// die('no any currency'); -// } -// -// $fromDate = date('m/d/y', strtotime("-6 MONTH")); -// $toDate = date('m/d/y'); -// -// $total = count($currency); -// -// foreach ($currency as $k => $c){ -// -// echo "\nProcessing Currency : $c ($k / $total) \n"; -// -// $params = array( -// 'lang' => 'en', -// 'result' => 1, -// 'date1' => $fromDate, -// 'date' => $toDate, -// 'date_fmt' => 'us', -// 'exch' => $c, -// 'expr' => 'USD', -// 'margin_fixed' => 0, -// 'format' => 'HTML' -// ); -// -// $response = $this->curl($this->actionUrl, $params, 'POST'); -// -// libxml_use_internal_errors (true); -// -// $doc = new DOMDocument(); -// $doc->loadHTML($response); -// -// libxml_use_internal_errors (false); -// -// $xpath = new DOMXpath($doc); -// -// $elements = $xpath->query("//td[@id='content_section']/table/tr[last()]/td/table/tr[1]/td[last()]"); -// -// $rate = empty($elements->item(0)->nodeValue) ? 0 : $elements->item(0)->nodeValue * 1; -// -// $this->processCurrRate($c, $rate, $fromDate, $toDate); -// -// if(array_key_exists($c, $this->mapping)){ -// $this->processCurrRate($this->mapping[$c], $rate, $fromDate, $toDate); -// } -// } - - if(empty($opts['procedures-only'])){ - $this->jok("DONE"); + + //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'); + + libxml_use_internal_errors (true); + + $doc = new DOMDocument(); + $doc->loadHTML($response); + + libxml_use_internal_errors (false); + + $xpath = new DOMXpath($doc); + + $elements = $xpath->query("//select[@name='exch']/option"); + + foreach($elements as $el) { + $currency[] = $el->getAttribute('value'); + } + + if(empty($currency)){ + die('no any currency'); + } + + $fromDate = date('m/d/y', strtotime("-6 MONTH")); + $toDate = date('m/d/y'); + + $total = count($currency); + + foreach ($currency as $k => $c){ + + echo "\nProcessing Currency : $c ($k / $total) \n"; + + $params = array( + 'lang' => 'en', + 'result' => 1, + 'date1' => $fromDate, + 'date' => $toDate, + 'date_fmt' => 'us', + 'exch' => $c, + 'expr' => 'USD', + 'margin_fixed' => 0, + 'format' => 'HTML' + ); + + $response = $this->curl($this->actionUrl, $params, 'POST'); + + libxml_use_internal_errors (true); + + $doc = new DOMDocument(); + $doc->loadHTML($response); + + libxml_use_internal_errors (false); + + $xpath = new DOMXpath($doc); + + $elements = $xpath->query("//td[@id='content_section']/table/tr[last()]/td/table/tr[1]/td[last()]"); + + $rate = empty($elements->item(0)->nodeValue) ? 0 : $elements->item(0)->nodeValue * 1; + + $this->processCurrRate($c, $rate, $fromDate, $toDate); + + if(array_key_exists($c, $this->mapping)){ + $this->processCurrRate($this->mapping[$c], $rate, $fromDate, $toDate); + } } return; @@ -165,18 +172,4 @@ class Pman_Core_UpdateCurrencyRate extends Pman 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