Jump to content

christiansees

Members
  • Content count

    136
  • Joined

  • Last visited

Posts posted by christiansees


  1. Hello,

    I have managed to get this working for all cases. I must say that neither the code posted in the contribution nor the updates posted here are entirely correct. I used the contribution then updated it with the code post in this thread.

    However the error that the options to select international shipping methods is still not showing on the admin configuration page and when I select edit for the module I still get the error

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home/directory/directory/catalog/admin/modules.php(225) : eval()'d code on line 1

    I had to insert the international shipping methods by hand in myphp admin. It would be nice to get a final correct edit of this posted to the contribution page. I am willing to give my code to anyone willing to work on that. I would also be nice to get a fix in place to be able to sort this out from the oscommerce admin the next time that USPS screws us.

    Cheers


  2. Well I seem to have gotten it to work sort of but there are no options to select an international shipping method.

    Domestic Shipping Methods

    Priority Mail, First-Class Mail, Media Mail

     

    Domstic First-Class Threshold

    0, 3.5, 3.5, 10, 10, 13, 0, 13

     

    Domstic Priority Mail Threshold

    0, 70, 0, 70, 0, 70

     

    Domstic Other Mail Threshold

    0, 0, 0, 70, 0, 70, 0, 0, 0, 0, 0, 70, 0, 70

     

    Int'l Shipping Methods

     

     

    US/Canada $.01-$50.00

    $1.75

     

    US/Canada $50.01-$100.00

    $2.25

     

    US/Canada $100.01-$200.00

    $2.75

     

    US/Canada $200.01-$300.00

    $4.70

     

    US/Canada per $100 over $300

    $1.00

     

    Insure Tax

    False


  3. Ok what a nightmare. Super pissed at usps now. If there was an alternative I'd switch to the other service in a heartbeat.

    Current error.

    Fatal error: Cannot redeclare tep_cfg_select_multioption() (previously declared in /home/directory/public_html/catalog/admin/includes/functions/general.php:798) in /home/directory/public_html/catalog/admin/includes/functions/general.php on line 1414

    Seems that there is a conflict with superdownload shop contribution.

    // USPS Methods 3.0
    // Alias function for Store configuration values in the Administration Tool
     function tep_cfg_select_multioption($select_array, $key_value, $key = '') {
       for ($i=0; $i<sizeof($select_array); $i++) {
         $name = (($key) ? 'configuration[' . $key . '][]' : 'configuration_value');
         $string .= '<br><input type="checkbox" name="' . $name . '" value="' . $select_array[$i] . '"';
         $key_values = explode( ", ", $key_value);
         if ( in_array($select_array[$i], $key_values) ) $string .= ' CHECKED';
         $string .= '> ' . $select_array[$i];
       }
       $string .= '<input type="hidden" name="' . $name . '" value="--none--">';
       return $string;
     }

    and

    // BOF: WebMakers.com Added: Downloads Controller
    // Alias function for array of configuration values in the Administration Tool
     function tep_cfg_select_multioption($select_array, $key_value, $key = '') {
       for ($i=0; $i<sizeof($select_array); $i++) {
         $name = (($key) ? 'configuration[' . $key . '][]' : 'configuration_value');
         $string .= '<br><input type="checkbox" name="' . $name . '" value="' . $select_array[$i] . '"';
         $key_values = explode( ", ", $key_value);
         if ( in_array($select_array[$i], $key_values) ) $string .= 'CHECKED';
         $string .= '> ' . $select_array[$i];
       } 
       return $string;
     }

    Really some help on this would be nice.

    Anyone have a list where tep_cfg_select_multioption is used in USPS methods so that I can change the name?

    thanks


  4. Hello again,

    I performed the SQL

    UPDATE configuration
    SET configuration_value = UPPER(configuration_value),
       set_function='tep_cfg_select_multioption(array(''GLOBAL EXPRESS'', ''GLOBAL EXPRESS NON-DOC RECT'', ''GLOBAL EXPRESS NON-DOC NON-RECT'', ''EXPRESS MAIL INT'', ''EXPRESS MAIL INT FLAT RATE ENV'', ''PRIORITY MAIL INT'', ''PRIORITY MAIL INT FLAT RATE ENV'', ''PRIORITY MAIL INT FLAT RATE BOX'', ''FIRST-CLASS MAIL INT''), '
    WHERE configuration_key='MODULE_SHIPPING_USPS_TYPES_INTL';
    UPDATE configuration
    SET configuration_value = UPPER(configuration_value),
       set_function='tep_cfg_select_multioption(array(''EXPRESS'', ''PRIORITY'', ''FIRST CLASS'', ''PARCEL'', ''BPM'', ''LIBRARY'', ''MEDIA''), '
    WHERE configuration_key='MODULE_SHIPPING_USPS_TYPES';

    And I am still getting the error

    Fatal error: Call to undefined function tep_cfg_multi_input_list() in /directory/directory/public_html/catalog/admin/modules.php(225) : eval()'d code on line 1

    Does anyone know if there was an update to this module in the past that included and edit to the admin/modules.php file?

    Thanks


  5. I found this line 240 in catalog/modules/shipping/usps.php that has the code that created the error but I am not sure what to edit it to to correct it.

          tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enter the USPS User ID', 'MODULE_SHIPPING_USPS_USERID', 'NONE, NONE', 'Enter the USPS USERID assigned to you. <u>You must contact USPS to have them switch you to the Production server.</u>  Otherwise this module will not work!', '6', '0', 'tep_cfg_multiinput_list(array(\'ID\', \'Password\'), ', now())");

    Suggestions would be much appreciated. It is the "tep_cfg_multiinput_list that is causing the error.

    thanks


  6. Hello All,

    Well this contribution is amazing, and amazingly FUBAR. I would like to thank JimbobobHacker2 For his latest posts to the contribution page. However the instructions there specifically for the Jan 28th fixes seem incomplete.

    1) Remove illogical condition.

    file: catalog/checkout_payment.php

    line: if (MODULE_ORDER_TOTAL_INSTALLED)

    action: remove this line

    How ever if you check that page there are two instances of

    if (MODULE_ORDER_TOTAL_INSTALLED)
    one on line 166 and one on line 307. It seems that the first instance is incorrect and that the second is. So I left the second one there.

    Would JimbobobHacker2 or anyone else care to comment?

    Thanks

    Christian


  7. Hello Again,

    Another error that I am getting is on the page catalog/admin/gv_mail.php is

     

    Is there another version or contribution with the same functionality that works that I should be using?

    Thanks a lot for your time

    Christian

    Ok the fix is on line 64 you'll see

    	  $insert_id = tep_db_insert_id($insert_query);

     

    change that to:

     

    	  $insert_id = tep_db_insert_id();

     

    and you're good to go


  8. Hello Again,

    Another error that I am getting is on the page catalog/admin/gv_mail.php is

    Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in /home/xxxxxx/public_html/catalog/admin/includes/functions/database.php on line 117

     

    Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxxxx/public_html/catalog/admin/includes/functions/database.php:117) in /home/xxxxxx/public_html/catalog/admin/includes/functions/general.php on line 22

    Is there another version or contribution with the same functionality that works that I should be using?

    Thanks a lot for your time

    Christian


  9. Hello All,

    I am glad to see at least a little support for this contribution, since it seems that the original creator hasn't logged in since 2003. I am having the same problem that is listed in posts 228, 375, 394, and 399, none of which seem to have a reply. That is that the admin modules do not display so I am not able to install or configure the contribution.

    errorsam.JPG

    I was hoping that the fix posted by lildog might help but there is no catalog/admin/includes/classes/order_total.php so I wonder what was meant by that page? I am working with osc MS2.2 RC2a with a lot of contributions including Paypal IPN the official release, and php5 on the server, and CCGV5.20_1. Does anyone with that configuration have this working. Or is there a more current thread to get support? I have read through this one twice.

    Thanks a lot.

    I had a problem that always made customers choose a payment method, whether or not the credit amount was enough to pay for the entire order. I have seen this problem pop up often in the past 2-3 years. Here is my fix, maybe someone that really knows what I did can explain why it works. The problem was the variable $credit_covers was not getting set to true, but by changing the variable name to $credit_covers_order it works. I think it has something to do with the session registers?!?!? Maybe register globals?!?!? Reguardless if you have this problem try this.

     

    lildog ccgv fix 3/2008

     

     

    in:

     

    catalog/checkout_confirmation.php

    catalog/checkout_process.php

    catalog/admin/includes/classes/order_total.php

    catalog/includes/classes/order_total.php

    catalog/includes/classes/payment.php

     

    changed ALL $credit_covers to $credit_covers_order

     

    DO NOT CHANGE any --

    if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers');


  10. Hi Christian,

     

    Thanks for your post. Can you let me know which contribution you intend using (there are several CCGV contibs out there; Vger's CCGV(Trad) is by far the best IMHO)?

    It should be possible to add the extra information to the PDF.

     

    Kind regards,

    Chris

    Hi Chris,

    Thanks for your reply. After reading hundreds of pages of forum posts I have to say that I can not use CCGV(Trad). Reasons: It is not php 5 compatible. It is not Paypal IPN 2.xx compatible. It is not OsCommerce MS2.2 rc2a compatible. While I appreciate the contributors unwillingness to sway with every last whim of the crowd it seems unreasonable to not keep the code updated to the latest security developments.

    I guess I'll keep looking.

    Thanks

    Christian


  11. Hello Again,

    Today (Tues) I had a customer put in an order after they had sent me a message Saturday that they were having this same error. I sent them a reply to their email asking what was different about their order process that they were able to check out. The following is their reply

    I just put my temporary address down for my billing address rather than my permanent address (the address on my card's account).. stupid mistakeee :)

    So it seems that as I stated earlier the real problem is that the cart is redirecting them to the shipping page instead of just displaying the credit card error message. Any suggestions would be appreciated.

    Thanks


  12. Hello All,

    I am still having these problems despite the fact the changes made to the American express credit card verification. Oscommerce shows no orders or logins for these account despite the fact that the payment gateway has authorized the charge to their card.

    I am concerned about the security breach that this could represent as well the legal concerns.

    Thanks


  13. Hello All,

    I have done some more research. All of the customers with problems were checking out using Authorize.net. Also all of them were using American express. American express does not do CVS so I had to change the setting on the authorize.net setting for Card Code Settings card not processed on their site. Hopefully that will fix the problem with the customers not being able to check out.

    However what it has left me wondering is why these customers were redirected to the shipping page instead of having the card verification error shown on the page as should have happened. Anybody have a guess as to why that would have happened?

    Thanks

    Christian


  14. Hello Simon,

    Thanks very much for all of your help. I did fix the FILENAME_PAYPAL_CANCEL in catalog/includes/filenames.php error. As far as the shipping being changed when you return to checkout_shipping.php part of the logic of that page is calculate the cheapest shipping for your order every time that the page loads. That is why it is being changed when you return to it. There is a SSL loaded.

    I will look at the code for Authorize.net AIM and SIM to see if they differ from my own.

    Thanks

    Christian


  15. Hi,

    Nice snag on both of those. However they wouldn't let the checkout_confirmation.php page be drawn, while the problem that I am having is customers being sent back to the checkout_shipping.php page after selecting the confirm button. So the checkout_confirmation.php page has already been drawn, and the logic of these two checks no longer applies. Really appreciate your assistance though.

    I looked at checkout_process.php and catalog\modules\payment\authorize.php and neither of them have a redirect to checkout_shipping.php that is any different than the one already on checkout_confirmation.php. So I am a little stumped.

    Thanks


  16. Hello,

    Thanks for the replies hope this post isn't too long. Both these pages were updated for the MS2.2RC2a update.

     

    checkout_success.php

    <?php
    /*
     $Id: checkout_success.php 1749 2007-12-21 04:23:36Z hpdl $
    
     osCommerce, Open Source E-Commerce Solutions
     http://www.oscommerce.com
    
     Copyright (c) 2007 osCommerce
    
     Released under the GNU General Public License
    */
    
     require('includes/application_top.php');
    
    // if the customer is not logged on, redirect them to the shopping cart page
     if (!tep_session_is_registered('customer_id')) {
    tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
     }
    
     if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'update')) {
    $notify_string = '';
    
    if (isset($HTTP_POST_VARS['notify']) && !empty($HTTP_POST_VARS['notify'])) {
      $notify = $HTTP_POST_VARS['notify'];
    
      if (!is_array($notify)) {
    	$notify = array($notify);
      }
    
      for ($i=0, $n=sizeof($notify); $i<$n; $i++) {
    	if (is_numeric($notify[$i])) {
    	  $notify_string .= 'notify[]=' . $notify[$i] . '&';
    	}
      }
    
      if (!empty($notify_string)) {
    	$notify_string = 'action=notify&' . substr($notify_string, 0, -1);
      }
    }
    
    tep_redirect(tep_href_link(FILENAME_DEFAULT, $notify_string));
     }
    
     require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SUCCESS);
    
     $breadcrumb->add(NAVBAR_TITLE_1);
     $breadcrumb->add(NAVBAR_TITLE_2);
    
     $global_query = tep_db_query("select global_product_notifications from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customer_id . "'");
     $global = tep_db_fetch_array($global_query);
    
     if ($global['global_product_notifications'] != '1') {
    $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where customers_id = '" . (int)$customer_id . "' order by date_purchased desc limit 1");
    $orders = tep_db_fetch_array($orders_query);
    
    $products_array = array();
    $products_query = tep_db_query("select products_id, products_name from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$orders['orders_id'] . "' order by products_name");
    while ($products = tep_db_fetch_array($products_query)) {
      $products_array[] = array('id' => $products['products_id'],
    							'text' => $products['products_name']);
    }
     }
    ?>
    <!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">
    </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('order', tep_href_link(FILENAME_CHECKOUT_SUCCESS, 'action=update', 'SSL')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
    	<td><table border="0" width="100%" cellspacing="4" cellpadding="2">
    	  <tr>
    		<td valign="top"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_man_on_board.gif', HEADING_TITLE); ?></td>
    		<td valign="top" class="main"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?><div align="center" class="pageHeading"><?php echo HEADING_TITLE; ?></div><br><?php echo TEXT_SUCCESS; ?><br><br>
    <?php
     if ($global['global_product_notifications'] != '1') {
    echo TEXT_NOTIFY_PRODUCTS . '<br><p class="productsNotifications">';
    
    $products_displayed = array();
    for ($i=0, $n=sizeof($products_array); $i<$n; $i++) {
      if (!in_array($products_array[$i]['id'], $products_displayed)) {
    	echo tep_draw_checkbox_field('notify[]', $products_array[$i]['id']) . ' ' . $products_array[$i]['text'] . '<br>';
    	$products_displayed[] = $products_array[$i]['id'];
      }
    }
    
    echo '</p>';
     } else {
    echo TEXT_SEE_ORDERS . '<br><br>' . TEXT_CONTACT_STORE_OWNER;
     }
    ?>
    		<h3><?php echo TEXT_THANKS_FOR_SHOPPING; ?></h3></td>
    	  </tr>
    	</table></td>
      </tr>
      <tr>
    	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
    	<td align="right" class="main"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></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_draw_separator('pixel_silver.gif', '1', '5'); ?></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_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>
    		  </tr>
    		</table></td>
    	  </tr>
    	  <tr>
    		<td align="center" width="25%" class="checkoutBarFrom"><?php echo CHECKOUT_BAR_DELIVERY; ?></td>
    		<td align="center" width="25%" class="checkoutBarFrom"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>
    		<td align="center" width="25%" class="checkoutBarFrom"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
    		<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
    	  </tr>
    	</table></td>
      </tr>
    <?php if (DOWNLOAD_ENABLED == 'true') include(DIR_WS_MODULES . 'downloads.php'); ?>
    </table></form></td>
    <!-- body_text_eof //-->
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
    <!-- right_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
    <!-- right_navigation_eof //-->
    </table></td>
     </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'); ?>

    checkout_confirmation.php

    <?php
    /*
     $Id: checkout_confirmation.php,v 1.139 2003/06/11 17:34:53 hpdl Exp $
    
     osCommerce, Open Source E-Commerce Solutions
     http://www.oscommerce.com
    
     Copyright (c) 2003 osCommerce
    
     Released under the GNU General Public License
    */
    
     require('includes/application_top.php');
    
    // if the customer is not logged on, redirect them to the login page
     if (!tep_session_is_registered('customer_id')) {
    $navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
    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));
     }
    
    // avoid hack attempts during the checkout procedure by checking the internal cartID
     if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
    if ($cart->cartID != $cartID) {
      tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    }
     }
    
    // if no shipping method has been selected, redirect the customer to the shipping method selection page
     if (!tep_session_is_registered('shipping')) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
     }
    
     if (!tep_session_is_registered('payment')) tep_session_register('payment');
     if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];
    
     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']);
     }
    
    // load the selected payment module
     require(DIR_WS_CLASSES . 'payment.php');
     $payment_modules = new payment($payment);
    
     require(DIR_WS_CLASSES . 'order.php');
     $order = new order;
    
     $payment_modules->update_status();
    
     if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
     }
    
     if (is_array($payment_modules->modules)) {
    $payment_modules->pre_confirmation_check();
     }
    
    // load the selected shipping module
     require(DIR_WS_CLASSES . 'shipping.php');
     $shipping_modules = new shipping($shipping);
    
     require(DIR_WS_CLASSES . 'order_total.php');
     $order_total_modules = new order_total;
     $order_total_modules->process();
    
    // Stock Check
     $any_out_of_stock = false;
     if (STOCK_CHECK == 'true') {
    for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
      if (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {
    	$any_out_of_stock = true;
      }
    }
    // Out of Stock
    if ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) {
      tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
    }
     }
    
     require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_CONFIRMATION);
    
     $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
     $breadcrumb->add(NAVBAR_TITLE_2);
    ?>
    <!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">
    </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"><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
    	<td>
    <?php
     if (isset($$payment->form_action_url)) {
    $form_action_url = $$payment->form_action_url;
     } else {
    $form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
     }
    
     echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');
    ?>
    	<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_confirmation.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="1" cellpadding="2" class="infoBox">
    	  <tr class="infoBoxContents">
    <?php
     if ($sendto != false) {
    ?>
    		<td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
    		  <tr>
    			<td class="main"><?php echo '<b>' . HEADING_DELIVERY_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    		  </tr>
    		  <tr>
    			<td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>
    		  </tr>
    <?php
    if ($order->info['shipping_method']) {
    ?>
    		  <tr>
    			<td class="main"><?php echo '<b>' . HEADING_SHIPPING_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    		  </tr>
    		  <tr>
    			<td class="main"><?php echo $order->info['shipping_method']; ?></td>
    		  </tr>
    <?php
    }
    ?>
    		</table></td>
    <?php
     }
    ?>
    		<td width="<?php echo (($sendto != false) ? '70%' : '100%'); ?>" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
    		  <tr>
    			<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <?php
     if (sizeof($order->info['tax_groups']) > 1) {
    ?>
    			  <tr>
    				<td class="main" colspan="2"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    				<td class="smallText" align="right"><b><?php echo HEADING_TAX; ?></b></td>
    				<td class="smallText" align="right"><b><?php echo HEADING_TOTAL; ?></b></td>
    			  </tr>
    <?php
     } else {
    ?>
    			  <tr>
    				<td class="main" colspan="3"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    			  </tr>
    <?php
     }
    
     for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
    echo '		  <tr>' . "\n" .
    	 '			<td class="main" align="right" valign="top" width="30">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
    	 '			<td class="main" valign="top">' . $order->products[$i]['name'];
    
    if (STOCK_CHECK == 'true') {
      echo tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty']);
    }
    
    if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {
      for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
    	echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . '</i></small></nobr>';
      }
    }
    
    echo '</td>' . "\n";
    
    if (sizeof($order->info['tax_groups']) > 1) echo '			<td class="main" valign="top" align="right">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n";
    
    echo '			<td class="main" align="right" valign="top">' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . '</td>' . "\n" .
    	 '		  </tr>' . "\n";
     }
    ?>
    			</table></td>
    		  </tr>
    		</table></td>
    	  </tr>
    	</table></td>
      </tr>
      <tr>
    	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
    	<td class="main"><b><?php echo HEADING_BILLING_INFORMATION; ?></b></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 width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
    		  <tr>
    			<td class="main"><?php echo '<b>' . HEADING_BILLING_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    		  </tr>
    		  <tr>
    			<td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>
    		  </tr>
    		  <tr>
    			<td class="main"><?php echo '<b>' . HEADING_PAYMENT_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
    		  </tr>
    		  <tr>
    			<td class="main"><?php echo $order->info['payment_method']; ?></td>
    		  </tr>
    		</table></td>
    		<td width="70%" valign="top" align="right"><table border="0" cellspacing="0" cellpadding="2">
    <?php
     if (MODULE_ORDER_TOTAL_INSTALLED) {
    echo $order_total_modules->output();
     }
    ?>
    		</table></td>
    	  </tr>
    	</table></td>
      </tr>
    <?php
     if (is_array($payment_modules->modules)) {
    if ($confirmation = $payment_modules->confirmation()) {
    ?>
      <tr>
    	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
    	<td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></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" cellspacing="0" cellpadding="2">
    		  <tr>
    			<td class="main" colspan="4"><?php echo $confirmation['title']; ?></td>
    		  </tr>
    <?php
      for ($i=0, $n=sizeof($confirmation['fields']); $i<$n; $i++) {
    ?>
    		  <tr>
    			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    			<td class="main"><?php echo $confirmation['fields'][$i]['title']; ?></td>
    			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    			<td class="main"><?php echo $confirmation['fields'][$i]['field']; ?></td>
    		  </tr>
    <?php
      }
    ?>
    		</table></td>
    	  </tr>
    	</table></td>
      </tr>
    <?php
    }
     }
    ?>
      <tr>
    	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
    <?php
     if (tep_not_null($order->info['comments'])) {
    ?>
      <tr>
    	<td class="main"><?php echo '<b>' . HEADING_ORDER_COMMENTS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></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 class="main"><?php echo nl2br(tep_output_string_protected($order->info['comments'])) . tep_draw_hidden_field('comments', $order->info['comments']); ?></td>
    		  </tr>
    		</table></td>
    	  </tr>
    	</table></td>
      </tr>
      <tr>
    	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
    <?php
     }
    ?>
      <tr>
    	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
    	  <tr>
    		<td align="right" class="main">
    <?php
     if (isset($$payment->form_action_url)) {
    $form_action_url = $$payment->form_action_url;
     } else {
    $form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
     }
    
     echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');
     if (is_array($payment_modules->modules)) {
    echo $payment_modules->process_button();
     }
    
     echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER) . "\n";
    ?>
    		</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_draw_separator('pixel_silver.gif', '1', '5'); ?></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%"><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><?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%"><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="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
    		<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>
    		<td align="center" width="25%" class="checkoutBarCurrent"><?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 //-->
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
    <!-- right_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
    <!-- right_navigation_eof //-->
    </table></td>
     </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'); ?>


  17. Hello All,

    I am having an odd problem with some customers complaining that they are being looped back to the checkout_shipping.php after they select "confirm order" on the checkout_confirmation.php.

    It has only happened for a couple of customers and one says that her credit card account is having the fund held but not charged. I am getting no orders listed in the admin, nor payment gateway, nor order confirmation emails.

    I have been making changes to the cart. I installed the latest paypal IPN, Super downloads Shop, and the OsCommerce MS2.2RC2a update. I am wondering if there could have orders 'caught in the middle' during these updates. I used the check and repair database from MySOL. But don't seem to have any solution. This is on a php5 system.

    Any help is appreciated

    Thanks

×