Merhaba,
Varsayılan para birimini mağaza ayarlarından güncelleyin lütfen.
Birde
admin/model/localisation/currency.php de refresh() fonksiyonunu şu şekilde değiştirebilirsiniz.
İşleminizi yaparken mutlaka yedke alın.
public function refresh($force = false) {
$currencies = array();
$default = $this->config->get('config_currency');
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) {
if (($result['code'] != $default)) {
$currencies[] = $result;
}
}
if ($currencies) {
$tcmb_dosya = 'https://www.tcmb.gov.tr/kurlar/today.xml';
$context = stream_context_create(array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false)));
libxml_set_streams_context($context);
$connect_tcmb = simplexml_load_file($tcmb_dosya);
if ($connect_tcmb) {
$this->session->data['tcmb'] = "1";
$usdefektifsatis = $connect_tcmb->Currency[0]->BanknoteSelling;
$usdefektifalis = $connect_tcmb->Currency[0]->BanknoteBuying;
$usdforexsatis = $connect_tcmb->Currency[0]->ForexSelling;
$usdforexalis = $connect_tcmb->Currency[0]->ForexBuying;
$euroefektifsatis = $connect_tcmb->Currency[3]->BanknoteSelling;
$euroefektifalis = $connect_tcmb->Currency[3]->BanknoteBuying;
$euroforexsatis = $connect_tcmb->Currency[3]->ForexSelling;
$euroforexalis = $connect_tcmb->Currency[3]->ForexBuying;
$rubleforexsatis = $connect_tcmb->Currency[14]->ForexSelling;
$rubleforexalis = $connect_tcmb->Currency[14]->ForexBuying;
$sterlinefektifsatis = $connect_tcmb->Currency[4]->BanknoteSelling;
$sterlinefektifalis = $connect_tcmb->Currency[4]->BanknoteBuying;
$sterlinforexsatis = $connect_tcmb->Currency[4]->ForexSelling;
$sterlinforexalis = $connect_tcmb->Currency[4]->ForexBuying;
//Tercih belirtilmeli
$dolartercih = $usdefektifsatis;
$eurotercih = $euroefektifsatis;
$rubletercih = $rubleforexsatis;
$sterlintercih = $sterlinefektifsatis;
if ($default == "TRY") {
foreach ($currencies as $currency) {
if (isset($currency['code']) and $currency['code'] == "USD") {
$usd = 1 / (float) $dolartercih;
$this->editValueByCode($currency['code'], $usd);
} else if (isset($currency['code']) and $currency['code'] == "EUR") {
$euro = 1 / (float) $eurotercih;
$this->editValueByCode($currency['code'], $euro);
} else if (isset($currency['code']) and $currency['code'] == "RUB") {
$ruble = 1 / (float) $rubletercih;
$this->editValueByCode($currency['code'], $ruble);
} else if (isset($currency['code']) and $currency['code'] == "GBP") {
$sterlin = 1 / (float) $sterlintercih;
$this->editValueByCode($currency['code'], $sterlin);
}
}
}
if ($default == "USD") {
foreach ($currencies as $currency) {
if (isset($currency['code']) and $currency['code'] == "TRY") {
$usd = (float) $dolartercih;
$this->editValueByCode($currency['code'], $usd);
} else if (isset($currency['code']) and $currency['code'] == "EUR") {
$euro = (float) $dolartercih / (float) $eurotercih;
$this->editValueByCode($currency['code'], $euro);
} else if (isset($currency['code']) and $currency['code'] == "RUB") {
$ruble = (float) $dolartercih / (float) $rubletercih;
$this->editValueByCode($currency['code'], $ruble);
} else if (isset($currency['code']) and $currency['code'] == "GBP") {
$sterlin = (float) $dolartercih / (float) $sterlintercih;
$this->editValueByCode($currency['code'], $sterlin);
}
}
}
if ($default == "EUR") {
foreach ($currencies as $currency) {
if (isset($currency['code']) and $currency['code'] == "USD") {
$usd = (float) $eurotercih / (float) $dolartercih;
$this->editValueByCode($currency['code'], $usd);
} else if (isset($currency['code']) and $currency['code'] == "TRY") {
$euro = (float) $eurotercih;
$this->editValueByCode($currency['code'], $euro);
} else if (isset($currency['code']) and $currency['code'] == "RUB") {
$ruble = (float) $eurotercih / (float) $rubletercih;
$this->editValueByCode($currency['code'], $ruble);
} else if (isset($currency['code']) and $currency['code'] == "GBP") {
$sterlin = (float) $eurotercih / (float) $sterlintercih;
$this->editValueByCode($currency['code'], $sterlin);
}
}
}
if ($default == "RUB") {
foreach ($currencies as $currency) {
if (isset($currency['code']) and $currency['code'] == "USD") {
$usd = (float) $rubletercih / (float) $dolartercih;
$this->editValueByCode($currency['code'], $usd);
} else if (isset($currency['code']) and $currency['code'] == "TRY") {
$ruble = (float) $rubletercih;
$this->editValueByCode($currency['code'], $ruble);
} else if (isset($currency['code']) and $currency['code'] == "EUR") {
$euro = (float) $rubletercih / (float) $eurotercih;
$this->editValueByCode($currency['code'], $euro);
} else if (isset($currency['code']) and $currency['code'] == "GBP") {
$sterlin = (float) $rubletercih / (float) $sterlintercih;
$this->editValueByCode($currency['code'], $sterlin);
}
}
}
if ($default == "GBP") {
foreach ($currencies as $currency) {
if (isset($currency['code']) and $currency['code'] == "USD") {
$usd = (float) $sterlintercih / (float) $dolartercih;
$this->editValueByCode($currency['code'], $usd);
} else if (isset($currency['code']) and $currency['code'] == "TRY") {
$sterlin = (float) $sterlintercih;
$this->editValueByCode($currency['code'], $sterlin);
} else if (isset($currency['code']) and $currency['code'] == "RUB") {
$ruble = (float) $sterlintercih / (float) $rubletercih;
$this->editValueByCode($currency['code'], $ruble);
} else if (isset($currency['code']) and $currency['code'] == "EUR") {
$euro = (float) $sterlintercih / (float) $eurotercih;
$this->editValueByCode($currency['code'], $euro);
}
}
}
$this->cache->delete('currency');
} else {
$this->session->data['tcmb'] = "2";
}
}
$this->editValueByCode($default, '1.00000');
}