• 26-05-2021, 15:44:46
    #1
    Merhaba Arkadaşlar, Opencart 3.0.3.2 sürümünde web sitesi şöyle bir hata veriyor. Sizde daha önce böyle bir problem yaşadıysanız ve çözümünü biliyorsanız rica etsem paylaşabilir misiniz?

    Warning: A non-numeric value encountered in /var/www/vhosts/abc.com/httpdocs/admin/model/localisation/currency.php on line 141Warning: Division by zero in /var/www/vhosts/abc.com/httpdocs/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /var/www/vhosts/abc.com/httpdocs/admin/model/localisation/currency.php on line 141Warning: Division by zero in /var/www/vhosts/xyzsaksi.com/httpdocs/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /var/www/vhosts/abc.com/httpdocs/admin/model/localisation/currency.php on line 141Warning: Division by zero in /var/www/vhosts/abc.com/httpdocs/admin/model/localisation/currency.php on line 141




  • 26-05-2021, 16:24:22
    #2
    Php versiyonu düşürmeyi denediniz mi?
  • 26-05-2021, 16:40:58
    #3
    salimsevindik adlı üyeden alıntı: mesajı görüntüle
    Php versiyonu düşürmeyi denediniz mi?

    Evet denedim fakat çözüm olmadı
  • 26-05-2021, 16:46:12
    #4
    vqmod yoksa kurun varsa silin öyle deneyin silecekseniz index.php dosyalarını orjinal index phplerle değiştirin
  • 26-05-2021, 16:46:34
    #5
    aliyanar adlı üyeden alıntı: mesajı görüntüle
    Evet denedim fakat çözüm olmadı
    Ben buna benzer sorunu 7.4 te aldım. Sürümü 7.3 e çektim çözülmüştü. O zaman kodda o satırda ne var bakmak lazım. Kolaylıklar dilerim.
  • 26-05-2021, 16:55:48
    #6
    sincapdoruk adlı üyeden alıntı: mesajı görüntüle
    vqmod yoksa kurun varsa silin öyle deneyin silecekseniz index.php dosyalarını orjinal index phplerle değiştirin
    Söylediklerinizi yaptım fakat problem devam ediyo
  • 26-05-2021, 17:36:04
    #7
    aliyanar adlı üyeden alıntı: mesajı görüntüle
    Söylediklerinizi yaptım fakat problem devam ediyo
    özelden ftp ve admin bilgilerini atarsanız yardımcı olabilirim
  • 26-05-2021, 17:41:37
    #8
    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');
        }
  • 26-05-2021, 17:52:55
    #9
    fskgrup adlı üyeden alıntı: mesajı görüntüle
    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');
        }

    Çözümünüzü denedim fakat admin paneli hata verdi