X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=UpdateCurrencyRate.php;h=fc37c1f9476e210ecbf176896fdbf480b6231319;hp=7e3e5faea4812f85bd17dbd1e396c0e44f772a09;hb=fec5bf43d91f14f72e1c52f94baae3bb73702ae2;hpb=cf5994a38a7f8d90bfd3351561f36f3616f61062 diff --git a/UpdateCurrencyRate.php b/UpdateCurrencyRate.php index 7e3e5fae..fc37c1f9 100644 --- a/UpdateCurrencyRate.php +++ b/UpdateCurrencyRate.php @@ -29,9 +29,7 @@ class Pman_Core_UpdateCurrencyRate extends Pman } function get() - { - echo "obtain the currency lists... \n"; - + { $currency = array(); $response = $this->curl($this->actionUrl, array(), 'GET'); @@ -55,39 +53,64 @@ class Pman_Core_UpdateCurrencyRate extends Pman die('no any currency'); } - foreach ($currency as $c){ - $params = array( - 'lang' => 'en', - 'result' => 1, - 'date1' => date('m/d/y', strtotime("-6 MONTH")), - 'date'=> date('m/d/y'), - 'date_fmt' => 'us', - 'exch' => $c, - 'expr' => 'USD', - 'margin_fixed' => 0, - 'format'=> 'HTML' - ); - } - - $response = $this->curl($this->actionUrl, $params, 'POST'); + $fromDate = date('m/d/y', strtotime("-6 MONTH")); + $toDate = date('m/d/y'); - libxml_use_internal_errors (true); + $total = count($currency); - $doc = new DOMDocument(); - $doc->loadHTML($response); - - libxml_use_internal_errors (false); - - $xpath = new DOMXpath($doc); - - $ts = $xpath->query("//table[@id='converter_table']"); - print_R($ts->item(0)) ;exit; - $elements = $xpath->query("//table[@id='converter_table']"); + 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'); - foreach($elements as $el) { - print_R($el);exit; + 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; + + $curr = DB_DataObject::factory('core_curr_rate'); + + $curr->curr = $c; + + $o = false; + + if($curr->find(true)){ + $o = clone($curr); + } + + $curr->setFrom(array( + 'rate' => $rate, + 'from' => date('Y-m-d H:i:s', strtotime($fromDate)), + 'to' => date('Y-m-d H:i:s', strtotime($toDate)) + )); + + (empty($o)) ? $curr->insert() : $curr->update($o); + } + $this->jok("DONE"); + } function curl($url, $request = array(), $method = 'GET')