Here is my usps.php module. Was working great until USPS changed things with the new rates. I have messed with it over and over and it's still not showing correct rates for Standard Post. HELP PLEASE. If someone can fix it I could even email them the file, have them fix it, and then pay them a reasonable sum assuming it worked correctly. Anyone? Oh, I am running osCommerce V2.2 RC2. Ends up posting the entire file was too long so I had to cut it down...am hoping the part that needs correcting is included below. I have also attached it to this message, the entire file that is.
[email protected]
If you want to see the actual store it is:
http://www.lonestarchinchilla.com/store
usps.php
<?php
/*
$Id: usps.php 6.1 by Kevin L Shelton on September 7, 2011
+++++ Original contribution by Brad Waite and Fritz Clapp ++++
++++ Revisions and Modifications made by Greg Deeth, 2008 ++++
Copyright 2008 osCommerce
Released under the GNU General Public License
//VERSION: 5.2.1 ALPHA LAST UPDATED: January 23rd, 2011 by Fulluv Scents
*/
// Incorporate the XML conversion library
if (PHP_VERSION >= '5.0.0') { // PHP 5 does not need to use call-time pass by reference
require_once (DIR_WS_CLASSES . 'xml_5.php');
} else {
require_once (DIR_WS_CLASSES . 'xml.php');
}
if ( !function_exists('htmlspecialchars_decode') ) {
function htmlspecialchars_decode($text) {
return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
}
}
// Sets up USPS Class
class usps {
// Sets Variables
var $code, $title, $description, $icon, $enabled, $countries;
function usps() {
global $order, $packing;
$this->code = 'usps';
$this->title = MODULE_SHIPPING_USPS_TEXT_TITLE;
$this->description = MODULE_SHIPPING_USPS_TEXT_DESCRIPTION;
$this->icon = DIR_WS_ICONS . 'shipping_usps.gif';
$this->enabled = ((MODULE_SHIPPING_USPS_STATUS == 'True') ? true : false);
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_USPS_ZONE > 0) ) {
$check_flag = false;
$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_USPS_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
while ($check = tep_db_fetch_array($check_query)) {
if ($check['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
}
if ($check_flag == false) {
$this->enabled = false;
}
}
if (defined('SHIPPING_DIMENSIONS_SUPPORT') && SHIPPING_DIMENSIONS_SUPPORT == 'Ready-to-ship only') {
$this->dimensions_support = 1;
} elseif (defined('SHIPPING_DIMENSIONS_SUPPORT') && SHIPPING_DIMENSIONS_SUPPORT == 'With product dimensions') {
$this->dimensions_support = 2;
} else {
$this->dimensions_support = 0;
}
$this->countries = $this->country_list();
$this->sort_order = MODULE_SHIPPING_USPS_SORT_ORDER;
$this->tax_class = MODULE_SHIPPING_USPS_TAX_CLASS;
$this->sig_conf_thresh = MODULE_SHIPPING_USPS_SIG_THRESH;
$options = explode(', ', MODULE_SHIPPING_USPS_OPTIONS);
$this->display_weight = in_array('Display Weight', $options);
$this->display_transit = in_array('Display Transit Time', $options);
$this->display_insurance = in_array('Display Insurance', $options);
$this->display_confirmation = in_array('Display Sig./Del. Confirmation', $options);
$this->types = array(
'Express Mail' => 'Express Mail<sup>®</sup>',
'Express Mail Hold For Pickup' => 'Express Mail<sup>®</sup> Hold For Pickup',
'Express Mail Sunday/Holiday Delivery' => 'Express Mail<sup>®</sup> Sunday/Holiday Delivery',
'Express Mail Flat Rate Envelope' => 'Express Mail<sup>®</sup> Flat Rate Envelope',
'Express Mail Flat Rate Envelope Hold For Pickup' => 'Express Mail<sup>®</sup> Flat Rate Envelope Hold For Pickup',
'Express Mail Sunday/Holiday Delivery Flat Rate Envelope' => 'Express Mail<sup>®</sup> Sunday/Holiday Delivery Flat Rate Envelope',
'Express Mail Legal Flat Rate Envelope' => 'Express Mail<sup>®</sup> Legal Flat Rate Envelope',
'Express Mail Legal Flat Rate Envelope Hold For Pickup' => 'Express Mail<sup>®</sup> Legal Flat Rate Envelope Hold For Pickup',
'Express Mail Sunday/Holiday Delivery Legal Flat Rate Envelope' => 'Express Mail<sup>®</sup> Sunday/Holiday Delivery Legal Flat Rate Envelope',
'Priority Mail' => 'Priority Mail<sup>®</sup>',
'Priority Mail Hold For Pickup' => 'Priority Mail<sup>®</sup> Hold For Pickup',
'Priority Mail Large Flat Rate Box' => 'Priority Mail<sup>®</sup> Large Flat Rate Box',
'Priority Mail Large Flat Rate Box Hold For Pickup' => 'Priority Mail<sup>®</sup> Large Flat Rate Box Hold For Pickup',
'Priority Mail Medium Flat Rate Box' => 'Priority Mail<sup>®</sup> Medium Flat Rate Box',
'Priority Mail Medium Flat Rate Box Hold For Pickup' => 'Priority Mail<sup>®</sup> Medium Flat Rate Box Hold For Pickup',
'Priority Mail Small Flat Rate Box' => 'Priority Mail<sup>®</sup> Small Flat Rate Box',
'Priority Mail Small Flat Rate Box Hold For Pickup' => 'Priority Mail<sup>®</sup> Small Flat Rate Box Hold For Pickup',
'Priority Mail Regional Rate Box A' => 'Priority Mail<sup>®</sup> Regional Rate Box A',
'Priority Mail Regional Rate Box A Hold For Pickup' => 'Priority Mail<sup>®</sup> Regional Rate Box A Hold For Pickup',
'Priority Mail Regional Rate Box B' => 'Priority Mail<sup>®</sup> Regional Rate Box B',
'Priority Mail Regional Rate Box B Hold For Pickup' => 'Priority Mail<sup>®</sup> Regional Rate Box B Hold For Pickup',
'Priority Mail Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Flat Rate Envelope',
'Priority Mail Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Flat Rate Envelope Hold For Pickup',
'Priority Mail Legal Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Legal Flat Rate Envelope',
'Priority Mail Legal Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Legal Flat Rate Envelope Hold For Pickup',
'Priority Mail Padded Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Padded Flat Rate Envelope',
'Priority Mail Padded Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Padded Flat Rate Envelope Hold For Pickup',
'Priority Mail Gift Card Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Gift Card Flat Rate Envelope',
'Priority Mail Gift Card Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Gift Card Flat Rate Envelope Hold For Pickup',
'Priority Mail Small Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Small Flat Rate Envelope',
'Priority Mail Small Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Small Flat Rate Envelope Hold For Pickup',
'Priority Mail Window Flat Rate Envelope' => 'Priority Mail<sup>®</sup> Window Flat Rate Envelope',
'Priority Mail Window Flat Rate Envelope Hold For Pickup' => 'Priority Mail<sup>®</sup> Window Flat Rate Envelope Hold For Pickup',
'First-Class Mail Parcel' => 'First-Class Mail<sup>®</sup> Parcel',
'First-Class Mail Parcel Hold For Pickup' => 'First-Class Mail<sup>®</sup> Parcel Hold For Pickup',
'First-Class Mail Large Envelope' => 'First-Class Mail<sup>®</sup> Large Envelope',
'First-Class Mail Letter' => 'First-Class Mail<sup>®</sup> Letter',
'Parcel Post' => 'Standard PostRM<sup>®</sup>',
'Media Mail' => 'Media Mail<sup>®</sup>',
'Library Mail' => 'Library Mail'
);
$this->type_to_request = array(
'Express Mail' => 'Express Commercial',
'Express Mail Hold For Pickup' => 'Express HFP Commercial',
'Express Mail Sunday/Holiday Delivery' => 'Express SH Commercial',
'Express Mail Flat Rate Envelope' => 'Express Commercial',
'Express Mail Flat Rate Envelope Hold For Pickup' => 'Express HFP Commercial',
'Express Mail Sunday/Holiday Delivery Flat Rate Envelope' => 'Express SH Commercial',
'Express Mail Legal Flat Rate Envelope' => 'Express Commercial',
'Express Mail Legal Flat Rate Envelope Hold For Pickup' => 'Express HFP Commercial',
'Express Mail Sunday/Holiday Delivery Legal Flat Rate Envelope' => 'Express SH Commercial',
'Priority Mail' => 'Priority Commercial',
'Priority Mail Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Large Flat Rate Box' => 'Priority Commercial',
'Priority Mail Large Flat Rate Box Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Medium Flat Rate Box' => 'Priority Commercial',
'Priority Mail Medium Flat Rate Box Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Small Flat Rate Box' => 'Priority Commercial',
'Priority Mail Small Flat Rate Box Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Regional Rate Box A' => 'Priority Commercial',
'Priority Mail Regional Rate Box A Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Regional Rate Box B' => 'Priority Commercial',
'Priority Mail Regional Rate Box B Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Legal Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Legal Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Padded Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Padded Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Gift Card Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Gift Card Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Small Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Small Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'Priority Mail Window Flat Rate Envelope' => 'Priority Commercial',
'Priority Mail Window Flat Rate Envelope Hold For Pickup' => 'Priority HFP Commercial',
'First-Class Mail Parcel' => 'First Class Commercial',
'First-Class Mail Parcel Hold For Pickup' => 'First Class HFP Commercial',
'First-Class Mail Large Envelope' => 'First Class',
'First-Class Mail Letter' => 'First Class',
'Parcel Post' => 'Parcel',
'Media Mail' => 'Media',
'Library Mail' => 'Library'
);
$this->type_to_container = array(
'Express Mail' => '',
'Express Mail Hold For Pickup' => '',
'Express Mail Sunday/Holiday Delivery' => '',
'Express Mail Flat Rate Envelope' => 'Flat Rate Envelope',
'Express Mail Flat Rate Envelope Hold For Pickup' => 'Flat Rate Envelope',
'Express Mail Sunday/Holiday Delivery Flat Rate Envelope' => 'Flat Rate Envelope',
'Express Mail Legal Flat Rate Envelope' => 'Legal Flat Rate Envelope',
'Express Mail Legal Flat Rate Envelope Hold For Pickup' => 'Legal Flat Rate Envelope',
'Express Mail Sunday/Holiday Delivery Legal Flat Rate Envelope' => 'Legal Flat Rate Envelope',
'Priority Mail' => '',
'Priority Mail Hold For Pickup' => '',
'Priority Mail Large Flat Rate Box' => 'LG Flat Rate Box',
'Priority Mail Large Flat Rate Box Hold For Pickup' => 'LG Flat Rate Box',
'Priority Mail Medium Flat Rate Box' => 'MD Flat Rate Box',
'Priority Mail Medium Flat Rate Box Hold For Pickup' => 'MD Flat Rate Box',
'Priority Mail Small Flat Rate Box' => 'SM Flat Rate Box',
'Priority Mail Small Flat Rate Box Hold For Pickup' => 'SM Flat Rate Box',
'Priority Mail Regional Rate Box A' => 'Regional Rate Box A',
'Priority Mail Regional Rate Box A Hold For Pickup' => 'Regional Rate Box A',
'Priority Mail Regional Rate Box B' => 'Regional Rate Box B',
'Priority Mail Regional Rate Box B Hold For Pickup' => 'Regional Rate Box B',
'Priority Mail Flat Rate Envelope' => 'Flat Rate Envelope',
'Priority Mail Flat Rate Envelope Hold For Pickup' => 'Flat Rate Envelope',
'Priority Mail Legal Flat Rate Envelope' => 'Legal Flat Rate Envelope',
'Priority Mail Legal Flat Rate Envelope Hold For Pickup' => 'Legal Flat Rate Envelope',
'Priority Mail Padded Flat Rate Envelope' => 'Padded Flat Rate Envelope',
'Priority Mail Padded Flat Rate Envelope Hold For Pickup' => 'Padded Flat Rate Envelope',
'Priority Mail Gift Card Flat Rate Envelope' => 'Gift Card Flat Rate Envelope',
'Priority Mail Gift Card Flat Rate Envelope Hold For Pickup' => 'Gift Card Flat Rate Envelope',
'Priority Mail Small Flat Rate Envelope' => 'SM Flat Rate Envelope',
'Priority Mail Small Flat Rate Envelope Hold For Pickup' => 'SM Flat Rate Envelope',
'Priority Mail Window Flat Rate Envelope' => 'Window Flat Rate Envelope',
'Priority Mail Window Flat Rate Envelope Hold For Pickup' => 'Window Flat Rate Envelope',
'First-Class Mail Parcel' => '',
'First-Class Mail Parcel Hold For Pickup' => '',
'First-Class Mail Large Envelope' => '',
'First-Class Mail Letter' => '',
'Parcel Post' => '',
'Media Mail' => '',
'Library Mail' => ''
);
usps.php