SimpleExcel.php
[Pman.Core] / UpdateCurrencyRate.php
index 461d4b0..0c0fe04 100644 (file)
@@ -1,5 +1,8 @@
 <?php
 
+// note this no longer works -- we could try using their JSON feed?
+
+
 require_once 'Pman.php';
 
 class Pman_Core_UpdateCurrencyRate extends Pman
@@ -28,10 +31,24 @@ 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');
@@ -58,7 +75,12 @@ class Pman_Core_UpdateCurrencyRate extends Pman
         $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,
@@ -86,26 +108,37 @@ class Pman_Core_UpdateCurrencyRate extends Pman
 
             $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') 
@@ -139,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