天天看點

opencart mysql優化_解決OpenCart背景Dashboard首頁打開很慢的問題

public function updateCurrencies($force = false) {

if (extension_loaded('curl')) {

$data = array();

if ($force) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "'");

} else {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "currency WHERE code != '" . $this->db->escape($this->config->get('config_currency')) . "' AND date_modified < '" . $this->db->escape(date('Y-m-d H:i:s', strtotime('-1 day'))) . "'");

}

foreach ($query->rows as $result) {

$data[] = $this->config->get('config_currency') . $result['code'] . '=X';

}

$curl = curl_init();

//就是這裡了,看到木有

curl_setopt($curl, CURLOPT_URL, 'http://download.finance.yahoo.com/d/quotes.csv?s=' . implode(',', $data) . '&f=sl1&e=.csv');

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$content = curl_exec($curl);

curl_close($curl);

$lines = explode("\n", trim($content));

foreach ($lines as $line) {

$currency = utf8_substr($line, 4, 3);

$value = utf8_substr($line, 11, 6);

if ((float)$value) {

$this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '" . (float)$value . "', date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE code = '" . $this->db->escape($currency) . "'");

}

}

$this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '1.00000', date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE code = '" . $this->db->escape($this->config->get('config_currency')) . "'");

$this->cache->delete('currency');

}

}