Jump to content


  • Content count

  • Joined

  • Last visited

1 Follower

About shaunklink

  • Birthday 01/01/1979

Profile Information

  1. shaunklink

    PayPal website payments pro

    yes, I agree as well. we are using it on a site that relies completly on it. lots of money transactions. from what I hear it does not completly adhear to paypals business rules.....
  2. shaunklink

    New UPS XML Shipping Module available

    find this line (around line 80) of the upsxml.php file // when cURL is not compiled into PHP (Windows users, some Linux users) // you can set the next variable to "1" and then exec(curl -d $xmlRequest, $xmlResponse) // will be used ? ? ? ?$this->use_exec = '0'; try changing the 0 to a 1 (or vice versa) and see what happens.
  3. for my first problem, you have to have the items within categories to make it work.
  4. shaunklink

    [Contribution] Ship In Cart

    I know this was written a long time ago, but I've had a problem with this. When I found this article, I did what it said and it worked perfectly. Now, after heavy modification, it no longer works. the problem is that not even a default radio box is filled, let alone the one that was selected from the shipping estimator. here is my code...sorry about the amount. <?php /* $Id: checkout_shipping.php,v 1.16 2003/06/09 23:03: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'); 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_CREATE_ACCOUNT, '', '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 // ###### Added CCGV Contribution ######### // if ($order->content_type == 'virtual') { if (($order->content_type == 'virtual') || ($order->content_type == 'virtual_weight') ) { // ###### End Added CCGV Contribution ######### if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); $shipping = false; $sendto = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } $total_weight = $cart->show_weight(); $total_count = $cart->count_contents(); // load all enabled shipping modules require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping; 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; } // process the selected shipping method 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 ( (tep_count_shipping_modules() > 0) || ($free_shipping == true) ) { 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'); } } } else { $shipping = false; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } } // 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"> <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" style="border:1px solid #666666"> <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><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 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="center" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2"> <tr> <td valign="top" align="left"><b><?php echo tep_address_label($customer_id, $sendto, true, ' ', '<br>'); ?></b></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <?php if (tep_count_shipping_modules() > 0) { ?> <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> <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 width="50%" valign="top"><?php //echo TEXT_CHOOSE_SHIPPING_METHOD; ?></td> <td width="50%" valign="top" align="right"><?php echo '<b>' . TITLE_PLEASE_SELECT . '</b>' ?></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 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 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 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 if ($cart_sid) { $shipping['id'] = $cart_sid; } $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 width="75%"><?php echo $quotes[$i]['methods'][$j]['title']; ?></td> <?php if ( ($n > 1) || ($n2 > 1) ) { ?> <td><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], (isset($quotes[$i]['tax']) ? $quotes[$i]['tax'] : 0))); ?></td> <td align="right"><?php echo tep_draw_radio_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'], $checked); ?></td> <?php } else { ?> <td 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> <?php } ?> <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><center><?php echo tep_draw_textarea_field('comments', 'soft', '50', '5'); ?></center></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr> <td></td></tr></table></td></tr></table><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr><td> </td></tr><tr> <td align="center"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></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> </tr> </table></td> <tr> </tr> </table></td> </tr> <tr> </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'); ?> I did an 'echo' of as many variables as I could find and they are all there, basically the problem must be in the $checked line inside the for-loop. if anyone can help, please let me know! I know its not the in the actual shipping_estimator. (BTW, $cart_sid is filled with the proper variable. Thanks
  5. tell me about it!...... anyways, my problems are critical..... When I click "Add Product" all I get a a blank list with a blank drop down menu that has "TOP" as it's only option. When I click update anywhere on the page I get "Cannot re-declare" error for the general.php (as mentioned earlier in the thread, without answer!). I think it's actually updateing though, its just a big pain! and not something I can hand over to a client. lastly, there are NO shipping options, or payment option drop downs. judging by the instructions as well as this thread, I guess there should be these things....they just must not be working for me. The only things that are there are blank text fields for Payment (no CC # and expire entry fields, just 1 blank field) and shipping is in the order total field (as 'delivery') with a blank text field as well. can someone please help!?
  6. I've looked through this thread.....for more then 4 hours and I cannot find the answer to a heavily asked question.....If someone does find the answer, PLEASE just put the link to the answer in a reply! do not just shrug these questions off! Others might come across them and use this post as a breadcrumb of sorts..... anyways, here is the problem after installing the contrib, I get no fatal errors really......the problem is when I create a 10% discount the discounted total does not pass to PayPal WPP setup (both express and direct pay). Also, the little shopping cart box only says "Coupon: more info"....... Another problem, is when I redeem the code, and then logoff the account, it does not save into the account...however I can re-redeem it...... but thats an even BIGGER problem :)....I can re-redeem a code that only is set to 1 use as many times as I want (in different sessions). Even after a test purchase is complete I can redeem the same code! please, I hope someone can help me with this......it so frustrating looking through this forum.....I'have had better luck using google to find answers IN THIS FORUM instead of the built in search engine..
  7. shaunklink

    [Contribution] Ship In Cart

    BINGO!!!! http://forums.oscommerce.com/index.php?sho...ndpost&p=427045 man that took way to long to find!.....why did I find it through google before I found it through this sites own search engine.......<shakes head in disapproval)
  8. shaunklink

    [Contribution] Ship In Cart

    any help with the above question? I can't figure out how to set the variables from shipincart to checkout_shipping.php.
  9. shaunklink

    [Contribution] Ship In Cart

    Is there a way to pass the selected shipping method to checkout_shipping.php page? I think it looks rather bad to select a shipping option twice. also, along the same lines....What if there is a return user who has multiple addresses. If you select a different address using the drop down box, can you pass this information to the checkout_shipping page as well? thanks!
  10. shaunklink

    Country-State Selector

    this mod works perfectly on an already heavily modified system. good work... anyone know where I can download more zones? preferably something that I wouldn't have to use the admin panel to enter them with. my client wants to be able to pretty much ship ANYWHERE.....I said "Are you sure? anywhere?" and they said yes..... any suggestions? thanks again
  11. shaunklink

    STS Live Examples

    ' Well, for one, the ever important Credit Vouchers/Gift contrib. I know it dosn't work right out of the box normally anyways, but it wreaks havoc with STS. For instance, alot of the calls to the language files come out exactly like there variable names... i.e. something like "HEADER_TITLE_CREATE_ACCOUNT" literally comes out exactly like its written, instead of the actual text that is defined by the statement.......I don't know if thats the right example, but it's pretty much across the board. I know that it can be fixed though...it's just such a major contribution that its hard to really pinpoint problems.
  12. shaunklink

    STS Live Examples

    I agree with everyone on the whole STS issue. However, it only depends on your needs. What matters is sales, and mixing it up with STS and a little elbow grease with the stock code is a good mixture. http://www.i-muffs.com/ yes, STS has caused me certain problems when it comes to contribs. But my god, go through the listing of live stores and you'll see a couple hours into your search that most of the stores look the same. STS at least gives you the abilty to change it up a little. my biggest problem is that my client only sells 1 item.....I initially created a custom shopping cart from scratch but they wanted all the pretty bells and whistles of the backend system in OSC (shipping quotes, etc). modifying the code of OSC is hard.......it's actually easier for me to change a major function then it is to remove a <table> call or format the way it looks.
  13. shaunklink

    [Contribution] Ship In Cart

    Is the other site on a different server? it seems like your register_globals is off. go to admin control panel for osCommerce and look up SERVER INFO somewhere I think in the tools menu or near backup. Look for REGISTER_GLOBALS. now as far as helping you around this problem, sorry.
  14. shaunklink


    So can someone run through what I would need to do to get this working? right now my client has a PHPlist mailing list with 5000 or so email signups. I would like to add a small infobox that lets you enter in your email and then sends a request into PHPlist itself. Also if possible, when someone signs up for an account it does the same automatically. Can someone help get me started?
  15. shaunklink

    STS add to cart button

    hmm, I really dont know... What about the $startform and $endform elements that your supposed to use.