Nathalie979 Posted December 29, 2008 Share Posted December 29, 2008 Hi there, I've recently installed the auspost module http://addons.oscommerce.com/info/648 The Flat Rate Files to use for Satchels contribution nearly halfway down the page Anyway it's working perfectly except the subtotal comes to $0.00 instead of adding the item price + postage i.e. Sub-Total: $64.90 Australia Post Regular Mail (Standard Postal delivery 2-5 days Australia Wide): $6.00 Total: $0.00 any help with this will be greatly appreciated Thanks in advance!! Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 Hi there,I've recently installed the auspost module http://addons.oscommerce.com/info/648 The Flat Rate Files to use for Satchels contribution nearly halfway down the page Anyway it's working perfectly except the subtotal comes to $0.00 instead of adding the item price + postage i.e. Sub-Total: $64.90 Australia Post Regular Mail (Standard Postal delivery 2-5 days Australia Wide): $6.00 Total: $0.00 any help with this will be greatly appreciated Thanks in advance!! works for me, does any other shipping method do the same? Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 29, 2008 Author Share Posted December 29, 2008 no all other shipping methods work fine i was just trying with this one because its better suited as i use satchels to post off items.. Um i thought it may be because i have direct deposit as a payment method however it does the same when i select paypal as a payment method.. Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 no all other shipping methods work fine i was just trying with this one because its better suited as i use satchels to post off items..Um i thought it may be because i have direct deposit as a payment method however it does the same when i select paypal as a payment method.. Maybe try a uninstall and then install. Or copy the files back up to the website and do the uninstall and install. Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 29, 2008 Author Share Posted December 29, 2008 Already tried uninstalling because when it didnt work i attempted fiddling with another module but i prefer this one.. any other insight into why it might not be adding it up? I haven't modified the files just installed em as i downloaded them Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 Already tried uninstalling because when it didnt work i attempted fiddling with another module but i prefer this one.. any other insight into why it might not be adding it up? I haven't modified the files just installed em as i downloaded them The Flat Rate Files to use for Satchels b should work as they are, except the rates need to be updated. I have no idea why yours are the way they are. Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 29, 2008 Author Share Posted December 29, 2008 Thanks for trying to help, this is embarassing but i just double checked by installing flat rate shipping to test out the subtotal, it is giving me $0.00 after all so i'm guessing it may have changed due to a previously installed mod. I know it was working properly about 2 weeks ago but i've installed several mods since then.. I have a discount mod installed could that be causing a problem? Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 Thanks for trying to help, this is embarassing but i just double checked by installing flat rate shipping to test out the subtotal, it is giving me $0.00 after all so i'm guessing it may have changed due to a previously installed mod.I know it was working properly about 2 weeks ago but i've installed several mods since then.. I have a discount mod installed could that be causing a problem? Maybe something that modified the ot_subtotal.php file or there abouts? Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 29, 2008 Author Share Posted December 29, 2008 I had a look they haven't been modified since the site was installed i'll quickly download a fresh copy in case i got a buggy one and compare them. Sorry for being such a pain! Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 I had a look they haven't been modified since the site was installed i'll quickly download a fresh copy in case i got a buggy one and compare them.Sorry for being such a pain! No problem. Which discount mod? Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 29, 2008 Author Share Posted December 29, 2008 (edited) I believe it is this one http://addons.oscommerce.com/info/4269 the modified code for it that i have is labeled as Kgt Discount so i think i have Version 3.3 installed by member kgt because i remember the newest version didn't work or was incomplete. Here is the code for my includes/classes/order.php page which was modified for that mod. <?php/* $Id: order.php,v 1.33 2003/06/09 22:25:35 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2007 osCommerce Released under the GNU General Public License */ class order { var $info, $totals, $products, $customer, $delivery, $content_type; function order($order_id = '') { $this->info = array(); $this->totals = array(); $this->products = array(); $this->customer = array(); $this->delivery = array(); if (tep_not_null($order_id)) { $this->query($order_id); } else { $this->cart(); } } function query($order_id) { global $languages_id; $order_id = tep_db_prepare_input($order_id); $order_query = tep_db_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, cc_type, cc_owner, cc_number, cc_expires, currency, currency_value, date_purchased, orders_status, last_modified from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'"); $order = tep_db_fetch_array($order_query); $totals_query = tep_db_query("select title, text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' order by sort_order"); while ($totals = tep_db_fetch_array($totals_query)) { $this->totals[] = array('title' => $totals['title'], 'text' => $totals['text']); } $order_total_query = tep_db_query("select text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_total'"); $order_total = tep_db_fetch_array($order_total_query); $shipping_method_query = tep_db_query("select title from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_shipping'"); $shipping_method = tep_db_fetch_array($shipping_method_query); $order_status_query = tep_db_query("select orders_status_name from " . TABLE_ORDERS_STATUS . " where orders_status_id = '" . $order['orders_status'] . "' and language_id = '" . (int)$languages_id . "'"); $order_status = tep_db_fetch_array($order_status_query); $this->info = array('currency' => $order['currency'], 'currency_value' => $order['currency_value'], 'payment_method' => $order['payment_method'], 'cc_type' => $order['cc_type'], 'cc_owner' => $order['cc_owner'], 'cc_number' => $order['cc_number'], 'cc_expires' => $order['cc_expires'], 'date_purchased' => $order['date_purchased'], 'orders_status' => $order_status['orders_status_name'], 'last_modified' => $order['last_modified'], 'total' => strip_tags($order_total['text']), 'shipping_method' => ((substr($shipping_method['title'], -1) == ':') ? substr(strip_tags($shipping_method['title']), 0, -1) : strip_tags($shipping_method['title']))); $this->customer = array('id' => $order['customers_id'], 'name' => $order['customers_name'], 'company' => $order['customers_company'], 'street_address' => $order['customers_street_address'], 'suburb' => $order['customers_suburb'], 'city' => $order['customers_city'], 'postcode' => $order['customers_postcode'], 'state' => $order['customers_state'], 'country' => array('title' => $order['customers_country']), 'format_id' => $order['customers_address_format_id'], 'telephone' => $order['customers_telephone'], 'email_address' => $order['customers_email_address']); $this->delivery = array('name' => $order['delivery_name'], 'company' => $order['delivery_company'], 'street_address' => $order['delivery_street_address'], 'suburb' => $order['delivery_suburb'], 'city' => $order['delivery_city'], 'postcode' => $order['delivery_postcode'], 'state' => $order['delivery_state'], 'country' => array('title' => $order['delivery_country']), 'format_id' => $order['delivery_address_format_id']); if (empty($this->delivery['name']) && empty($this->delivery['street_address'])) { $this->delivery = false; } $this->billing = array('name' => $order['billing_name'], 'company' => $order['billing_company'], 'street_address' => $order['billing_street_address'], 'suburb' => $order['billing_suburb'], 'city' => $order['billing_city'], 'postcode' => $order['billing_postcode'], 'state' => $order['billing_state'], 'country' => array('title' => $order['billing_country']), 'format_id' => $order['billing_address_format_id']); $index = 0; $orders_products_query = tep_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'"); while ($orders_products = tep_db_fetch_array($orders_products_query)) { $this->products[$index] = array('qty' => $orders_products['products_quantity'], 'id' => $orders_products['products_id'], 'name' => $orders_products['products_name'], 'model' => $orders_products['products_model'], 'tax' => $orders_products['products_tax'], 'price' => $orders_products['products_price'], 'final_price' => $orders_products['final_price']); $subindex = 0; $attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id . "' and orders_products_id = '" . (int)$orders_products['orders_products_id'] . "'"); if (tep_db_num_rows($attributes_query)) { while ($attributes = tep_db_fetch_array($attributes_query)) { $this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'], 'value' => $attributes['products_options_values'], 'prefix' => $attributes['price_prefix'], 'price' => $attributes['options_values_price']); $subindex++; } } $this->info['tax_groups']["{$this->products[$index]['tax']}"] = '1'; $index++; } } function cart() { global $HTTP_POST_VARS, $customer_id, $sendto, $billto, $cart, $languages_id, $currency, $currencies, $shipping, $payment, $comments; $this->content_type = $cart->get_content_type(); $customer_address_query = tep_db_query("select c.customers_firstname, c.customers_lastname, c.customers_telephone, c.customers_email_address, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, co.countries_id, co.countries_name, co.countries_iso_code_2, co.countries_iso_code_3, co.address_format_id, ab.entry_state from " . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id) where c.customers_id = '" . (int)$customer_id . "' and ab.customers_id = '" . (int)$customer_id . "' and c.customers_default_address_id = ab.address_book_id"); $customer_address = tep_db_fetch_array($customer_address_query); $shipping_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$sendto . "'"); $shipping_address = tep_db_fetch_array($shipping_address_query); $billing_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$billto . "'"); $billing_address = tep_db_fetch_array($billing_address_query); $tax_address_query = tep_db_query("select ab.entry_country_id, ab.entry_zone_id from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)($this->content_type == 'virtual' ? $billto : $sendto) . "'"); $tax_address = tep_db_fetch_array($tax_address_query); $this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID, 'currency' => $currency, 'currency_value' => $currencies->currencies[$currency]['value'], 'payment_method' => $payment, 'cc_type' => (isset($HTTP_POST_VARS['cc_type']) ? $HTTP_POST_VARS['cc_type'] : ''), 'cc_owner' => (isset($HTTP_POST_VARS['cc_owner']) ? $HTTP_POST_VARS['cc_owner'] : ''), 'cc_number' => (isset($HTTP_POST_VARS['cc_number_nh-dns']) ? $HTTP_POST_VARS['cc_number_nh-dns'] : ''), 'cc_expires' => (isset($HTTP_POST_VARS['cc_expires']) ? $HTTP_POST_VARS['cc_expires'] : ''), 'shipping_method' => $shipping['title'], 'shipping_cost' => $shipping['cost'], 'subtotal' => 0, 'tax' => 0, 'tax_groups' => array(), 'comments' => (tep_session_is_registered('comments') && !empty($comments) ? $comments : '')); if (isset($GLOBALS[$payment]) && is_object($GLOBALS[$payment])) { if (isset($GLOBALS[$payment]->public_title)) { $this->info['payment_method'] = $GLOBALS[$payment]->public_title; } else { $this->info['payment_method'] = $GLOBALS[$payment]->title; } if ( isset($GLOBALS[$payment]->order_status) && is_numeric($GLOBALS[$payment]->order_status) && ($GLOBALS[$payment]->order_status > 0) ) { $this->info['order_status'] = $GLOBALS[$payment]->order_status; } } $this->customer = array('firstname' => $customer_address['customers_firstname'], 'lastname' => $customer_address['customers_lastname'], 'company' => $customer_address['entry_company'], 'street_address' => $customer_address['entry_street_address'], 'suburb' => $customer_address['entry_suburb'], 'city' => $customer_address['entry_city'], 'postcode' => $customer_address['entry_postcode'], 'state' => ((tep_not_null($customer_address['entry_state'])) ? $customer_address['entry_state'] : $customer_address['zone_name']), 'zone_id' => $customer_address['entry_zone_id'], 'country' => array('id' => $customer_address['countries_id'], 'title' => $customer_address['countries_name'], 'iso_code_2' => $customer_address['countries_iso_code_2'], 'iso_code_3' => $customer_address['countries_iso_code_3']), 'format_id' => $customer_address['address_format_id'], 'telephone' => $customer_address['customers_telephone'], 'email_address' => $customer_address['customers_email_address']); $this->delivery = array('firstname' => $shipping_address['entry_firstname'], 'lastname' => $shipping_address['entry_lastname'], 'company' => $shipping_address['entry_company'], 'street_address' => $shipping_address['entry_street_address'], 'suburb' => $shipping_address['entry_suburb'], 'city' => $shipping_address['entry_city'], 'postcode' => $shipping_address['entry_postcode'], 'state' => ((tep_not_null($shipping_address['entry_state'])) ? $shipping_address['entry_state'] : $shipping_address['zone_name']), 'zone_id' => $shipping_address['entry_zone_id'], 'country' => array('id' => $shipping_address['countries_id'], 'title' => $shipping_address['countries_name'], 'iso_code_2' => $shipping_address['countries_iso_code_2'], 'iso_code_3' => $shipping_address['countries_iso_code_3']), 'country_id' => $shipping_address['entry_country_id'], 'format_id' => $shipping_address['address_format_id']); $this->billing = array('firstname' => $billing_address['entry_firstname'], 'lastname' => $billing_address['entry_lastname'], 'company' => $billing_address['entry_company'], 'street_address' => $billing_address['entry_street_address'], 'suburb' => $billing_address['entry_suburb'], 'city' => $billing_address['entry_city'], 'postcode' => $billing_address['entry_postcode'], 'state' => ((tep_not_null($billing_address['entry_state'])) ? $billing_address['entry_state'] : $billing_address['zone_name']), 'zone_id' => $billing_address['entry_zone_id'], 'country' => array('id' => $billing_address['countries_id'], 'title' => $billing_address['countries_name'], 'iso_code_2' => $billing_address['countries_iso_code_2'], 'iso_code_3' => $billing_address['countries_iso_code_3']), 'country_id' => $billing_address['entry_country_id'], 'format_id' => $billing_address['address_format_id']); $index = 0; $products = $cart->get_products(); //kgt - discount coupons global $coupon; if( tep_session_is_registered( 'coupon' ) && tep_not_null( $coupon ) ) { require_once( DIR_WS_CLASSES.'discount_coupon.php' ); $this->coupon = new discount_coupon( $coupon, $this->delivery ); $this->coupon->total_valid_products( $products ); $valid_products_count = 0; } //end kgt - discount coupons for ($i=0, $n=sizeof($products); $i<$n; $i++) { $this->products[$index] = array('qty' => $products[$i]['quantity'], 'name' => $products[$i]['name'], 'model' => $products[$i]['model'], 'tax' => tep_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), 'tax_description' => tep_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), 'price' => $products[$i]['price'], 'final_price' => $products[$i]['price'] + $cart->attributes_price($products[$i]['id']), 'weight' => $products[$i]['weight'], 'id' => $products[$i]['id']); if ($products[$i]['attributes']) { $subindex = 0; reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $attributes_query = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . (int)$products[$i]['id'] . "' and pa.options_id = '" . (int)$option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . (int)$value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . (int)$languages_id . "' and poval.language_id = '" . (int)$languages_id . "'"); $attributes = tep_db_fetch_array($attributes_query); $this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options_name'], 'value' => $attributes['products_options_values_name'], 'option_id' => $option, 'value_id' => $value, 'prefix' => $attributes['price_prefix'], 'price' => $attributes['options_values_price']); $subindex++; } } //kgt - discount coupon if( is_object( $this->coupon ) ) { $applied_discount = 0; $applied_discount = $this->coupon->calculate_discount( $this->products[$index], $valid_products_count ); if( $applied_discount > 0 ) $valid_products_count++; $shown_price = $this->coupon->calculate_shown_price( $applied_discount, $this->products[$index] ); $this->info['subtotal'] += $shown_price['shown_price']; $shown_price = $shown_price['actual_shown_price']; } else { $shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty']; $this->info['subtotal'] += $shown_price; } /************** $shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty']; $this->info['subtotal'] += $shown_price; **************/ //end kgt - discount coupon $products_tax = $this->products[$index]['tax']; $products_tax_description = $this->products[$index]['tax_description']; if (DISPLAY_PRICE_WITH_TAX == 'true') { $this->info['tax'] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); if (isset($this->info['tax_groups']["$products_tax_description"])) { $this->info['tax_groups']["$products_tax_description"] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); } else { $this->info['tax_groups']["$products_tax_description"] = $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); } } else { $this->info['tax'] += ($products_tax / 100) * $shown_price; if (isset($this->info['tax_groups']["$products_tax_description"])) { $this->info['tax_groups']["$products_tax_description"] += ($products_tax / 100) * $shown_price; } else { $this->info['tax_groups']["$products_tax_description"] = ($products_tax / 100) * $shown_price; } } $index++; } //kgt - discount coupon if( is_object( $this->coupon ) ) { $this->info['total'] = $this->coupon->finalize_discount( $this->info ); } //end kgt - discount coupon } } ?> Edited December 29, 2008 by Nathalie979 Quote Link to comment Share on other sites More sharing options...
Guest Posted December 29, 2008 Share Posted December 29, 2008 It looks like there was a mod to the table.php file in the contribution. Since satchels is also a table rate, I guess a similar mod would need to be made to it. Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 30, 2008 Author Share Posted December 30, 2008 (edited) i tried replacing table.php with the original and disabling coupons but same thing happens Do you know at all which page is called on to calculate the total? Or is it that table page? sorry i'm not more help i've only been using oscommerce for about a month Edited December 30, 2008 by Nathalie979 Quote Link to comment Share on other sites More sharing options...
Guest Posted December 30, 2008 Share Posted December 30, 2008 i tried replacing table.php with the original and disabling coupons but same thing happens Do you know at all which page is called on to calculate the total? Or is it that table page? sorry i'm not more help i've only been using oscommerce for about a month Maybe this thread will help more. Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 30, 2008 Author Share Posted December 30, 2008 Do you mean the fix for the totals coming up as negative? Because i don't have that problem when i first installed the coupons it added everything up fine, even the discount so i don't think its necessarily that mod that's the problem. Oh i remember now that i installed QTpro but it was giving me too many headaches so i got rid of it, i may have forgotten to revert back some pages any chance that could be it? Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 30, 2008 Author Share Posted December 30, 2008 (edited) ok after messing around with it for ages i ended up restoring the database to about 2 weeks ago, i still have the error so i reuploaded the original order.php file from the discount mod and it fixed it! i think i'll do a backup now and attempt the satchels again Edited December 30, 2008 by Nathalie979 Quote Link to comment Share on other sites More sharing options...
Guest Posted December 30, 2008 Share Posted December 30, 2008 ok after messing around with it for ages i ended up restoring the database to about 2 weeks ago, i still have the error so i reuploaded the original order.php file from the discount mod and it fixed it! i think i'll do a backup now and attempt the satchels again Glad you found a solution, it is hard when you have different contributions installed. Quote Link to comment Share on other sites More sharing options...
Nathalie979 Posted December 30, 2008 Author Share Posted December 30, 2008 Thanks, i only have 2 contributions installed and 1 im not sure if i completely got rid off, im guessing i must have edited something in the order page they i don't know how oh well Thanks for all your help! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.