zones.php

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

PHP
101
字号
<?php/*  $Id: zones.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_Shipping_zones extends osC_Shipping {    var $num_zones;    var $_title,        $_code = 'zones',        $_status = true,        $_sort_order;// class constructor    function osC_Shipping_zones() {      global $osC_Language;      $this->icon = '';      $this->_title = $osC_Language->get('shipping_zones_title');      $this->_description = $osC_Language->get('shipping_zones_description');      $this->_status = (defined('MODULE_SHIPPING_ZONES_STATUS') && (MODULE_SHIPPING_ZONES_STATUS == 'True') ? true : false);      $this->_sort_order = (defined('MODULE_SHIPPING_ZONES_SORT_ORDER') ? MODULE_SHIPPING_ZONES_SORT_ORDER : null);// CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED// HPDL; also needs to match the value at oscommerce/admin/includes/modules/shipping/zones.php      $this->num_zones = 1;    }// class methods    function initialize() {      $this->tax_class = MODULE_SHIPPING_ZONES_TAX_CLASS;    }    function quote() {      global $osC_Language, $osC_ShoppingCart, $osC_Weight;      $dest_country = $osC_ShoppingCart->getShippingAddress('country_iso_code_2');      $dest_zone = 0;      $error = false;      $shipping_weight = $osC_Weight->convert($osC_ShoppingCart->getWeight(), SHIPPING_WEIGHT_UNIT, MODULE_SHIPPING_ZONES_WEIGHT_UNIT);      for ($i=1; $i<=$this->num_zones; $i++) {        $countries_table = constant('MODULE_SHIPPING_ZONES_COUNTRIES_' . $i);        $country_zones = split("[,]", $countries_table);        if (in_array($dest_country, $country_zones)) {          $dest_zone = $i;          break;        }      }      if ($dest_zone == 0) {        $error = true;      } else {        $shipping = -1;        $zones_cost = constant('MODULE_SHIPPING_ZONES_COST_' . $dest_zone);        $zones_table = split("[:,]" , $zones_cost);        $size = sizeof($zones_table);        for ($i=0; $i<$size; $i+=2) {          if ($shipping_weight <= $zones_table[$i]) {            $shipping = $zones_table[$i+1];            $shipping_method = $osC_Language->get('shipping_zones_method') . ' ' . $dest_country . ' : ' . $osC_Weight->display($osC_ShoppingCart->getWeight(), MODULE_SHIPPING_ZONES_WEIGHT_UNIT);            break;          }        }        if ($shipping == -1) {          $shipping_cost = 0;          $shipping_method = $osC_Language->get('shipping_zones_undefined_rate');        } else {          $shipping_cost = ($shipping * $osC_ShoppingCart->numberOfShippingBoxes()) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone);        }      }      $this->quotes = array('id' => $this->_code,                            'module' => $this->_title,                            'methods' => array(array('id' => $this->_code,                                                     'title' => $shipping_method,                                                     'cost' => $shipping_cost)),                            'tax_class_id' => $this->tax_class);      if (!empty($this->icon)) $this->quotes['icon'] = osc_image($this->icon, $this->_title);      if ($error == true) $this->quotes['error'] = $osC_Language->get('shipping_zones_invalid_zone');      return $this->quotes;    }  }?>

⌨️ 快捷键说明

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