Jump to content


  • Content count

  • Joined

  • Last visited

Posts posted by evermorian

  1. Pardon my naivete, but in which file did you add the code? Thanks:)


    My apologies for the lack of clarity. That would be includes/modules/shipping/usps.php. The relevant modified section looks like this:


       	 if ($http->Connect('production.shippingapis.com', 80))
               $http->addHeader('Host', 'production.shippingapis.com');
               $http->addHeader('User-Agent', 'osCommerce');
               $http->addHeader('Connection', 'Close');
               if ($http->Get('/shippingapi.dll?' . $request)) $body = preg_replace(array('/\<sup\>\&reg;\<\/sup\>/', '/\<sup\>\&trade;\<\/sup\>/', '/\" /', '/\",/', '/\"<br>/', '/<br>/'), array('RM', 'TM', '",', '" ', '"<br>', 'BREAK'), htmlspecialchars_decode($http->getBody()));
    //            mail(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, $body);
    	    $body = preg_replace('/&[^; ]{0,6}.?/e', "((substr('\\0',-1) == ';') ? '\\0' : '&'.substr('\\0',1))", $body);
    	    return json_decode(json_encode(simplexml_load_string($body)),TRUE);


    This could likely be combined into the earlier preg_replace (for increased efficiency) by someone with more patience (like the package maintainer).

  2. I have identified two separate issues. The first is that FedEx returns the international data using PAYOR_LIST_SHIPMENT instead of PAYOR_LIST_PACKAGE. Otherwise, on cursory inspection, the data format appears the same. So, modifying line 310 to this:


    if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT'))


    ... fixes the problem for some international addresses.


    For my Canadian test address, FedEx is returning "There are no valid services available." So, I guess FedEx no longer offers service to Canada. ;)

  3. Okay, it looks like this problem results from unescaped ampersands in the data returned by USPS for international addresses along with incomplete handling of the returned data. As a quick (and fairly kludgey) fix, I added an extra pass at replacing them before returning the data on line 249:


    $body = preg_replace('/&[^; ]{0,6}.?/e', "((substr('\\0',-1) == ';') ? '\\0' : '&'.substr('\\0',1))", $body);

  4. I am using FedEx Webservice Version 9.4.2 with a new OSC 2.3.3 installation. It has been working okay for domestic (USA) addresses but, for international addresses, it is offering priority and economy options for just the handling fee.


    Any guesses as to why it would be doing this or, suggestions on how to troubleshoot?

  5. I am running USPS Rate V4 Intl Rate V2 - v.1.7 on recent clean installation of OSC 2.3.3. I have the boxes checked for six international shipping options. However, customers with addresses outside the USA are not getting any USPS shipping options offered. There isn't even a USPS section during checkout. Domestic customers (in the USA) are getting the expected options.


    Any guesses about what is going wrong or how to troubleshoot?

  6. Thanks for the great module.


    On the next release, please consider updating the version number in the headers. The current version (2.07.1) shows as 2.04 in the headers, making it difficult to know what version is installed without doing some diffs. Even better would be if the modules (and all OSC modules, really) would display the installed version number in the config screen in the admin interface.


    I wanted to disable all international FedEx shipping methods (because they tend to over bill me for those by 100% or more of the quoted amount). So, I changed international_types to an empty array in the appropriate location. Now, international customers see "No Rates Returned, :" in the FedEx section. Is there an easy way to make it just not show the FedEx section (and, better, just not check FedEx) for international shipments?

  7. I ran into a problem installing the update. It was showing no configuration for international shipping methods in the admin interface and an error for international customers asking them contact the store owner to use USPS. Checking my PHP error log, I had one of these for each attempt:


    PHP Parse error: parse error, unexpected T_GLOBAL, expecting ')' in /pathredacted/www/catalog/admin/modules.php(216) : eval()'d code on line 1


    After some poking around, I was able to determine that the set_function column of the configuration table was a varchar(255). The update.sql change for MODULE_SHIPPING_USPS_TYPES_INTL is well over 255 characters. So, that field needs to be lengthened or changed to text.


    Since a lot of other people are not mentioning this, I assume most people are running some other contribution or change that already altered that field length. I thought I would post a note, though, in case I could save someone else the annoyance of having to figure that out.

  8. It doesn't seem to be specific to the FedEx module. It will not save settings for any payment or shipping module, though it will save settings for other things (like the configuration settings). I'll post elsewhere.


    Apparently, this is a known issue with the 060817 (and, possibly RC1) release of OSC. Here's a link to the appropriate forum thread for anyone else who stumbles on my question instead of the answer:



  9. Please double check your installation - The admin interface should work just fine- I do not recall anyone else having that problem. -sorry


    It doesn't seem to be specific to the FedEx module. It will not save settings for any payment or shipping module, though it will save settings for other things (like the configuration settings). I'll post elsewhere.



  10. I am trying to set up the FedEx Direct module in a new OSC installation. I have the current version and all patches. I dutifully followed the installation instructions in the readme (creating the database, modifying the two categories.php files, etc.).


    I enabled the module in the admin interface with no trouble. I click edit, change the settings (put in account number, etc.) and click the update button. At that point, it reverts to the default settings.


    I made sure the db user had full perms to the db. I set everything in the catalog directory writeable by the web server user. No joy.


    Any guesses on what's going on?