forked from verdnatura/hedera-web
merge exchange-rate
This commit is contained in:
parent
d19438bad1
commit
96758a3abb
rest/misc
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ejemplo:
|
* Ejemplo:
|
||||||
* <Cube><Cube time="2010-12-10"><Cube currency="USD" rate="1.3244"/>
|
* <Cube><Cube time="2010-12-10"><Cube currency="USD" rate="1.3244"/>
|
||||||
*/
|
*/
|
||||||
class ExchangeRate extends Vn\Lib\Method {
|
class ExchangeRate extends Vn\Lib\Method {
|
||||||
function run($db) {
|
function run($db) {
|
||||||
$db->selectDb('vn2008');
|
$db->selectDb('vn2008');
|
||||||
|
|
||||||
// Indica la URL del archivo
|
// Indica la URL del archivo
|
||||||
|
|
||||||
$xml = new SimpleXMLElement(
|
$xml = new SimpleXMLElement(
|
||||||
'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist-90d.xml', 0, TRUE);
|
'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist-90d.xml', 0, TRUE);
|
||||||
|
|
||||||
$date = $db->getValue("SELECT MAX(date) fecha FROM reference_rate");
|
$date = $db->getValue("SELECT MAX(date) fecha FROM reference_rate");
|
||||||
$maxDate = $date ? DateTime::createFromFormat('Y-m-d', $date) : NULL;
|
$maxDate = $date ? DateTime::createFromFormat('Y-m-d', $date) : NULL;
|
||||||
|
|
||||||
foreach($xml->Cube[0]->Cube as $cube) {
|
foreach($xml->Cube[0]->Cube as $cube) {
|
||||||
$xmlDate = new DateTime($cube['time']);
|
$xmlDate = new DateTime($cube['time']);
|
||||||
|
|
||||||
// Si existen datos más recientes de la máxima fecha los añade
|
// Si existen datos más recientes de la máxima fecha los añade
|
||||||
|
|
||||||
if ($maxDate <= $xmlDate)
|
if ($maxDate <= $xmlDate)
|
||||||
foreach($cube->Cube as $subCube)
|
foreach($cube->Cube as $subCube)
|
||||||
if ($subCube['currency'] == 'USD') {
|
if ($subCube['currency'] == 'USD') {
|
||||||
$params = [
|
$params = [
|
||||||
'date' => $xmlDate,
|
'date' => $xmlDate,
|
||||||
'rate' => $subCube['rate']
|
'rate' => $subCube['rate']
|
||||||
];
|
];
|
||||||
$db->query(
|
$db->query(
|
||||||
'REPLACE INTO reference_rate(moneda_id, date, rate)
|
'REPLACE INTO reference_rate(moneda_id, date, rate)
|
||||||
VALUES(2, #date, #rate)',
|
VALUES(2, #date, #rate)',
|
||||||
$params
|
$params
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->queryFromFile(__DIR__.'/exrate-add');
|
$db->queryFromFile(__DIR__.'/exrate-add');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue