/** * 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(); }