currencies.php

来自「this the oscommerce 3.0 aplha 4」· PHP 代码 · 共 151 行

PHP
151
字号
<?php/*  $Id: currencies.php 1498 2007-03-29 14:04:50Z hpdl $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2006 osCommerce  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License v2 (1991)  as published by the Free Software Foundation.*/  class osC_Currencies {    var $currencies = array();// class constructor    function osC_Currencies() {      global $osC_Database;      $Qcurrencies = $osC_Database->query('select * from :table_currencies');      $Qcurrencies->bindTable(':table_currencies', TABLE_CURRENCIES);      $Qcurrencies->setCache('currencies');      $Qcurrencies->execute();      while ($Qcurrencies->next()) {        $this->currencies[$Qcurrencies->value('code')] = array('id' => $Qcurrencies->valueInt('currencies_id'),                                                               'title' => $Qcurrencies->value('title'),                                                               'symbol_left' => $Qcurrencies->value('symbol_left'),                                                               'symbol_right' => $Qcurrencies->value('symbol_right'),                                                               'decimal_places' => $Qcurrencies->valueInt('decimal_places'),                                                               'value' => $Qcurrencies->valueDecimal('value'));      }      $Qcurrencies->freeResult();    }// class methods    function format($number, $currency_code = '', $currency_value = '') {      global $osC_Language;      if (empty($currency_code) || ($this->exists($currency_code) == false)) {        $currency_code = (isset($_SESSION['currency']) ? $_SESSION['currency'] : DEFAULT_CURRENCY);      }      if (empty($currency_value) || (is_numeric($currency_value) == false)) {        $currency_value = $this->currencies[$currency_code]['value'];      }      return $this->currencies[$currency_code]['symbol_left'] . number_format(osc_round($number * $currency_value, $this->currencies[$currency_code]['decimal_places']), $this->currencies[$currency_code]['decimal_places'], $osC_Language->getNumericDecimalSeparator(), $osC_Language->getNumericThousandsSeparator()) . $this->currencies[$currency_code]['symbol_right'];    }    function formatRaw($number, $currency_code = '', $currency_value = '') {      if (empty($currency_code) || ($this->exists($currency_code) == false)) {        $currency_code = (isset($_SESSION['currency']) ? $_SESSION['currency'] : DEFAULT_CURRENCY);      }      if (empty($currency_value) || (is_numeric($currency_value) == false)) {        $currency_value = $this->currencies[$currency_code]['value'];      }      return number_format(osc_round($number * $currency_value, $this->currencies[$currency_code]['decimal_places']), $this->currencies[$currency_code]['decimal_places'], '.', '');    }    function addTaxRateToPrice($price, $tax_rate, $quantity = 1) {      global $osC_Tax;      $price = osc_round($price, $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      if ( (DISPLAY_PRICE_WITH_TAX == '1') && ($tax_rate > 0) ) {        $price += osc_round($price * ($tax_rate / 100), $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      }      return osc_round($price * $quantity, $this->currencies[DEFAULT_CURRENCY]['decimal_places']);    }    function displayPrice($price, $tax_class_id, $quantity = 1, $currency_code = null, $currency_value = null) {      global $osC_Tax;      $price = osc_round($price, $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      if ( (DISPLAY_PRICE_WITH_TAX == '1') && ($tax_class_id > 0) ) {        $price += osc_round($price * ($osC_Tax->getTaxRate($tax_class_id) / 100), $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      }      return $this->format($price * $quantity, $currency_code, $currency_value);    }    function displayPriceWithTaxRate($price, $tax_rate, $quantity = 1, $currency_code = '', $currency_value = '') {      global $osC_Tax;      $price = osc_round($price, $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      if ( (DISPLAY_PRICE_WITH_TAX == '1') && ($tax_rate > 0) ) {        $price += osc_round($price * ($tax_rate / 100), $this->currencies[DEFAULT_CURRENCY]['decimal_places']);      }      return $this->format($price * $quantity, $currency_code, $currency_value);    }    function exists($code) {      if (isset($this->currencies[$code])) {        return true;      }      return false;    }    function decimalPlaces($code) {      if ($this->exists($code)) {        return $this->currencies[$code]['decimal_places'];      }      return false;    }    function value($code) {      if ($this->exists($code)) {        return $this->currencies[$code]['value'];      }      return false;    }    function getData() {      return $this->currencies;    }    function getCode($id = '') {      if (is_numeric($id)) {        foreach ($this->currencies as $key => $value) {          if ($value['id'] == $id) {            return $key;          }        }      } else {        return $_SESSION['currency'];      }    }    function getID($code = '') {      if (empty($code)) {        $code = $_SESSION['currency'];      }      return $this->currencies[$code]['id'];    }  }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?