Esempio n. 1
0
    public static function refreshCurrencies()
    {
        parent::refreshCurrencies();
        if (!($feed = Tools::simplexml_load_file(_GOINTERPAY_RATES_URL_ . Configuration::get('GOINTERPAY_MERCHANT_ID')))) {
            return Tools::displayError('Cannot parse Interpay feed.');
        }
        foreach ($feed->rateOffer as $currency) {
            if ($currency->buyCurrency != 'USD') {
                continue;
            }
            $currency_to_update_id = Currency::getIdByIsoCode($currency->sellCurrency);
            if ($currency_to_update_id) {
                $currency_to_update = new Currency((int) $currency_to_update_id);
                if (Validate::isLoadedObject($currency_to_update)) {
                    $currency_to_update->conversion_rate = (double) $currency->rate;
                    $currency_to_update->update();
                    Db::getInstance()->Execute('
					UPDATE ' . _DB_PREFIX_ . 'currency
					SET rateoffer_id = \'' . pSQL($currency->id) . '\', expiry = \'' . pSQL($currency->expiry) . '\'
					WHERE id_currency = ' . (int) $currency_to_update_id);
                }
            }
        }
        Configuration::updateValue('GOINTERPAY_CURRENCY_UPDATE', time());
    }