X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_curr_rate.php;h=edc1a82be275b62c2e93e00c757ee1644fa69324;hb=78ea1d81456f62768bd7ff924c27a713160b0e1d;hp=3aa2058a8418ef298cde6ec7a2afb8e5a915f07d;hpb=5ce913066288e69478a52cfd0887861027865e3c;p=Pman.Core diff --git a/DataObjects/Core_curr_rate.php b/DataObjects/Core_curr_rate.php index 3aa2058a..edc1a82b 100644 --- a/DataObjects/Core_curr_rate.php +++ b/DataObjects/Core_curr_rate.php @@ -79,26 +79,38 @@ class Pman_Core_DataObjects_Core_curr_rate extends DB_DataObject } $rates['RMB'] = $rates['CNY'] ; - foreach($rates as $r=>$v) { + foreach($rates as $cur=>$rate) { - $x = DB_DataObject::Factory('core_curr_rate'); - $x->curr = $c; + $ov = DB_DataObject::Factory('core_curr_rate'); + $ov->curr = $cur; $nl = clone($x); - $x->orderBy('to_date DESC'); - $x->limit(1); + $ov->orderBy('to_date DESC'); + $ov->limit(1); + $nl->from_dt = DB_DataObject::sqlValue("NOW()"); - $$nl->from_dt = DB_DataObject::sqlValue("NOW()"); - if ($x->find(true)) { - if (strtotime($x->to_date) > time()) { + if ($ov->find(true)) { + if (strtotime($ov->to_date) > time()) { + continue; + } + $nl->from_dt = $ov->to_date; + + + + if ($ov->rate == $rate) { + // modify the old one to expire + $oo = clone($ov); + $ov->to_date = $nv->to_from_dt; + $ov->update($oo); continue; } - $from_date = $x->to_date; - } + // create a new row. + + + - $x->whereAdd('to_date > NOW()');