Jump to content
Latest News: (loading..)


  • Content count

  • Joined

  • Last visited

  • Days Won


Roaddoctor last won the day on September 13 2015

Roaddoctor had the most liked content!


Profile Information

Recent Profile Visitors

76,822 profile views
  1. Hello all, I'm using the non BS (2.3.4) version and all is well.... except when the rare visitor happens to enter the site directly using https://www.domain.com/recently_viewed.php. the result is a soft 404 page Recently Viewed Products you have recently viewed 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') and p.products_id = pd.products_id and pd.language_id = '1'' at line 1 select count(*) as total from products p left join manufacturers m on (p.manufacturers_id = m.manufacturers_id), products_description pd where p.products_status = '1' and p.products_id IN () and p.products_id = pd.products_id and pd.language_id = '1' [TEP STOP] I'm pretty sure here is what needs sorting $viewed = implode(",", array_unique($navigation->products)); if (sizeof($viewed) == 0) { tep_redirect(tep_href_link(FILENAME_PRODUCTS_NEW)); } here is the entire recently_viewed.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2013 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_RECENTLY_VIEWED); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_RECENTLY_VIEWED)); $viewed = implode(",", array_unique($navigation->products)); if (sizeof($viewed) == 0) { tep_redirect(tep_href_link(FILENAME_PRODUCTS_NEW)); } require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <h2><?php echo HEADING_SUBTITLE; ?></h2> <div class="contentContainer"> <div class="contentText"> <?php $products_new_array = array(); $products_new_query_raw = "select p.products_id, pd.products_name, p.products_image, p.products_price, p.products_tax_class_id, p.products_date_added, m.manufacturers_name from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on (p.manufacturers_id = m.manufacturers_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id IN (" . $viewed . ") and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' ORDER BY FIELD(p.products_id, " . $viewed . ")"; $products_new_split = new splitPageResults($products_new_query_raw, MAX_DISPLAY_PRODUCTS_NEW); if (($products_new_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3'))) { ?> <div> <span style="float: right;"><?php echo TEXT_RESULT_PAGE . ' ' . $products_new_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></span> <span><?php echo $products_new_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS_VIEWED); ?></span> </div> <br /> <?php } ?> <?php if ($products_new_split->number_of_rows > 0) { ?> <table border="0" width="100%" cellspacing="2" cellpadding="2"> <?php $products_new_query = tep_db_query($products_new_split->sql_query); while ($products_new = tep_db_fetch_array($products_new_query)) { if ($new_price = tep_get_products_special_price($products_new['products_id'])) { $products_price = '<del>' . $currencies->display_price($products_new['products_price'], tep_get_tax_rate($products_new['products_tax_class_id'])) . '</del> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($products_new['products_tax_class_id'])) . '</span>'; } else { $products_price = $currencies->display_price($products_new['products_price'], tep_get_tax_rate($products_new['products_tax_class_id'])); } // PRODUCTS SHIP FREE START $freeship_str = ''; if(tep_products_ship_free_check($products_new['products_id'])) $freeship_str = '<span class="freeShipSm">(' . TEXT_PRODUCT_SHIPS_FREE . ')</span>'; // PRODUCTS SHIP FREE END // added to below for Products Ship Free: . ' ' . $freeship_str ?> <tr> <td width="<?php echo SMALL_IMAGE_WIDTH + 10; ?>" valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $products_new['products_image'], $products_new['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>'; ?></td> <td valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '"><strong><u>' . $products_new['products_name'] . '</u></strong></a><br />' . TEXT_DATE_ADDED . ' ' . tep_date_long($products_new['products_date_added']) . '<br />' . TEXT_MANUFACTURER . ' ' . $products_new['manufacturers_name'] . '<br /><br />' . TEXT_PRICE . ' ' . $products_price . ' ' . $freeship_str; ?></td> <!--<td align="right" valign="middle" class="smallText"><?php // echo tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', tep_href_link(FILENAME_PRODUCTS_NEW, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products_new['products_id'])); ?></td>--> <!--// BOF: MOD - EASY CALL FOR PRICE 2.3.1v1.1--> <td align="right" valign="middle" class="prixST"> <?php $products_price_tmp = preg_match_all('/([\d]+)/', $products_price, $match); if ((int)$products_price_tmp > 0){ echo tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', tep_href_link(FILENAME_RECENTLY_VIEWED, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products_new['products_id'])); } else echo $products_price ; ?></td> <!--// EOF: MOD - EASY CALL FOR PRICE 2.3.1v1.1--> </tr> <?php } ?> </table> <?php } else { ?> <div> <?php echo TEXT_NO_VIEWED_PRODUCTS; ?> </div> <?php } if (($products_new_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3'))) { ?> <br /> <div> <span style="float: right;"><?php echo TEXT_RESULT_PAGE . ' ' . $products_new_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></span> <span><?php echo $products_new_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS_VIEWED); ?></span> </div> <?php } ?> </div> </div> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> any assistance appreciated. Dave
  2. Roaddoctor

    Get 1 Free

    Jim, Tsimi, Hey there from way back... Yes, I still exist. Hope you are all well. Came across a issue and hope you may have some insight... I'm still using non-BS shop... I think PayPal changed something... When a customer tries to PP checkout with the get1free item in the cart, they are getting an error. In the log I am seeing: L_ERRORCODE0 10003 L_SHORTMESSAGE0 Missing argument L_LONGMESSAGE0 Item name, amount and quantity are required if item category is provided. The only thing I can think of is the $0.00 price is freaking out paypal…. ??? L_PAYMENTREQUEST_0_AMT1 0.00 any ideas? I have no clue how to sort this one. Thanks in advance
  3. Roaddoctor

    Login with PayPal - changes required?

    Here is the direct link that was within the email from PayPal... sorry for not including this https://developer.paypal.com/docs/api/identity/v1/#userinfo
  4. Roaddoctor

    Login with PayPal - changes required?

    Received this yesterday: Important notice regarding your Login with PayPal integration. PayPal will make a change to the Identity API, an API that you use as part of your integration with Login with PayPal (now known as Connect with PayPal). Depending upon how your integration consumes the API, you may need to make changes by March 4, 2019, to continue using this service. As part of this change, we’ll no longer return several values in the API. You can use our API documentation and make the necessary changes to your integration. If you have any questions or concerns, feel free to contact us. Thanks, PayPal Merchant Services FAQ How can I easily identify what needs to be changed? You can follow the API documentation to see if your integration will continue to work with attributes available via the API. I’m not a developer and I don’t understand what needs to be changed. How can I get this fixed? Because your integration is specific to your solution, we suggest you contact your developer. If you need further assistance, you can find a developer through our PayPal Partner Solutions Directory. What will happen if I do not make these changes? There is no impact to your integration if it uses the attributes available in the API documentation. If not, your application may have to handle the changes to continue working.
  5. Roaddoctor

    Batch Printing without Frames or PDF

    Updated Batch Printing without Frames or PDF v.2 for 2.3.4 Any feedback appreciated. Enjoy -Dave
  6. Roaddoctor

    Batch Printing without Frames or PDF

    an old post, but for anyone looking, page-break-before:always is deprecated To fix page breaks not working, change echo '<br style="page-break-before:always;">'; to // echo '<br style="page-break-before:always;">'; echo '<div style="page-break-after: always;"></div> <div>&nbsp; </div>'; Was just installing this tonight on a 2.3.4 non bs shop - and bleh it's not properly updated for 2.3.4. If anyone has already cleaned this up please share, would save me some time for sure... Woot Dave
  7. Roaddoctor

    Paypal not registering Customer Name

    just applied this fix - I've been seeing the same lately. Hope it works
  8. With Google merchant feeds and reviews..., Gtin is whatever your official "Item id" is with google merchant feeds.... in my case I use the "Products Model" field from within osc.... others may have a different or custom field
  9. Google updated the code to include Products as an optional field which I believe will extend to product reviews, not just site reviews. What is needed to get those GTIN submitted? <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script> <script> window.renderOptIn = function() { window.gapi.load('surveyoptin', function() { window.gapi.surveyoptin.render( { // REQUIRED FIELDS "merchant_id": xxxxxxx, "order_id": "ORDER_ID", "email": "CUSTOMER_EMAIL", "delivery_country": "COUNTRY_CODE", "estimated_delivery_date": "YYYY-MM-DD", // OPTIONAL FIELDS "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}] }); }); } </script>
  10. Roaddoctor

    FedEx - Web Services v9

    I get a nice A- at ssl labs. SSLv3 not enabled of course. Today my host swapped my php handlers from DSO to SuPHP as the problem only exists for DSO. All seems stable for the moment. I'll dig into that FedEx sample code - thanks John.
  11. Roaddoctor

    FedEx - Web Services v9

    For this type of error.... Is there some safety net coding that could be implemented that would catch the SoapFault exception and prevent the http 500? Way over my head, but getting http 500 really throws customers for a loop and they are gone... Thanks for any ideas!
  12. Roaddoctor

    FedEx - Web Services v9

    Per cPanel- It appeared that only ea-libcurl package has been broken during latest EA upgrade. Here's reply from cpanel: ----- Further investigating this the issue is occurring due to internal case EA-6671. The latest update of libcurl which soap uses is what's causing the issue. Unfortunately I do not have an ETA as to when this will be corrected but once it has it'll be reflected in our change log here: https://documentation.cpanel.net/display/EA4/EasyApache+4+Change+Log Our developers have made this case a high priority and I expect this to be implemented soon in our product. --- My host reversed the update and the sites worked normal again. They added ea-libcurl to the yum exclude until resolved. Lost a days business over this too... #$% :) Thanks all for the help!
  13. Roaddoctor

    FedEx - Web Services v9

    Looks like SOAP updated on the server last night and broke the interwebs - no connectivity causing http 500. Host has contacted cPanel and is "working on it"... lovely BAD SOAP: Name : ea-php56-php-soap Version : 5.6.31 Release : 2.2.2.cpanel Architecture: x86_64 Install Date: Wed Aug 9 05:51:44 2017 PHP Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /includes/modules/shipping/fedexwebservices.php:291 stack trace: #0 [internal function]: SoapClient->__doRequest(' version="...', 'https://gateway...', 'getRates', 1, 0) #1 /includes/modules/shipping/fedexwebservices.php(291): SoapClient->__call('getRates', Array) #2 /includes/modules/shipping/fedexwebservices.php(291): SoapClient->getRates(Array) #3 /includes/classes/shipping.php(105): fedexwebservices->quote('') #4 /shipping_quotes.php(167): shipping->quote() #5 {main} thrown in /includes/modules/shipping/fedexwebservices.php on line 291 John, thanks for the replies!
  14. Roaddoctor

    FedEx - Web Services v9

    FedEx says all normal on their end - but they are not receiving my quotes request... talking to host now - maybe SOAP is busted.... scratching my head
  15. Roaddoctor

    FedEx - Web Services v9

    John, is this what's in your wsdl9? <service name="RateService"> <port name="RateServicePort" binding="ns:RateServiceSoapBinding"> <s1:address location="https://gateway.fedex.com/web-services/"/> </port> </service> Thanks! The problems affecting 2 sites, identically, so doubt its corrupted files... Hopefully a temporary issue at FedEx end... calling them now. If I disable the FedEx module, everything is perfect - so its something odd