⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shopping_cart.php

📁 每个RFC 3261信息头有一个相应的存取标识. 但是,许多信息头拥有同样的形式。 例如。To和From的信息头都是由显示名和一个URI组成。 To和From信息头用来管理与处理NameAddr实例的
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/*  $Id: shopping_cart.php,v 1.35 2003/06/25 21:14:33 hpdl Exp $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2003 osCommerce  Released under the GNU General Public License*/  class shoppingCart {    var $contents, $total, $weight, $cartID, $content_type;    function shoppingCart() {      $this->reset();    }    function restore_contents() {      global $customer_id;      if (!tep_session_is_registered('customer_id')) return false;// insert current cart contents in database      if (is_array($this->contents)) {        reset($this->contents);        while (list($products_id, ) = each($this->contents)) {          $qty = $this->contents[$products_id]['qty'];          $product_query = tep_db_query("select products_id from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "'");          if (!tep_db_num_rows($product_query)) {            tep_db_query("insert into " . TABLE_CUSTOMERS_BASKET . " (customers_id, products_id, customers_basket_quantity, customers_basket_date_added) values ('" . (int)$customer_id . "', '" . tep_db_input($products_id) . "', '" . $qty . "', '" . date('Ymd') . "')");            if (isset($this->contents[$products_id]['attributes'])) {              reset($this->contents[$products_id]['attributes']);              while (list($option, $value) = each($this->contents[$products_id]['attributes'])) {                tep_db_query("insert into " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " (customers_id, products_id, products_options_id, products_options_value_id) values ('" . (int)$customer_id . "', '" . tep_db_input($products_id) . "', '" . (int)$option . "', '" . (int)$value . "')");              }            }          } else {            tep_db_query("update " . TABLE_CUSTOMERS_BASKET . " set customers_basket_quantity = '" . $qty . "' where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "'");          }        }      }// reset per-session cart contents, but not the database contents      $this->reset(false);      $products_query = tep_db_query("select products_id, customers_basket_quantity from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "'");      while ($products = tep_db_fetch_array($products_query)) {        $this->contents[$products['products_id']] = array('qty' => $products['customers_basket_quantity']);// attributes        $attributes_query = tep_db_query("select products_options_id, products_options_value_id from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products['products_id']) . "'");        while ($attributes = tep_db_fetch_array($attributes_query)) {          $this->contents[$products['products_id']]['attributes'][$attributes['products_options_id']] = $attributes['products_options_value_id'];        }      }      $this->cleanup();    }    function reset($reset_database = false) {      global $customer_id;      $this->contents = array();      $this->total = 0;      $this->weight = 0;      $this->content_type = false;      if (tep_session_is_registered('customer_id') && ($reset_database == true)) {        tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "'");        tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customer_id . "'");      }      unset($this->cartID);      if (tep_session_is_registered('cartID')) tep_session_unregister('cartID');    }    function add_cart($products_id, $qty = '1', $attributes = '', $notify = true) {      global $new_products_id_in_cart, $customer_id;      $products_id = tep_get_uprid($products_id, $attributes);      if ($notify == true) {        $new_products_id_in_cart = $products_id;        tep_session_register('new_products_id_in_cart');      }      if ($this->in_cart($products_id)) {        $this->update_quantity($products_id, $qty, $attributes);      } else {        $this->contents[] = array($products_id);        $this->contents[$products_id] = array('qty' => $qty);// insert into database        if (tep_session_is_registered('customer_id')) tep_db_query("insert into " . TABLE_CUSTOMERS_BASKET . " (customers_id, products_id, customers_basket_quantity, customers_basket_date_added) values ('" . (int)$customer_id . "', '" . tep_db_input($products_id) . "', '" . $qty . "', '" . date('Ymd') . "')");        if (is_array($attributes)) {          reset($attributes);          while (list($option, $value) = each($attributes)) {            $this->contents[$products_id]['attributes'][$option] = $value;// insert into database            if (tep_session_is_registered('customer_id')) tep_db_query("insert into " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " (customers_id, products_id, products_options_id, products_options_value_id) values ('" . (int)$customer_id . "', '" . tep_db_input($products_id) . "', '" . (int)$option . "', '" . (int)$value . "')");          }        }      }      $this->cleanup();// assign a temporary unique ID to the order contents to prevent hack attempts during the checkout procedure      $this->cartID = $this->generate_cart_id();    }    function update_quantity($products_id, $quantity = '', $attributes = '') {      global $customer_id;      if (empty($quantity)) return true; // nothing needs to be updated if theres no quantity, so we return true..      $this->contents[$products_id] = array('qty' => $quantity);// update database      if (tep_session_is_registered('customer_id')) tep_db_query("update " . TABLE_CUSTOMERS_BASKET . " set customers_basket_quantity = '" . $quantity . "' where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "'");      if (is_array($attributes)) {        reset($attributes);        while (list($option, $value) = each($attributes)) {          $this->contents[$products_id]['attributes'][$option] = $value;// update database          if (tep_session_is_registered('customer_id')) tep_db_query("update " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " set products_options_value_id = '" . (int)$value . "' where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "' and products_options_id = '" . (int)$option . "'");        }      }    }    function cleanup() {      global $customer_id;      reset($this->contents);      while (list($key,) = each($this->contents)) {        if ($this->contents[$key]['qty'] < 1) {          unset($this->contents[$key]);// remove from database          if (tep_session_is_registered('customer_id')) {            tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($key) . "'");            tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($key) . "'");          }        }      }    }    function count_contents() {  // get total number of items in cart       $total_items = 0;      if (is_array($this->contents)) {        reset($this->contents);        while (list($products_id, ) = each($this->contents)) {          $total_items += $this->get_quantity($products_id);        }      }      return $total_items;    }    function get_quantity($products_id) {      if (isset($this->contents[$products_id])) {        return $this->contents[$products_id]['qty'];      } else {        return 0;      }    }    function in_cart($products_id) {      if (isset($this->contents[$products_id])) {        return true;      } else {        return false;      }    }    function remove($products_id) {      global $customer_id;      unset($this->contents[$products_id]);// remove from database      if (tep_session_is_registered('customer_id')) {        tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "'");        tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customer_id . "' and products_id = '" . tep_db_input($products_id) . "'");      }// assign a temporary unique ID to the order contents to prevent hack attempts during the checkout procedure      $this->cartID = $this->generate_cart_id();    }    function remove_all() {      $this->reset();    }    function get_product_id_list() {

⌨️ 快捷键说明

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