Results 1 to 3 of 3
  1. #1
    Join Date
    Mar 2005
    Location
    United Kingdom
    Posts
    608
    Plugin Contributions
    0

    Default Version help with admin/includes/classes/order.php

    Hi,

    I'm in the process of updating my store and need help identifying the correct version of admin/includes/classes/order.php to use with V1.3.9h

    The version that that comes with the stock download starts as follows:

    PHP Code:
    <?php
    /**
     * @package admin
     * @copyright Copyright 2003-2007 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     * @version $Id: order.php 5784 2007-02-14 04:00:58Z ajeh $
     */

      
    class order {
        var 
    $info$totals$products$customer$delivery;

        function 
    order($order_id) {
          
    $this->info = array();
          
    $this->totals = array();
          
    $this->products = array();
          
    $this->customer = array();
          
    $this->delivery = array();

          
    $this->query($order_id);
        }

        function 
    query($order_id) {
          global 
    $db;
          
    $order $db->Execute("select cc_cvv, customers_name, customers_company, customers_street_address,
                                        customers_suburb, customers_city, customers_postcode, customers_id,
                                        customers_state, customers_country, customers_telephone,
                                        customers_email_address, customers_address_format_id, delivery_name,
                                        delivery_company, delivery_street_address, delivery_suburb,
                                        delivery_city, delivery_postcode, delivery_state, delivery_country,
                                        delivery_address_format_id, billing_name, billing_company,
                                        billing_street_address, billing_suburb, billing_city, billing_postcode,
                                        billing_state, billing_country, billing_address_format_id,
                                        coupon_code, payment_method, payment_module_code, shipping_method, shipping_module_code,
                                        cc_type, cc_owner, cc_number, cc_expires, currency,
                                        currency_value, date_purchased, orders_status, last_modified,
                                        order_total, order_tax, ip_address
                                 from " 
    TABLE_ORDERS "
                                 where orders_id = '" 
    . (int)$order_id "'");


          
    $totals $db->Execute("select title, text, class
                                  from " 
    TABLE_ORDERS_TOTAL "
                                  where orders_id = '" 
    . (int)$order_id "'
                                  order by sort_order"
    );

          while (!
    $totals->EOF) {
            if (
    $totals->fields['class'] == 'ot_coupon') {
              
    $coupon_link_query "SELECT coupon_id
                      from " 
    TABLE_COUPONS "
                      where coupon_code ='" 
    $order->fields['coupon_code'] . "'";
              
    $coupon_link $db->Execute($coupon_link_query);
              
    $zc_coupon_link '<a href="javascript:couponpopupWindow(\'' zen_catalog_href_link(FILENAME_POPUP_COUPON_HELP'cID=' $coupon_link->fields['coupon_id']) . '\')">';
            }
            
    $this->totals[] = array('title' => ($totals->fields['class'] == 'ot_coupon' $zc_coupon_link $totals->fields['title'] . '</a>' $totals->fields['title']),
                                    
    'text' => $totals->fields['text'],
                                    
    'class' => $totals->fields['class']);
            
    $totals->MoveNext();
          }

          
    $this->info = array('currency' => $order->fields['currency'],
                              
    'currency_value' => $order->fields['currency_value'],
                              
    'payment_method' => $order->fields['payment_method'],
                              
    'payment_module_code' => $order->fields['payment_module_code'],
                              
    'shipping_method' => $order->fields['shipping_method'],
                              
    'shipping_module_code' => $order->fields['shipping_module_code'],
                              
    'coupon_code' => $order->fields['coupon_code'],
                              
    'cc_type' => $order->fields['cc_type'],
                              
    'cc_owner' => $order->fields['cc_owner'],
                              
    'cc_number' => $order->fields['cc_number'],
                              
    'cc_cvv' => $order->fields['cc_cvv'],
                              
    'cc_expires' => $order->fields['cc_expires'],
                              
    'date_purchased' => $order->fields['date_purchased'],
                              
    'orders_status' => $order->fields['orders_status'],
                              
    'total' => $order->fields['order_total'],
                              
    'tax' => $order->fields['order_tax'],
                              
    'last_modified' => $order->fields['last_modified'],
                              
    'ip_address' => $order->fields['ip_address']
                              );

          
    $this->customer = array('name' => $order->fields['customers_name'],
                                  
    'id' => $order->fields['customers_id'],
                                  
    'company' => $order->fields['customers_company'],
                                  
    'street_address' => $order->fields['customers_street_address'],
                                  
    'suburb' => $order->fields['customers_suburb'],
                                  
    'city' => $order->fields['customers_city'],
                                  
    'postcode' => $order->fields['customers_postcode'],
                                  
    'state' => $order->fields['customers_state'],
                                  
    'country' => $order->fields['customers_country'],
                                  
    'format_id' => $order->fields['customers_address_format_id'],
                                  
    'telephone' => $order->fields['customers_telephone'],
                                  
    'email_address' => $order->fields['customers_email_address']);

          
    $this->delivery = array('name' => $order->fields['delivery_name'],
                                  
    'company' => $order->fields['delivery_company'],
                                  
    'street_address' => $order->fields['delivery_street_address'],
                                  
    'suburb' => $order->fields['delivery_suburb'],
                                  
    'city' => $order->fields['delivery_city'],
                                  
    'postcode' => $order->fields['delivery_postcode'],
                                  
    'state' => $order->fields['delivery_state'],
                                  
    'country' => $order->fields['delivery_country'],
                                  
    'format_id' => $order->fields['delivery_address_format_id']);

          
    $this->billing = array('name' => $order->fields['billing_name'],
                                 
    'company' => $order->fields['billing_company'],
                                 
    'street_address' => $order->fields['billing_street_address'],
                                 
    'suburb' => $order->fields['billing_suburb'],
                                 
    'city' => $order->fields['billing_city'],
                                 
    'postcode' => $order->fields['billing_postcode'],
                                 
    'state' => $order->fields['billing_state'],
                                 
    'country' => $order->fields['billing_country'],
                                 
    'format_id' => $order->fields['billing_address_format_id']);

          
    $index 0;
          
    $orders_products $db->Execute("select orders_products_id, products_id, products_name, products_model,
                                                  products_price, products_tax, products_quantity,
                                                  final_price, onetime_charges,
                                                  product_is_free
                                           from " 
    TABLE_ORDERS_PRODUCTS "
                                           where orders_id = '" 
    . (int)$order_id "'
                                           order by orders_products_id"
    );

          while (!
    $orders_products->EOF) {
    // convert quantity to proper decimals - account history
              
    if (QUANTITY_DECIMALS != 0) {
                
    $fix_qty $orders_products->fields['products_quantity'];
                switch (
    true) {
                case (!
    strstr($fix_qty'.')):
                  
    $new_qty $fix_qty;
                  break;
                default:
                  
    $new_qty preg_replace('/[0]+$/'''$orders_products->fields['products_quantity']);
                  break;
                }
              } else {
                
    $new_qty $orders_products->fields['products_quantity'];
              }

              
    $new_qty round($new_qtyQUANTITY_DECIMALS);

              if (
    $new_qty == (int)$new_qty) {
                
    $new_qty = (int)$new_qty;
              }

            
    $this->products[$index] = array('qty' => $new_qty,
                                            
    'id' => $orders_products->fields['products_id'],
                                            
    'name' => $orders_products->fields['products_name'],
                                            
    'model' => $orders_products->fields['products_model'],
                                            
    'tax' => $orders_products->fields['products_tax'],
                                            
    'price' => $orders_products->fields['products_price'],
                                            
    'onetime_charges' => $orders_products->fields['onetime_charges'],
                                            
    'final_price' => $orders_products->fields['final_price'],
                                            
    'product_is_free' => $orders_products->fields['product_is_free']);

            
    $subindex 0;
            
    $attributes $db->Execute("select products_options, products_options_values, options_values_price,
                                               price_prefix,
                                               product_attribute_is_free
                                        from " 
    TABLE_ORDERS_PRODUCTS_ATTRIBUTES "
                                        where orders_id = '" 
    . (int)$order_id "'
                                        and orders_products_id = '" 
    . (int)$orders_products->fields['orders_products_id'] . "'");
            if (
    $attributes->RecordCount()>0) {
              while (!
    $attributes->EOF) {
                
    $this->products[$index]['attributes'][$subindex] = array('option' => $attributes->fields['products_options'],
                                                                         
    'value' => $attributes->fields['products_options_values'],
                                                                         
    'prefix' => $attributes->fields['price_prefix'],
                                                                         
    'price' => $attributes->fields['options_values_price'],
                                                                         
    'product_attribute_is_free' =>$attributes->fields['product_attribute_is_free']);

                
    $subindex++;
                
    $attributes->MoveNext();
              }
            }
            
    $index++;
            
    $orders_products->MoveNext();
          }
        }
      }
    ?>
    Some of the modules I'm installing though have the following version that has a lot of added code and was released by DrByte on 2010-06-02. The truncated code starts as follows:

    PHP Code:
    <?php
    /**
     * File contains the order-processing class ("order")
     *
     * @package classes
     * @copyright Copyright 2003-2010 Zen Cart Development Team
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     * @version $Id: order.php 16580 2010-06-02 21:12:23Z drbyte $
     */
    /**
     * order class
     *
     * Handles all order-processing functions
     *
     * @package classes
     */
    if (!defined('IS_ADMIN_FLAG')) {
      die(
    'Illegal Access');
    }
    class 
    order extends base {
      var 
    $info$totals$products$customer$delivery$content_type$email_low_stock$products_ordered_attributes,
      
    $products_ordered$products_ordered_email$attachArray;

      function 
    order($order_id '') {
        
    $this->info = array();
        
    $this->totals = array();
        
    $this->products = array();
        
    $this->customer = array();
        
    $this->delivery = array();

        if (
    zen_not_null($order_id)) {
          
    $this->query($order_id);
        } else {
          
    $this->cart();
        }
      }

      function 
    query($order_id) {
        global 
    $db;

        
    $order_id zen_db_prepare_input($order_id);

        
    $order_query "select customers_id, customers_name, customers_company,
                             customers_street_address, customers_suburb, customers_city,
                             customers_postcode, customers_state, customers_country,
                             customers_telephone, customers_email_address, customers_address_format_id,
                             delivery_name, delivery_company, delivery_street_address, delivery_suburb,
                             delivery_city, delivery_postcode, delivery_state, delivery_country,
                             delivery_address_format_id, billing_name, billing_company,
                             billing_street_address, billing_suburb, billing_city, billing_postcode,
                             billing_state, billing_country, billing_address_format_id,
                             payment_method, payment_module_code, shipping_method, shipping_module_code,
                             coupon_code, cc_type, cc_owner, cc_number, cc_expires, currency, currency_value,
                             date_purchased, orders_status, last_modified, order_total, order_tax, ip_address
                            from " 
    TABLE_ORDERS "
                            where orders_id = '" 
    . (int)$order_id "'";

        
    $order $db->Execute($order_query);

        
    $totals_query "select title, text, class
                             from " 
    TABLE_ORDERS_TOTAL "
                             where orders_id = '" 
    . (int)$order_id "'
                             order by sort_order"
    ;

        
    $totals $db->Execute($totals_query);

        while (!
    $totals->EOF) {


          if (
    $totals->fields['class'] == 'ot_coupon') {
            
    $coupon_link_query "SELECT coupon_id
                    from " 
    TABLE_COUPONS "
                    where coupon_code ='" 
    $order->fields['coupon_code'] . "'";
            
    $coupon_link $db->Execute($coupon_link_query);
            
    $zc_coupon_link '<a href="javascript:couponpopupWindow(\'' zen_href_link(FILENAME_POPUP_COUPON_HELP'cID=' $coupon_link->fields['coupon_id']) . '\')">';
          }
          
    $this->totals[] = array('title' => ($totals->fields['class'] == 'ot_coupon' $zc_coupon_link $totals->fields['title'] . '</a>' $totals->fields['title']),
                                  
    'text' => $totals->fields['text'],
                                  
    'class' => $totals->fields['class']);
          
    $totals->MoveNext();
        }

        
    $order_total_query "select text, value
                                 from " 
    TABLE_ORDERS_TOTAL "
                                 where orders_id = '" 
    . (int)$order_id "'
                                 and class = 'ot_total'"
    ;


        
    $order_total $db->Execute($order_total_query);


        
    $shipping_method_query "select title, value
                                    from " 
    TABLE_ORDERS_TOTAL "
                                    where orders_id = '" 
    . (int)$order_id "'
                                    and class = 'ot_shipping'"
    ;


        
    $shipping_method $db->Execute($shipping_method_query);

        
    $order_status_query "select orders_status_name
                                 from " 
    TABLE_ORDERS_STATUS "
                                 where orders_status_id = '" 
    $order->fields['orders_status'] . "'
                                 and language_id = '" 
    . (int)$_SESSION['languages_id'] . "'";

        
    $order_status $db->Execute($order_status_query);
    Searching the forum using code snippets, especially "/* START: ADD MY CUSTOM DETAILS" there are many posts by DrByte refering to this version but I can't work out where it comes from or why it isn't included in the V1.3.9h release?

    The two versions are attached if someone could kindly let me know where the later version came from.

    Any help appreciated.

    Brent
    Last edited by Brent; 11 Jan 2011 at 08:01 PM.

  2. #2
    Join Date
    Apr 2006
    Location
    London, UK
    Posts
    10,569
    Plugin Contributions
    25

    Default Re: Version help with admin/includes/classes/order.php

    Different parts of the cart. The first is the admin order class (SITE_ROOT/admin/includes/classes/order.php) and the second is the store-side order class (SITE_ROOT/includes/classes/order.php).
    Kuroi Web Design and Development | Twitter

    (Questions answered in the forum only - so that any forum member can benefit - not by personal message)

  3. #3
    Join Date
    Mar 2005
    Location
    United Kingdom
    Posts
    608
    Plugin Contributions
    0

    Default Re: Version help with admin/includes/classes/order.php

    THANK YOU

 

 

Similar Threads

  1. Replies: 0
    Last Post: 10 Mar 2013, 11:11 PM
  2. Replies: 1
    Last Post: 28 Jul 2011, 07:43 PM
  3. Replies: 8
    Last Post: 6 Jan 2010, 02:34 PM
  4. PhP question about a line of code in includes/classes/order.php
    By dbrewster in forum Managing Customers and Orders
    Replies: 12
    Last Post: 1 Feb 2007, 03:30 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR