djmonkey1 Posted October 31, 2006 Share Posted October 31, 2006 Does anyone have the code that integrates MVS with Paypal IPN Version 1.3 ?? Why would they not work together out of the box? Quote Do, or do not. There is no try. Order Editor 5.0.6 "Ultra Violet" is now available! For support or to post comments, suggestions, etc, please visit the Order Editor support thread. Link to comment Share on other sites More sharing options...
djmonkey1 Posted October 31, 2006 Share Posted October 31, 2006 I am intrigued Stew, just hadn't had the chance to encourage you into working it out and telling us what you find! LOL This could easily be your host configuration, script time limits to control processor usage. The code iteself does go through quite a few loops for each box, but really shouldn't be a problem. Have you tested this in a more controlled environment(a home/personal/local server)? It could also be someting from UPS. I am not aware of any limits from them, but that doesn't mean there aren't any. Craig :) Right now the only server I have to test this on is the production server. I don't think it's a time limit because sometimes the page takes longer to load normally then it does to return the error (maybe these problems are related). Quote Do, or do not. There is no try. Order Editor 5.0.6 "Ultra Violet" is now available! For support or to post comments, suggestions, etc, please visit the Order Editor support thread. Link to comment Share on other sites More sharing options...
phi148 Posted October 31, 2006 Share Posted October 31, 2006 Why would they not work together out of the box? There is no code in the paypal_ipn.php file to compensate for the vendors, and for the vendor automatic emails. :( Quote Link to comment Share on other sites More sharing options...
Jake_Blues Posted October 31, 2006 Share Posted October 31, 2006 Hi everyone, I've been searching for hours and decided to ask for help. I have a feeling my question has been answered already, I just can't find it! :-) I have MVS installed and working beautifully, wonderful mod. However, how do I get UPSXML to return quotes with insurance? I don't see any options for this in admin and the file UPSXML.php has many references to insurance that are commented out. I played with it for quite a while but my limited php experience led me here to get help from the guru's. Any suggestions? Many thanks for your help! Sam Quote Link to comment Share on other sites More sharing options...
♥kymation Posted November 1, 2006 Share Posted November 1, 2006 The timeout in the module is set to '30' but it never takes more than 10 seconds to get the 500 error. All I ever see on the screen is this:I turned on logging and it looks great to me- the document requests the proper number of boxes and gets a response, not an error, back from UPS. Comparing the results for a cart that returned a 500 error and one that didn't look the same to me. I have found that the 20 box limit isn't hard and fast. Sometimes you can get through with more than 20 boxes, sometimes not. Can you get access to the server logs? That would tell you where things were failing. Maybe, but it's worth a try. It sounds more like the error is in your server and not in UPS. This could be some weird PHP or Apache bug. Possibly CURL. Does the standard UPS module cause a crash with the same order? The standard module uses HTTP requests instead of CURL. Regards Jim Quote See my profile for a list of my addons and ways to get support. Link to comment Share on other sites More sharing options...
♥kymation Posted November 1, 2006 Share Posted November 1, 2006 Hi everyone, I've been searching for hours and decided to ask for help. I have a feeling my question has been answered already, I just can't find it! :-) I have MVS installed and working beautifully, wonderful mod. However, how do I get UPSXML to return quotes with insurance? I don't see any options for this in admin and the file UPSXML.php has many references to insurance that are commented out. I played with it for quite a while but my limited php experience led me here to get help from the guru's. Any suggestions? Many thanks for your help! Sam The UPSXML contribution does not support insurance. You might try searching the UPSXML support thread (or posting a question there) to see if anybody has fixed this. If not, try commenting out the code in the UPSXML module and see if the quote is higher. The fix would be trivial if the existing XML code is correct. Regards Jim Quote See my profile for a list of my addons and ways to get support. Link to comment Share on other sites More sharing options...
Guest Posted November 1, 2006 Share Posted November 1, 2006 In MVS_Options, (can be downloaded from the SourceForge site -- MVS_Options download you should find an updated version of EasyPopulate. Sorry this could not be included in RC4 but the files are too big for quick uploads at the contribution pages. It has been added, but must be approved before it will be availble there. Good luck, Craig :) I use this version and many of my clients use this version. Question #1: I have downloaded this file directly from the link, as well as several of the other recommended Easy Populate packages. None appear to be any different, and none of them are pulling the vendor info for me. I'm still not convinced I have the correct version and/or I have made the necessary modifications to get EP working successfully with MVS. This is an awesome contrib and I am really anxious to get it going! Question #2: When I download a "complete" file via EP, the file is truly enormous due in part to my vast number of attributes [all necessary]. What makes the file even larger is the multiple blank columns being used for the "other" languages on the site. Is there a way to disable EP's recognition of German, Spanish, etc., in order to make the file transmissions a little more streamlined? Quote Link to comment Share on other sites More sharing options...
Jake_Blues Posted November 1, 2006 Share Posted November 1, 2006 The UPSXML contribution does not support insurance. You might try searching the UPSXML support thread (or posting a question there) to see if anybody has fixed this. If not, try commenting out the code in the UPSXML module and see if the quote is higher. The fix would be trivial if the existing XML code is correct. Regards Jim Thanks for the quick reply Jim. Uncommenting the code does not work, we both figured that. It doesn't appear there's a fix for this in the UPSXML thread, I'll post a question and see what happens. If all else fails I'll figure out how to add a percentage-based increase on the total order amount. Thanks again, Sam Quote Link to comment Share on other sites More sharing options...
Jake_Blues Posted November 2, 2006 Share Posted November 2, 2006 Hello, I noticed that the MVS documentation says that dimensional support is an extra mod that needs to be added. However, I see in the file UPSXML.php (included with MVS) there is an option to toggle dimensional support on and off. Does this mod need to be added seperately or not? I installed it seperately already but it's not working correctly, I thought perhaps it already existed and I just mucked it all up by adding it again. :-) Thanks for your help! Sam Quote Link to comment Share on other sites More sharing options...
Guest Posted November 3, 2006 Share Posted November 3, 2006 (edited) would this module support shipping TO multiple address? For instance, I'd like each product in my cart to go to different addresses. Hopefully this can be done as this module already handles shipping FROM diffeent addresses. And if not, what would it take? Edited November 3, 2006 by Bruin_03 Quote Link to comment Share on other sites More sharing options...
Guest Posted November 3, 2006 Share Posted November 3, 2006 Hi there, I'm having the same problem as Terry(below) is with using the upsxml packaging addon. What is happening is I have two vendors using UPSXML I order one item from each vendor at 40lbs each. There is no lbs limit set in either vendor. So I should get one package from each vendor at 40lbs each. This is an example of what I am getting Products VapoChill LightSpeed [AC] Black Please select the preferred shipping method to use on this order. All shipping methods include insurance. Please Select Flat Rate Best Way $5.00 Per Item Best Way $2.50 United Parcel Service (XML) (2 pkg(s), 80 lbs total) UPS Ground, 2006-10-17 $23.36 UPS 3 Day Select $54.98 UPS 2nd Day Air $72.46 UPS Next Day Air, 2006-10-17 $120.46 Zone Rates No shipping available to the selected country Products VapoChill LightSpeed [AC] Please select the preferred shipping method to use on this order. All shipping methods include insurance. Please Select Flat Rate Best Way $5.00 Free Shipping Economy (9 - 14 Days) $0.00 United Parcel Service (XML) (6 pkg(s), 80 lbs total) UPS Ground, 2006-10-17 $70.08 UPS 3 Day Select $164.94 UPS 2nd Day Air $217.38 UPS Next Day Air, 2006-10-17 It seems that the module is quoting the wrong weights and packages when there is more than one vendor. If only one vendor is used it quotes correctly. I changed the products_array with this code that I found in a previous post: // MVS - Remove products from other vendors from the productsArray $products_array = $cart->get_products(); $productsArray = array(); if (is_array ($products_array)) { foreach ($products_array as $product_data) { if ($product_data['vendors_id'] = $vendors_id) { $productsArray[] = $product_data; } } } //End MVS But unfortunately it didn't correct the problem. It is still adding all packages/weights to the second vendor. If anyone can help out with getting this fixed, it would be appreciated. I might have the insurance problem remedied since I have a newer version of upsxml updated with mvs coding waiting in the shadows. I won't know for sure until I can find the the fix for the above problem with the original file downloaded with the mvs contrib. TIA, Trina Quote Link to comment Share on other sites More sharing options...
Gonte Posted November 4, 2006 Share Posted November 4, 2006 Hi, spent some time trying to get this mod working, now i only have one problem that i know of (but probably i have more errors as well)... when (in admin panel) trying to open vendors.php, prods_by_vendor.php, orders_by_vendor.php or move_vendor_prods.php I'm just getting the error: 1146 - Table 'gontenet_osc1.TABLE_VENDORS' doesn't exist select vendors_id, vendors_name from TABLE_VENDORS order by vendors_name [TEP STOP] Could someone help me out on what I've missed here? (the table does exist in the database) Quote Link to comment Share on other sites More sharing options...
blucollarguy Posted November 4, 2006 Author Share Posted November 4, 2006 Question #1: I have downloaded this file directly from the link, as well as several of the other recommended Easy Populate packages. None appear to be any different, and none of them are pulling the vendor info for me. I'm still not convinced I have the correct version and/or I have made the necessary modifications to get EP working successfully with MVS. This is an awesome contrib and I am really anxious to get it going! Question #2: When I download a "complete" file via EP, the file is truly enormous due in part to my vast number of attributes [all necessary]. What makes the file even larger is the multiple blank columns being used for the "other" languages on the site. Is there a way to disable EP's recognition of German, Spanish, etc., in order to make the file transmissions a little more streamlined? If the EP file from the link I gave you earlier doesn't provide you with any vendor info, then you have another problem. That file is in use on over a dozen other sites and is functioning very nicely. The language issue: within the EP file there are parameters to be set, you will need to read the EP documentation to find exactly where it is. Good luck :) Hello, I noticed that the MVS documentation says that dimensional support is an extra mod that needs to be added. However, I see in the file UPSXML.php (included with MVS) there is an option to toggle dimensional support on and off. Does this mod need to be added seperately or not? I installed it seperately already but it's not working correctly, I thought perhaps it already existed and I just mucked it all up by adding it again. :-) Thanks for your help! Sam You must install all the "other" aspects of the UPSXML contirb, the table changes, the file changes(categories.php and others) and added files being added. The upsxml.php file does have dimesional support built in, but only after you install the rest. would this module support shipping TO multiple address? For instance, I'd like each product in my cart to go to different addresses. Hopefully this can be done as this module already handles shipping FROM diffeent addresses. And if not, what would it take? It is not designed to do what you are asking about, but I suppose it could be done. I have never considered this possibility but I am sure someone else has. I suggest a thorough search in the contrib site for someone who has already done the work, you will then need to integrate it with MVS if you intend to use both. Hi, spent some time trying to get this mod working, now i only have one problem that i know of (but probably i have more errors as well)... when (in admin panel) trying to open vendors.php, prods_by_vendor.php, orders_by_vendor.php or move_vendor_prods.php I'm just getting the error: Could someone help me out on what I've missed here? (the table does exist in the database) Look at this post: Post Preview This exact issue is discussed. Craig :) Quote Happy Coding! Craig Garrison Sr Anything worth having, is worth working for. Multi Vendor Shipping V1.1 Demo Catalog 3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout. Multi Vendor Shipping V1.1 Demo Admin login: webmaster@blucollarsales.com pass: mvs_demo MVS Thread: Multi-Vendor Shipping My contribs: Download Multi Vendor Shipping V1.1 Vendor Email Vendor Info in easypopulate EZ Price Updater And more to come! Link to comment Share on other sites More sharing options...
Gonte Posted November 5, 2006 Share Posted November 5, 2006 Look at this post: Post PreviewThis exact issue is discussed. Craig :) Well, I had that problem first and solved it thanks to those posts... But this problem doesn't apear exactly the same way, the one you referred to make the admin-panel unavailable... This error only shows up in vendors.php, prods_by_vendor.php, orders_by_vendor.php or move_vendor_prods.php And in the error message, line 2 i different: select vendors_id, vendors_name from TABLE_VENDORS order by vendors_name Quote Link to comment Share on other sites More sharing options...
blucollarguy Posted November 5, 2006 Author Share Posted November 5, 2006 Well, I had that problem first and solved it thanks to those posts... But this problem doesn't apear exactly the same way, the one you referred to make the admin-panel unavailable... This error only shows up in vendors.php, prods_by_vendor.php, orders_by_vendor.php or move_vendor_prods.php And in the error message, line 2 i different: select vendors_id, vendors_name from TABLE_VENDORS order by vendors_name The error message states that the table does not exist, that table name is a 'constant' that is set the way that is described in that post, if you are still having the error then you have another much more obscure problem that I cannot even guess about. Good luck, Craig :) Quote Happy Coding! Craig Garrison Sr Anything worth having, is worth working for. Multi Vendor Shipping V1.1 Demo Catalog 3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout. Multi Vendor Shipping V1.1 Demo Admin login: webmaster@blucollarsales.com pass: mvs_demo MVS Thread: Multi-Vendor Shipping My contribs: Download Multi Vendor Shipping V1.1 Vendor Email Vendor Info in easypopulate EZ Price Updater And more to come! Link to comment Share on other sites More sharing options...
Madhudvisa Posted November 7, 2006 Share Posted November 7, 2006 I have been using MVS for the past 12 months at www.krishna.tv and it has been a wonderful improvement. Thank you very much to everyone who has worked on the development of this wonderful contribution. I want to simplify my checkout and if a customer happens to purchase different items from say five different vendors, then on the check out they have to choose the five different shipping methods for five different vendors. It is somewhat bewildering and if that could be combined so they only have to select one shipping method it would be so much simpler. I have been thinking about it and it is somewhat complex but am wondering if others have thought of or done any work in this direction. Looking forward to hearing from you. Thanks. Quote Link to comment Share on other sites More sharing options...
iofast Posted November 8, 2006 Share Posted November 8, 2006 (edited) One of the sites I work on wanted a table lookup based tare. Not sure if this has been done before but either way I put the instructions in a text file. Set your max box weight to the weight you want pre-tare. This is necessary because the actual tare percent decreases as package weight increases so a flat tare percentage isn't always appropriate. Here it is: Copyright (C) 2006 Jared De Blander jared@iofast.com **************************************************************************** This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA **************************************************************************** This is very primitive and was done to "Get the job done" quickly for another site. There is no admin interface but the table is very straight forward to edit. Feel free to improve upon this. **************************************************************************** File: /catalog/includes/classes/vendor_shipping.php **************************************************************************** **************************************************************************** Find the following around lines 87 **************************************************************************** if ($vendor['tare_weight'] >= $shipping_weight*$vendors_data['percent_tare_weight']/100) { $shipping_weight = $shipping_weight + $vendors_data['tare_weight']; } else { $shipping_weight = $shipping_weight + ($shipping_weight*$vendors_data['percent_tare_weight']/100); } **************************************************************************** Change it to **************************************************************************** /* BEGIN CUSTOM TARE TABLE BY Jared De Blander (jared@iofast.com) if ($vendor['tare_weight'] >= $shipping_weight*$vendors_data['percent_tare_weight']/100) { $shipping_weight = $shipping_weight + $vendors_data['tare_weight']; } else { $shipping_weight = $shipping_weight + ($shipping_weight*$vendors_data['percent_tare_weight']/100); } END CUSTOM TARE TABLE BY Jared De Blander (jared@iofast.com) */ **************************************************************************** Find the following just below around line 98 **************************************************************************** if ($shipping_weight > $vendors_data['max_box_weight']) { // Split into many boxes $shipping_num_boxes = ceil($shipping_weight/$vendors_data['max_box_weight']); $shipping_weight = $shipping_weight/$shipping_num_boxes; } **************************************************************************** Add the following text beneath it **************************************************************************** //BEGIN CUSTOM TARE TABLE BY Jared De Blander (jared@iofast.com) $shipping_custom_tare=0; if ($shipping_weight> 0.00) $shipping_custom_tare= 0.25; if ($shipping_weight> 0.25) $shipping_custom_tare= 0.375; if ($shipping_weight> 0.50) $shipping_custom_tare= 0.5; if ($shipping_weight> 0.75) $shipping_custom_tare= 0.750; if ($shipping_weight> 1.00) $shipping_custom_tare= 1.0; if ($shipping_weight> 1.50) $shipping_custom_tare= 1.375; if ($shipping_weight> 2.00) $shipping_custom_tare= 1.75; if ($shipping_weight> 3.00) $shipping_custom_tare= 2.0; if ($shipping_weight> 4.00) $shipping_custom_tare= 2.25; if ($shipping_weight> 5.00) $shipping_custom_tare= 2.5; if ($shipping_weight> 6.00) $shipping_custom_tare= 3.0; if ($shipping_weight> 9.00) $shipping_custom_tare= 4.0; if ($shipping_weight> 12.00) $shipping_custom_tare= 5.0; if ($shipping_weight> 15.00) $shipping_custom_tare= 6.0; if ($shipping_weight> 20.00) $shipping_custom_tare= 7.0; if ($shipping_weight> 30.00) $shipping_custom_tare= 8.0; if ($shipping_weight> 40.00) $shipping_custom_tare= 9.0; $shipping_weight+=$shipping_custom_tare; //END CUSTOM TARE TABLE BY Jared De Blander (jared@iofast.com) Edited November 8, 2006 by iofast Quote Link to comment Share on other sites More sharing options...
keithxtreme Posted November 8, 2006 Share Posted November 8, 2006 (edited) I have searched all through this thread and cannot find the answer even though the question has been asked a couple of times.... and just removing the <?php.....does not work.... Still getting a "Parse error: parse error, unexpected '<' in /var/www/vhosts/xtremecrawlers.com/httpdocs/catalog/checkout_shipping.php on line 66" Here is my code up to that point and a little beyond...... <?php /* $Id: checkout_shipping.php,v 1.16 2003/06/09 23:03:53 hpdl Exp $ Modified for MVS V1.0 2006/03/25 JCK/CWG osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2006 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require('includes/classes/http_client.php'); if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } // if no shipping destination address was selected, use the customers own address as default if (!tep_session_is_registered('sendto')) { tep_session_register('sendto'); $sendto = $customer_default_address_id; } else { // verify the selected shipping address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $sendto = $customer_default_address_id; if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); } } require(DIR_WS_CLASSES . 'order.php'); $order = new order; // register a random ID in the session to check throughout the checkout procedure // against alterations in the shopping cart contents if (!tep_session_is_registered('cartID')) tep_session_register('cartID'); $cartID = $cart->cartID; // if the order contains only virtual products, forward the customer to the billing page as // a shipping address is not needed if ($order->content_type == 'virtual') { if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); $shipping = false; $sendto = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } <?php -----line 66 //MVS start if (tep_count_shipping_modules() > 0 || SELECT_VENDOR_SHIPPING == 'true') { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_SHIPPING_METHOD; ?></b></td> </tr> </table></td> </tr> <?php if (SELECT_VENDOR_SHIPPING == 'true') { include(DIR_WS_CLASSES . 'vendor_shipping.php'); $shipping_modules = new shipping; } else { include(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping; $total_weight = $cart->show_weight(); $cost = $cart->show_total(); $total_count = $cart->count_contents(); } Edited November 9, 2006 by keithxtreme Quote Link to comment Share on other sites More sharing options...
♥kymation Posted November 9, 2006 Share Posted November 9, 2006 I have searched all through this thread and cannot find the answer even though the question has been asked a couple of times.... and just removing the <?php.....does not work....<SNIP> Looks like it's still there. Delete line 66 and try again. Regards Jim Quote See my profile for a list of my addons and ways to get support. Link to comment Share on other sites More sharing options...
keithxtreme Posted November 9, 2006 Share Posted November 9, 2006 I know its still there, that is the original from the install....with or with out it it it does not work.... With it the erro is: Parse error: parse error, unexpected '<' in /var/www/vhosts/xtremecrawlers.com/httpdocs/catalog/checkout_shipping.php on line 66 Without it the page does not fully load....I get..... TABLE_HEADING_COMMENTS TITLE_CONTINUE_CHECKOUT_PROCEDURE TEXT_CONTINUE_CHECKOUT_PROCEDURE Quote Link to comment Share on other sites More sharing options...
ePower Posted November 9, 2006 Share Posted November 9, 2006 Hi there, I'm having the same problem as Terry(below) is with using the upsxml packaging addon. It seems that the module is quoting the wrong weights and packages when there is more than one vendor. If only one vendor is used it quotes correctly. I changed the products_array with this code that I found in a previous post: // MVS - Remove products from other vendors from the productsArray $products_array = $cart->get_products(); $productsArray = array(); if (is_array ($products_array)) { foreach ($products_array as $product_data) { if ($product_data['vendors_id'] = $vendors_id) { $productsArray[] = $product_data; } } } //End MVS But unfortunately it didn't correct the problem. It is still adding all packages/weights to the second vendor. If anyone can help out with getting this fixed, it would be appreciated. I might have the insurance problem remedied since I have a newer version of upsxml updated with mvs coding waiting in the shadows. I won't know for sure until I can find the the fix for the above problem with the original file downloaded with the mvs contrib. TIA, Trina Well we still haven't got the UPS XML with packaging/dimensions to work proper. Everything works great with it off or if only one vendor is using it with dimensions/packaging on. But if you have multiple products with multiple vendors in checkout it won't work with dimensions/packaging on. Craig said he was going to look at this but haven't heard anything back from him. If anyone else knows a fix to this problem it would be great. TIA Terry Quote Link to comment Share on other sites More sharing options...
♥kymation Posted November 9, 2006 Share Posted November 9, 2006 I know its still there, that is the original from the install....with or with out it it it does not work....With it the erro is: Parse error: parse error, unexpected '<' in /var/www/vhosts/xtremecrawlers.com/httpdocs/catalog/checkout_shipping.php on line 66 Without it the page does not fully load....I get..... TABLE_HEADING_COMMENTS TITLE_CONTINUE_CHECKOUT_PROCEDURE TEXT_CONTINUE_CHECKOUT_PROCEDURE Then you have another problem on that page. Check all of your edits carefully. Regards Jim Quote See my profile for a list of my addons and ways to get support. Link to comment Share on other sites More sharing options...
Jake_Blues Posted November 9, 2006 Share Posted November 9, 2006 Ok, I've been searching the forum and modding code for days, no luck at all. My MVS with UPSXML and Dimensional Support continually gives TRIPLE the quote. As soon as I disable Dimensional Support all is well. With Dimensional Support enabled I see 4 "time in transit" and 4 "rate requests" in my upsxml.log file, although my quote is only tripled. I have followed all instructions of the latest version to a "T", including uninstall and re-install, same thing. Has anyone had any similar experiences at all? If seeing my log files or any .php files will help just let me know and I'll post them. I'm willing to pay via Paypal for a solution that fixes my problem. At this point I'm forced to use "Percentage-based Tare Weight" to compensate for my oversized packages, although the rates are still too high for long distance shipping. Any ideas at all? I doubt anyone can help, after scouring the forum it seems I have an "original" problem that's not common. Thanks in advance for any suggestions! Quote Link to comment Share on other sites More sharing options...
keithxtreme Posted November 9, 2006 Share Posted November 9, 2006 I have gone back through my edits 4x now and all is well, but on Checkout_shipping......I am still getting: TABLE_HEADING_COMMENTS TITLE_CONTINUE_CHECKOUT_PROCEDURE TEXT_CONTINUE_CHECKOUT_PROCEDURE It stops right after the second MVS edit or thats where these calls start......I am using the latest osCommerce 2.2 Milestone 2 Update 060817 Could that be the problem? since the Readme says osCommerce 2.2 Milestone 2 Update 051113 When I remove the MVS Edits, the page loads but of course without any shipping...... Here is my code: <?php /* $Id: checkout_shipping.php,v 1.16 2003/06/09 23:03:53 hpdl Exp $ Modified for MVS V1.0 2006/03/25 JCK/CWG osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2006 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require('includes/classes/http_client.php'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } // if no shipping destination address was selected, use the customers own address as default if (!tep_session_is_registered('sendto')) { tep_session_register('sendto'); $sendto = $customer_default_address_id; } else { // verify the selected shipping address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $sendto = $customer_default_address_id; if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); } } require(DIR_WS_CLASSES . 'order.php'); $order = new order; // register a random ID in the session to check throughout the checkout procedure // against alterations in the shopping cart contents if (!tep_session_is_registered('cartID')) tep_session_register('cartID'); $cartID = $cart->cartID; // if the order contains only virtual products, forward the customer to the billing page as // a shipping address is not needed if ($order->content_type == 'virtual') { if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); $shipping = false; $sendto = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } //MVS start if (tep_count_shipping_modules() > 0 || SELECT_VENDOR_SHIPPING == 'true') { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_SHIPPING_METHOD; ?></b></td> </tr> </table></td> </tr> <?php if (SELECT_VENDOR_SHIPPING == 'true') { include(DIR_WS_CLASSES . 'vendor_shipping.php'); $shipping_modules = new shipping; } else { include(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping; $total_weight = $cart->show_weight(); $cost = $cart->show_total(); $total_count = $cart->count_contents(); } if ( isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') ) { if (!tep_session_is_registered('comments')) tep_session_register('comments'); if (tep_not_null($HTTP_POST_VARS['comments'])) { $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']); } if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); if (SELECT_VENDOR_SHIPPING == 'true') { $total_shipping_cost = 0; $shipping_title = MULTIPLE_SHIP_METHODS_TITLE; $vendor_shipping = $cart->vendor_shipping; $shipping = array(); foreach ($vendor_shipping as $vendor_id => $vendor_data) { $products_shipped = $_POST['products_' . $vendor_id]; $products_array = explode ("_", $products_shipped); $shipping_data = $_POST['shipping_' . $vendor_id]; $shipping_array = explode ("_", $shipping_data); $module = $shipping_array[0]; $method = $shipping_array[1]; $ship_tax = $shipping_array[2]; if ( is_object($$module) || ($module == 'free') ) { if ($module == 'free') { $quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE; $quote[0]['methods'][0]['cost'] = '0'; } else { $total_weight = $vendor_shipping[$vendor_id]['weight']; $shipping_weight = $total_weight; $cost = $vendor_shipping[$vendor_id]['cost']; $total_count = $vendor_shipping[$vendor_id]['qty']; $quote = $shipping_modules->quote($method, $module, $vendor_id); } if (isset($quote['error'])) { tep_session_unregister('shipping'); } else { if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) { $output[$vendor_id] = array('id' => $module . '_' . $method, 'title' => $quote[0]['methods'][0]['title'], 'ship_tax' => $ship_tax, 'products' => $products_array, 'cost' => $quote[0]['methods'][0]['cost'] ); $total_ship_tax += $ship_tax; $total_shipping_cost += $quote[0]['methods'][0]['cost']; }//if isset }//if isset }//if is_object }//foreach if ($free_shipping == true) { $shipping_title = $quote[0]['module']; } elseif (count($output) <2) { $shipping_title = $quote[0]['methods'][0]['title']; } $shipping = array('id' => $shipping, 'title' => $shipping_title, 'cost' => $total_shipping_cost, 'shipping_tax_total' => $total_ship_tax, 'vendor' => $output ); } else { if ( (isset($HTTP_POST_VARS['shipping'])) && (strpos($HTTP_POST_VARS['shipping'], '_')) ) { $shipping = $HTTP_POST_VARS['shipping']; list($module, $method) = explode('_', $shipping); if ( is_object($$module) || ($shipping == 'free_free') ) { if ($shipping == 'free_free') { $quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE; $quote[0]['methods'][0]['cost'] = '0'; } else { $quote = $shipping_modules->quote($method, $module); } } if (isset($quote['error'])) { tep_session_unregister('shipping'); } else { if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) { $shipping = array('id' => $shipping, 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'), 'cost' => $quote[0]['methods'][0]['cost']); tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } } } else { tep_session_unregister('shipping'); } } tep_redirect(tep_href_link('checkout_payment.php', '', 'SSL')); exit; } //MVS END // get all available shipping quotes $quotes = $shipping_modules->quote(); // if no shipping method has been selected, automatically select the cheapest method. // if the modules status was changed when none were available, to save on implementing // a javascript force-selection method, also automatically select the cheapest shipping // method if more than one module is now enabled if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest(); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SHIPPING); $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <?php include ('includes/ssl_provider.js.php'); ?> <script language="javascript"><!-- var selected; function selectRowEffect(object, buttonSelect) { if (!selected) { if (document.getElementById) { selected = document.getElementById('defaultSelected'); } else { selected = document.all['defaultSelected']; } } if (selected) selected.className = 'moduleRow'; object.className = 'moduleRowSelected'; selected = object; // one button is not an array if (document.checkout_address.shipping[0]) { document.checkout_address.shipping[buttonSelect].checked=true; } else { document.checkout_address.shipping.checked=true; } } function rowOverEffect(object) { if (object.className == 'moduleRow') object.className = 'moduleRowOver'; } function rowOutEffect(object) { if (object.className == 'moduleRowOver') object.className = 'moduleRow'; } //--></script> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_delivery.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_SHIPPING_ADDRESS; ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_DESTINATION . '<br><br><a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td> <td align="right" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" align="center" valign="top"><?php echo '<b>' . TITLE_SHIPPING_ADDRESS . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" valign="top"><?php echo tep_address_label($customer_id, $sendto, true, ' ', '<br>'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php //MVS if (SELECT_VENDOR_SHIPPING == 'true') { require(DIR_WS_MODULES . 'vendor_shipping.php'); } else { $quotes = $shipping_modules->quote(); if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) { $pass = false; switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($order->delivery['country_id'] == STORE_COUNTRY) { $pass = true; } break; case 'international': if ($order->delivery['country_id'] != STORE_COUNTRY) { $pass = true; } break; case 'both': $pass = true; break; } $free_shipping = false; if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $free_shipping = true; include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php'); } } else { $free_shipping = false; } // if no shipping method has been selected, automatically select the cheapest method. // if the modules status was changed when none were available, to save on implementing // a javascript force-selection method, also automatically select the cheapest shipping // method if more than one module is now enabled if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest(); //MVS End ?> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php if (sizeof($quotes) > 1 && sizeof($quotes[0]) > 1) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_METHOD; ?></td> <td class="main" width="50%" valign="top" align="right"><?php echo '<b>' . TITLE_PLEASE_SELECT . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } elseif ($free_shipping == false) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_SHIPPING_INFORMATION; ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } if ($free_shipping == true) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td colspan="2" width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" colspan="3"><b><?php echo FREE_SHIPPING_TITLE; ?></b> <?php echo $quotes[$i]['icon']; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, 0)"> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="100%"><?php echo sprintf(FREE_SHIPPING_DESCRIPTION, $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) . tep_draw_hidden_field('shipping', 'free_free'); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } else { $radio_buttons = 0; for ($i=0, $n=sizeof($quotes); $i<$n; $i++) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" colspan="3"><b><?php echo $quotes[$i]['module']; ?></b> <?php if (isset($quotes[$i]['icon']) && tep_not_null($quotes[$i]['icon'])) { echo $quotes[$i]['icon']; } ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php if (isset($quotes[$i]['error'])) { ?> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" colspan="3"><?php echo $quotes[$i]['error']; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } else { for ($j=0, $n2=sizeof($quotes[$i]['methods']); $j<$n2; $j++) { // set the radio button to be checked if it is the method chosen $checked = (($quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'] == $shipping['id']) ? true : false); if ( ($checked == true) || ($n == 1 && $n2 == 1) ) { echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } else { echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } ?> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="75%"><?php echo $quotes[$i]['methods'][$j]['title']; ?></td> <?php if ( ($n > 1) || ($n2 > 1) ) { ?> <td class="main"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], (isset($quotes[$i]['tax']) ? $quotes[$i]['tax'] : 0))); ?></td> <td class="main" align="right"><?php echo tep_draw_radio_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'], $checked); ?></td> <?php } else { ?> <td class="main" align="right" colspan="2"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])) . tep_draw_hidden_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id']); ?></td> <?php } ?> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php $radio_buttons++; } } ?> </table></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } } ?> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } } //MVS end ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo '<b>' . TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td> <td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> </tr> </table></td> <td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td> </tr> </table></td> </tr> <tr> <td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_DELIVERY; ?></td> <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_PAYMENT; ?></td> <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td> <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td> </tr> </table></td> </tr> </table></form></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Quote Link to comment Share on other sites More sharing options...
keithxtreme Posted November 9, 2006 Share Posted November 9, 2006 OK figured that out, I just started over and uploaded all the MVS files to start........ what has happened, is my hosting company decided to upgrade everything to PHP 5 and MySQL 4 without telling anyone....So my Oscommerce site was a gradual series of mods over 4 years.....so I have had to start from scratch. But have got to retain my database..... So now Since I had MVS 1.0 installed before I already have vendors setup...etc. the problem is when I go and install a shipping module for one of them, it does not save the info.... Should I delete the Orders_shipping Table and run the MVS.sql again....thus starting over....or just empty the table....also should I do this for the tables: vendors, and vendor_configuration? 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.