Example #1
0
 /**
  * daily currencies : http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
  * historical records (very big): http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml
  */
 private function loadCurrencyRate($sourceCurrency, $targetcurrency, $date, $type = Gpf_Db_CurrencyRate::TYPE_DAILY)
 {
     $sql = new Gpf_SqlBuilder_SelectBuilder();
     $sql->select->addAll(Gpf_Db_Table_CurrencyRates::getInstance());
     $sql->from->add(Gpf_Db_Table_CurrencyRates::getName());
     $sql->where->add(Gpf_Db_Table_CurrencyRates::SOURCE_CURRENCY, '=', $sourceCurrency);
     $sql->where->add(Gpf_Db_Table_CurrencyRates::TARGET_CURRENCY, '=', $targetcurrency);
     $sql->where->add(Gpf_Db_Table_CurrencyRates::VALID_FROM, '<=', $date);
     $sql->where->add(Gpf_Db_Table_CurrencyRates::VALID_TO, '>=', $date);
     $sql->where->add(Gpf_Db_Table_CurrencyRates::TYPE, '=', $type);
     Gpf_Log::debug($sql->toString());
     return $sql->getOneRow()->get(Gpf_Db_Table_CurrencyRates::RATE);
 }
 function init()
 {
     $this->setTable(Gpf_Db_Table_CurrencyRates::getInstance());
     parent::init();
 }