UpdateCurrencyRate.php
[Pman.Core] / UpdateCurrencyRate.php
index cd2cde7..8dac826 100644 (file)
@@ -13,6 +13,9 @@ class Pman_Core_UpdateCurrencyRate extends Pman
     
     var $actionUrl = 'http://www.oanda.com/currency/historical-rates-classic';
     
+    var $mapping = array(
+        'CNY' => 'RMB'
+    );
     
     function getAuth() 
     {
@@ -27,37 +30,61 @@ class Pman_Core_UpdateCurrencyRate extends Pman
     
     function get()
     {
-        echo"'update currency exchange rate \n";
+        echo "obtain the currency lists... \n";
+        
+        $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("/html/body/select[@name='exch']");
+        $elements = $xpath->query("//select[@name='exch']/option");
         
         foreach($elements as $el) {
-            print_r($el);
-            echo "\n";
+            $currency[] = $el->getAttribute('value');
+        }
+        
+        if(empty($currency)){
+            die('no any currency');
         }
-        exit;
-//        $params = array(
-//            'lang' => 'en',
-//            'result' => 1,
-//            'date1' => '10/14/14',
-//            'date'=> '10/20/14',
-//            'date_fmt' => 'us',
-//            'exch' => 'CNY',
-//            'expr' => 'USD',
-//            'margin_fixed' => 0,
-//            'format'=> 'HTML'
-//        );
-//        
-//        $response = $this->curl($this->actionUrl, $params, 'POST');
-//        
-//        file_put_contents('/tmp/test.html', $response);
+        
+        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'=> 'CSV'
+            );
+        }
+        
+        $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);
+        
+        $ts = $xpath->query("//td[@id='content_section']");
+        
+        $elements = $xpath->query("table", $ts->item(0));
+        
+        print_r($elements);
         
     }