Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

gaspower

Pioneers
  • Posts

    453
  • Joined

  • Last visited

Everything posted by gaspower

  1. Hello Jack_mcs, Thank you for the prompt reply. Sorry, I am a little confused. As per the instructions for installing Google Feeder, it mentions for the cron job to be the following, php -q /home/virtual/site1.com/var/www/html/admin/googlefeeder.php This is the full path to googlefeeder.php. Thank you
  2. Hello, Sorry, I have searched for a solution for the below error. The answers I have seen mostly are for the config file, and it seems to be set correct for functions and includes, define('DIR_WS_INCLUDES', 'includes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); Error I am getting from the cron job is, PHP Warning: include(includes/configure.php): failed to open stream: No such file or directory in /home/virtual/site1/fst/var/www/html/adminm/includes/application_top.php on line 28 PHP Warning: include(): Failed opening 'includes/configure.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /home/virtual/site1/fst/var/www/html/adminm/includes/application_top.php on line 28 PHP Warning: require(DIR_WS_FUNCTIONScompatibility.php): failed to open stream: No such file or directory in /home/virtual/site1/fst/var/www/html/adminm/includes/application_top.php on line 35 PHP Fatal error: require(): Failed opening required 'DIR_WS_FUNCTIONScompatibility.php' (include_path='.:/php/includes:/usr/share/php') in /home/virtual/site1/fst/var/www/html/adminm/includes/application_top.php on line 35 Lines in my applications_top, Line 28 // load server configuration parameters if (file_exists('includes/local/configure.php')) { // for developers include('includes/local/configure.php'); } else { include('includes/configure.php'); (Line 28) } Line 35 require(DIR_WS_FUNCTIONS . 'compatibility.php'); Thanks JR
  3. Hello, I should also mention, I have PayPal Standard active and it works fine. Also in my Paypal account, under web site I have the return to /catalog/checkout_process.php
  4. Hello, I am having a return to proper page issue. Currently using OSC 2.31 and v1.2 Paypal Express. When I go to checkout and PayPal returns to OSC, it is returning to checkout_payment.php which I get an error. I believe it is suppose to return to checkout_shipping.php to finish the process? Is that correct? Thanks JR
  5. Hello, I am using OSC 2.31 and having a strange issue. On random Paypal payments, I am not receiving the confirmation order email. I am assuming this is caused by customer not finishing the checkout and not returning to checkout_success page. Is there anyway for force Paypal to return or force the order confirmation email? I am not losing payment or orders, just not receiving the emails. Thanks JR
  6. Hello, Sure, <?php /* $Id: usps.php 5.2.1 +++++ 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 */ ///////////////////////////////////////// ////////// Sets up USPS Class /////////// ///////////////////////////////////////// class usps { ///////////////////////////////////////// ///////////// Sets Variables //////////// ///////////////////////////////////////// var $code, $title, $description, $icon, $enabled, $countries; function usps() { if ( !function_exists('htmlspecialchars_decode') ) { function htmlspecialchars_decode($text) { return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS))); } } global $order; $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; } } $this->countries = $this->country_list(); $this->sort_order = MODULE_SHIPPING_USPS_SORT_ORDER; $this->tax_class = MODULE_SHIPPING_USPS_TAX_CLASS; $this->processing = MODULE_SHIPPING_USPS_PROCESSING; $this->dmstc_handling = explode( ", ", MODULE_SHIPPING_USPS_DMSTC_HANDLING); $this->intl_handling = explode( ", ", MODULE_SHIPPING_USPS_INTL_HANDLING); $this->sig_conf_thresh = MODULE_SHIPPING_USPS_SIG_THRESH; $this->types = array( 'First-Class Mail regimark' => 'First-Class Mail regimark', 'Media Mail regimark' => 'Media Mail regimark', 'Parcel Post regimark' => 'Parcel Post regimark', 'Priority Mail regimark' => 'Priority Mail regimark', 'Priority Mail regimark Flat Rate Envelope' => 'Priority Mail regimark Flat Rate Envelope', 'Priority Mail regimark Small Flat Rate Box' => 'Priority Mail regimark Small Flat Rate Box', 'Priority Mail regimark Medium Flat Rate Box' => 'Priority Mail regimark Medium Flat Rate Box', 'Priority Mail regimark Large Flat Rate Box' => 'Priority Mail regimark Large Flat Rate Box', 'Express Mail regimark' => 'Express Mail regimark', 'Express Mail regimark Flat Rate Envelope' => 'Express Mail regimark Flat Rate Envelope' ); $this->intl_types = array( 'Global Express' => 'Global Express Guaranteed regimark (GXG)**', 'Global Express Non-Doc Rect' => 'Global Express Guaranteed regimark Non-Document Rectangular', 'Global Express Non-Doc Non-Rect' => 'Global Express Guaranteed regimark Non-Document Non-Rectangular', 'USPS GXG Envelopes' => 'USPS GXG tradmrk Envelopes**', 'Express Mail Int' => 'Express Mail regimark International', 'Express Mail Int Flat Rate Env' => 'Express Mail regimark International Flat Rate Envelope', 'Priority Mail International' => 'Priority Mail regimark International', 'Priority Mail Int Flat Rate Lrg Box' => 'Priority Mail regimark International Large Flat Rate Box', 'Priority Mail Int Flat Rate Med Box' => 'Priority Mail regimark International Medium Flat Rate Box', 'Priority Mail Int Flat Rate Small Box' => 'Priority Mail regimark International Small Flat Rate Box**', 'Priority Mail Int Flat Rate Env' => 'Priority Mail regimark International Flat Rate Envelope**', 'First-Class Mail Int Lrg Env' => 'First-Class Mail regimark International Large Envelope**', 'First-Class Mail Int Package' => 'First-Class Mail regimark International Package**', 'First-Class Mail Int Letter' => 'First-Class Mail regimark International Letter**' ); } ///////////////////////////////////////// ///////////// Ends Variables //////////// ///////////////////////////////////////// ///////////////////////////////////////// /////////// Sets Country List /////////// ///////////////////////////////////////// function country_list() { $list = array( 'AF' => 'Afghanistan', 'AL' => 'Albania', 'DZ' => 'Algeria', 'AD' => 'Andorra', 'AO' => 'Angola', 'AI' => 'Anguilla', 'AG' => 'Antigua and Barbuda', 'AR' => 'Argentina', 'AM' => 'Armenia', 'AW' => 'Aruba', 'AU' => 'Australia', 'AT' => 'Austria', 'AZ' => 'Azerbaijan', 'BS' => 'Bahamas', 'BH' => 'Bahrain', 'BD' => 'Bangladesh', 'BB' => 'Barbados', 'BY' => 'Belarus', 'BE' => 'Belgium', 'BZ' => 'Belize', 'BJ' => 'Benin', 'BM' => 'Bermuda', 'BT' => 'Bhutan', 'BO' => 'Bolivia', 'BA' => 'Bosnia-Herzegovina', 'BW' => 'Botswana', 'BR' => 'Brazil', 'VG' => 'British Virgin Islands', 'BN' => 'Brunei Darussalam', 'BG' => 'Bulgaria', 'BF' => 'Burkina Faso', 'MM' => 'Burma', 'BI' => 'Burundi', 'KH' => 'Cambodia', 'CM' => 'Cameroon', 'CA' => 'Canada', 'CV' => 'Cape Verde', 'KY' => 'Cayman Islands', 'CF' => 'Central African Republic', 'TD' => 'Chad', 'CL' => 'Chile', 'CN' => 'China', 'CX' => 'Christmas Island (Australia)', 'CC' => 'Cocos Island (Australia)', 'CO' => 'Colombia', 'KM' => 'Comoros', 'CG' => 'Congo (Brazzaville),Republic of the', 'ZR' => 'Congo, Democratic Republic of the', 'CK' => 'Cook Islands (New Zealand)', 'CR' => 'Costa Rica', 'CI' => 'Cote d\'Ivoire (Ivory Coast)', 'HR' => 'Croatia', 'CU' => 'Cuba', 'CY' => 'Cyprus', 'CZ' => 'Czech Republic', 'DK' => 'Denmark', 'DJ' => 'Djibouti', 'DM' => 'Dominica', 'DO' => 'Dominican Republic', 'TP' => 'East Timor (Indonesia)', 'EC' => 'Ecuador', 'EG' => 'Egypt', 'SV' => 'El Salvador', 'GQ' => 'Equatorial Guinea', 'ER' => 'Eritrea', 'EE' => 'Estonia', 'ET' => 'Ethiopia', 'FK' => 'Falkland Islands', 'FO' => 'Faroe Islands', 'FJ' => 'Fiji', 'FI' => 'Finland', 'FR' => 'France', 'GF' => 'French Guiana', 'PF' => 'French Polynesia', 'GA' => 'Gabon', 'GM' => 'Gambia', 'GE' => 'Georgia, Republic of', 'DE' => 'Germany', 'GH' => 'Ghana', 'GI' => 'Gibraltar', 'GB' => 'Great Britain and Northern Ireland', 'GR' => 'Greece', 'GL' => 'Greenland', 'GD' => 'Grenada', 'GP' => 'Guadeloupe', 'GT' => 'Guatemala', 'GN' => 'Guinea', 'GW' => 'Guinea-Bissau', 'GY' => 'Guyana', 'HT' => 'Haiti', 'HN' => 'Honduras', 'HK' => 'Hong Kong', 'HU' => 'Hungary', 'IS' => 'Iceland', 'IN' => 'India', 'ID' => 'Indonesia', 'IR' => 'Iran', 'IQ' => 'Iraq', 'IE' => 'Ireland', 'IL' => 'Israel', 'IT' => 'Italy', 'JM' => 'Jamaica', 'JP' => 'Japan', 'JO' => 'Jordan', 'KZ' => 'Kazakhstan', 'KE' => 'Kenya', 'KI' => 'Kiribati', 'KW' => 'Kuwait', 'KG' => 'Kyrgyzstan', 'LA' => 'Laos', 'LV' => 'Latvia', 'LB' => 'Lebanon', 'LS' => 'Lesotho', 'LR' => 'Liberia', 'LY' => 'Libya', 'LI' => 'Liechtenstein', 'LT' => 'Lithuania', 'LU' => 'Luxembourg', 'MO' => 'Macao', 'MK' => 'Macedonia, Republic of', 'MG' => 'Madagascar', 'MW' => 'Malawi', 'MY' => 'Malaysia', 'MV' => 'Maldives', 'ML' => 'Mali', 'MT' => 'Malta', 'MQ' => 'Martinique', 'MR' => 'Mauritania', 'MU' => 'Mauritius', 'YT' => 'Mayotte (France)', 'MX' => 'Mexico', 'MD' => 'Moldova', 'MC' => 'Monaco (France)', 'MN' => 'Mongolia', 'MS' => 'Montserrat', 'MA' => 'Morocco', 'MZ' => 'Mozambique', 'NA' => 'Namibia', 'NR' => 'Nauru', 'NP' => 'Nepal', 'NL' => 'Netherlands', 'AN' => 'Netherlands Antilles', 'NC' => 'New Caledonia', 'NZ' => 'New Zealand', 'NI' => 'Nicaragua', 'NE' => 'Niger', 'NG' => 'Nigeria', 'KP' => 'North Korea (Korea, Democratic People\'s Republic of)', 'NO' => 'Norway', 'OM' => 'Oman', 'PK' => 'Pakistan', 'PA' => 'Panama', 'PG' => 'Papua New Guinea', 'PY' => 'Paraguay', 'PE' => 'Peru', 'PH' => 'Philippines', 'PN' => 'Pitcairn Island', 'PL' => 'Poland', 'PT' => 'Portugal', 'QA' => 'Qatar', 'RE' => 'Reunion', 'RO' => 'Romania', 'RU' => 'Russia', 'RW' => 'Rwanda', 'SH' => 'Saint Helena', 'KN' => 'Saint Kitts (St. Christopher and Nevis)', 'LC' => 'Saint Lucia', 'PM' => 'Saint Pierre and Miquelon', 'VC' => 'Saint Vincent and the Grenadines', 'SM' => 'San Marino', 'ST' => 'Sao Tome and Principe', 'SA' => 'Saudi Arabia', 'SN' => 'Senegal', 'YU' => 'Serbia-Montenegro', 'SC' => 'Seychelles', 'SL' => 'Sierra Leone', 'SG' => 'Singapore', 'SK' => 'Slovak Republic', 'SI' => 'Slovenia', 'SB' => 'Solomon Islands', 'SO' => 'Somalia', 'ZA' => 'South Africa', 'GS' => 'South Georgia (Falkland Islands)', 'KR' => 'South Korea (Korea, Republic of)', 'ES' => 'Spain', 'LK' => 'Sri Lanka', 'SD' => 'Sudan', 'SR' => 'Suriname', 'SZ' => 'Swaziland', 'SE' => 'Sweden', 'CH' => 'Switzerland', 'SY' => 'Syrian Arab Republic', 'TW' => 'Taiwan', 'TJ' => 'Tajikistan', 'TZ' => 'Tanzania', 'TH' => 'Thailand', 'TG' => 'Togo', 'TK' => 'Tokelau (Union) Group (Western Samoa)', 'TO' => 'Tonga', 'TT' => 'Trinidad and Tobago', 'TN' => 'Tunisia', 'TR' => 'Turkey', 'TM' => 'Turkmenistan', 'TC' => 'Turks and Caicos Islands', 'TV' => 'Tuvalu', 'UG' => 'Uganda', 'UA' => 'Ukraine', 'AE' => 'United Arab Emirates', 'UY' => 'Uruguay', 'UZ' => 'Uzbekistan', 'VU' => 'Vanuatu', 'VA' => 'Vatican City', 'VE' => 'Venezuela', 'VN' => 'Vietnam', 'WF' => 'Wallis and Futuna Islands', 'WS' => 'Western Samoa', 'YE' => 'Yemen', 'ZM' => 'Zambia', 'ZW' => 'Zimbabwe'); return $list; } ///////////////////////////////////////// /////////// Ends Country List /////////// ///////////////////////////////////////// ///////////////////////////////////////// ////////// Sets Quote /////////////////// ///////////////////////////////////////// function quote($method = '') { global $order, $shipping_weight, $shipping_num_boxes, $transittime, $dispinsure; if ( tep_not_null($method) && (in_array($method, $this->types) || in_array($method, $this->intl_types)) ) { $this->_setService($method); } if ($shipping_weight <= 0) {$shipping_weight = 0;} $shipping_weight = ($shipping_weight < 0.0625 ? 0.0625 : $shipping_weight); $shipping_pounds = floor ($shipping_weight); $shipping_ounces = tep_round_up((16 * ($shipping_weight - floor($shipping_weight))), 2); $this->_setWeight($shipping_pounds, $shipping_ounces, $shipping_weight); if (in_array('Display weight', explode(', ', MODULE_SHIPPING_USPS_OPTIONS))) { $shiptitle = $shipping_pounds . ' lbs, ' . $shipping_ounces . ' oz'; } else { $shiptitle = ''; } $uspsQuote = $this->_getQuote(); if (is_array($uspsQuote)) { if (isset($uspsQuote['error'])) { $this->quotes = array('module' => $this->title, 'error' => $uspsQuote['error']); } else { $this->quotes = array('id' => $this->code, 'module' => $this->title . $shiptitle); $methods = array(); $size = sizeof($uspsQuote); for ($i=0; $i<$size; $i++) { list($type, $cost) = each($uspsQuote[$i]); $title = ((isset($this->types[$type])) ? $this->types[$type] : $type); $title .= $transittime[$type] . $dispinsure[$type]; if (MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION == 'True') { $methods[] = array('id' => $type, 'title' => $title, 'cost' => ($cost + $insurance + $handling_cost[0]) * $shipping_num_boxes); } else { $methods[] = array('id' => $type, 'title' => $title, 'cost' => ($cost + $handling_cost[0]) * $shipping_num_boxes); } } $this->quotes['methods'] = $methods; if ($this->tax_class > 0) { $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } } } else { $this->quotes = array('module' => $this->title, 'error' => MODULE_SHIPPING_USPS_TEXT_ERROR); } if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_USPS_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } ///////////////////////////////////////// ////////// Ends Quote /////////////////// ///////////////////////////////////////// ///////////////////////////////////////// //////////// Install Module ///////////// ///////////////////////////////////////// function install() { tep_db_query("ALTER TABLE `configuration` CHANGE `configuration_value` `configuration_value` TEXT NOT NULL, CHANGE `set_function` `set_function` TEXT NULL DEFAULT NULL"); 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 ('Enable USPS Shipping', 'MODULE_SHIPPING_USPS_STATUS', 'True', 'Do you want to offer USPS shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); 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', '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', '3', 'tep_cfg_multiinput_list(array(\'\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_USPS_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_USPS_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_USPS_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); 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 ('Display Options', 'MODULE_SHIPPING_USPS_OPTIONS', 'Display weight, Display transit time, Display insurance', 'Select display options', '6', '0', 'tep_cfg_select_multioption(array(\'Display weight\', \'Display transit time\', \'Display insurance\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Processing Time', 'MODULE_SHIPPING_USPS_PROCESSING', '1', 'Days to Process Order', '6', '0', now())"); 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 ('Domestic Shipping Methods', 'MODULE_SHIPPING_USPS_DMSTC_TYPES', 'First-Class Mail regimark, Media Mail regimark, Parcel Post regimark, Priority Mail regimark, Priority Mail regimark Flat Rate Envelope, Priority Mail regimark Small Flat Rate Box, Priority Mail regimark Medium Flat Rate Box, Priority Mail regimark Large Flat Rate Box, Express Mail regimark, Express Mail regimark Flat Rate Envelope', 'Select the domestic services to be offered:', '6', '4', 'tep_cfg_select_multioption(array(\'First-Class Mail regimark\', \'Media Mail regimark\', \'Parcel Post regimark\', \'Priority Mail regimark\', \'Priority Mail regimark Flat Rate Envelope\', \'Priority Mail regimark Small Flat Rate Box\', \'Priority Mail regimark Medium Flat Rate Box\', \'Priority Mail regimark Large Flat Rate Box\', \'Express Mail regimark\', \'Express Mail regimark Flat Rate Envelope\'), ', now())"); 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 ('Domestic Rates', 'MODULE_SHIPPING_USPS_DMSTC_RATE', 'Retail', 'Charge retail pricing or internet pricing?', '6', '0', 'tep_cfg_select_option(array(\'Retail\', \'Internet\'), ', now())"); 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 ('Domestic Delivery Confirmation', 'MODULE_SHIPPING_USPS_DMST_DEL_CONF', 'True', 'Automatically charge Delivery Confirmation for first class and parcel ($0.19)?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); 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 ('Domestic Signature Confirmation', 'MODULE_SHIPPING_USPS_DMST_SIG_CONF', 'True', 'Automatically charge Signature Confirmation when available ($1.95)?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Signature Confirmation Threshold', 'MODULE_SHIPPING_USPS_SIG_THRESH', '100', 'Order total required before Signature Confirmation is triggered?', '6', '0', now())"); 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 ('Domestic Insurance Options', 'MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION', 'False', 'Force USPS Calculated Domestic Insurance?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); 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 ('Domestic Flat Handling Fees', 'MODULE_SHIPPING_USPS_DMSTC_HANDLING', '0, 0, 0, 0, 0, 0, 0, 0, 0, 0', 'Add a different handling fee for each shipping type.', '6', '0', 'tep_cfg_multiinput_list(array(\'First-Class\', \'Media\', \'Parcel\', \'Priority\', \'Priority Flat Env\', \'Priority Sm Flat Box\', \'Priority Med Flat Box\', \'Priority Lg Flat Box\', \'Express\', \'Express Flat Env\'), ', now())"); 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 ('Domestic First-Class Threshold', 'MODULE_SHIPPING_USPS_DMSTC_FIRSTCLASS_THRESHOLD', '0, 3.5, 3.5, 10, 10, 13', '<u>Maximums:</u><br>Letters 3.5oz<br>Large envelopes and parcels 13oz', '6', '0', 'tep_cfg_multiinput_duallist_oz(array(\'Letter\', \'Lg Env\', \'Package\'), ', now())"); 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 ('Domestic Other Mail Threshold', 'MODULE_SHIPPING_USPS_DMSTC_OTHER_THRESHOLD', '0, 3, 0, 3, 3, 11, 11, 15, 0, 70, 0, 3, 0, 70, 0, 70, 0, 70', '<u>Maximums:</u><br>70 lb', '6', '0', 'tep_cfg_multiinput_duallist_lb(array(\'Flat Rate Envelope\', \'Sm Flat Rate Box\', \'Md Flat Rate Box\', \'Lg Flat Rate Box\', \'Standard Priority\', \'Express FltRt Env\', \'Express Standard\', \'Parcel Pst\', \'Media Mail\'), ', now())"); 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 ('Int\'l Shipping Methods', 'MODULE_SHIPPING_USPS_INTL_TYPES', 'Global Express, Global Express Non-Doc Rect, Global Express Non-Doc Non-Rect, USPS GXG Envelopes, Express Mail Int, Express Mail Int Flat Rate Env, Priority Mail International, Priority Mail Int Flat Rate Env, Priority Mail Int Flat Rate Small Box, Priority Mail Int Flat Rate Med Box, Priority Mail Int Flat Rate Lrg Box, First-Class Mail Int Lrg Env, First-Class Mail Int Package, First-Class Mail Int Letter', 'Select the international services to be offered:', '6', '0', 'tep_cfg_select_multioption(array(\'Global Express\', \'Global Express Non-Doc Rect\', \'Global Express Non-Doc Non-Rect\', \'USPS GXG Envelopes\', \'Express Mail Int\', \'Express Mail Int Flat Rate Env\', \'Priority Mail International\', \'Priority Mail Int Flat Rate Env\', \'Priority Mail Int Flat Rate Small Box\', \'Priority Mail Int Flat Rate Med Box\', \'Priority Mail Int Flat Rate Lrg Box\', \'First-Class Mail Int Lrg Env\', \'First-Class Mail Int Package\', \'First-Class Mail Int Letter\'), ', now())"); 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 ('Int\'l Rates', 'MODULE_SHIPPING_USPS_INTL_RATE', 'Retail', 'Charge retail pricing or internet pricing?', '6', '0', 'tep_cfg_select_option(array(\'Retail\', \'Internet\'), ', now())"); 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 ('Int\'l Insurance Options', 'MODULE_SHIPPING_USPS_INTL_INSURANCE_OPTION', 'False', 'Force USPS Calculated International Insurance?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); 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 ('Int\'l Flat Handling Fees', 'MODULE_SHIPPING_USPS_INTL_HANDLING', '0', 'Add a flat fee international shipping.', '6', '0', 'tep_cfg_multiinput_list(array(\'\'), ', now())"); 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 ('Int\'l Package Sizes', 'MODULE_SHIPPING_USPS_INTL_SIZE', '1, 1, 1, 0', 'Standard package dimensions required by USPS for international rates', '6', '0', 'tep_cfg_multiinput_list(array(\'Width\', \'Length\', \'Height\', \'Girth\'), ', now())"); 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 ('Non USPS Insurance - Domestic and international', 'MODULE_SHIPPING_USPS_INSURE', 'False', 'Would you like to charge insurance for packages independent of USPS, i.e, merchant provided, Stamps.com, Endicia? If used in conjunction with USPS calculated insurance, the higher of the two will apply.', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, date_added) values ('Non USPS Insurance', 'MODULE_SHIPPING_USPS_INS1', '1.75', 'Totals $.01-$50.00', '6', '0', 'currencies->format', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, date_added) values ('Non USPS Insurance', 'MODULE_SHIPPING_USPS_INS2', '2.25', 'Totals $50.01-$100', '6', '0', 'currencies->format', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, date_added) values ('Non USPS Insurance', 'MODULE_SHIPPING_USPS_INS3', '2.75', 'Totals $100.01-$200', '6', '0', 'currencies->format', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, date_added) values ('Non USPS Insurance', 'MODULE_SHIPPING_USPS_INS4', '4.70', 'Totals $200.01-$300', '6', '0', 'currencies->format', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, date_added) values ('Non USPS Insurance', 'MODULE_SHIPPING_USPS_INS5', '1.00', 'For every $100 over $300 (add)', '6', '0', 'currencies->format', now())"); 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 ('Insure Tax?', 'MODULE_SHIPPING_USPS_INSURE_TAX', 'False', 'Would you like to insure sales tax paid by the customer?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); } function keys() { return array('MODULE_SHIPPING_USPS_STATUS', 'MODULE_SHIPPING_USPS_USERID', 'MODULE_SHIPPING_USPS_SORT_ORDER', 'MODULE_SHIPPING_USPS_TAX_CLASS', 'MODULE_SHIPPING_USPS_ZONE', 'MODULE_SHIPPING_USPS_OPTIONS', 'MODULE_SHIPPING_USPS_PROCESSING', 'MODULE_SHIPPING_USPS_DMSTC_TYPES', 'MODULE_SHIPPING_USPS_DMSTC_RATE', 'MODULE_SHIPPING_USPS_DMST_DEL_CONF', 'MODULE_SHIPPING_USPS_DMST_SIG_CONF', 'MODULE_SHIPPING_USPS_SIG_THRESH', 'MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION', 'MODULE_SHIPPING_USPS_DMSTC_HANDLING', 'MODULE_SHIPPING_USPS_DMSTC_FIRSTCLASS_THRESHOLD', 'MODULE_SHIPPING_USPS_DMSTC_OTHER_THRESHOLD', 'MODULE_SHIPPING_USPS_INTL_TYPES', 'MODULE_SHIPPING_USPS_INTL_RATE', 'MODULE_SHIPPING_USPS_INTL_INSURANCE_OPTION', 'MODULE_SHIPPING_USPS_INTL_HANDLING', 'MODULE_SHIPPING_USPS_INTL_SIZE', 'MODULE_SHIPPING_USPS_INSURE', 'MODULE_SHIPPING_USPS_INS1', 'MODULE_SHIPPING_USPS_INS2', 'MODULE_SHIPPING_USPS_INS3','MODULE_SHIPPING_USPS_INS4', 'MODULE_SHIPPING_USPS_INS5', 'MODULE_SHIPPING_USPS_INSURE_TAX'); } ///////////////////////////////////////// ///////// End Install Module //////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////// Remove Module ///////////// ///////////////////////////////////////// function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } ///////////////////////////////////////// ////////// End Remove Module //////////// ///////////////////////////////////////// ///////////////////////////////////////// //////////// SET DEFAULTS /////////////// ///////////////////////////////////////// function _setService($service) { $this->service = $service; } function _setWeight($pounds, $ounces=0, $weight) { $this->pounds = $pounds; $this->ounces = $ounces; $this->weight = $weight; } function _setMachinable($machinable) { $this->machinable = $machinable; } ///////////////////////////////////////// //////////// END DEFAULTS /////////////// ///////////////////////////////////////// ///////////////////////////////////////// /////////// START RATE REQUEST ////////// ///////////////////////////////////////// function _getQuote() { global $order, $transittime, $dispinsure; if (MODULE_SHIPPING_USPS_INSURE_TAX) {$insurable = $order->info['subtotal'] + $order->info['tax'];} else {$insurable = $order->info['subtotal'];} $transit = (in_array('Display transit time', explode(', ', MODULE_SHIPPING_USPS_OPTIONS))); $dispinsurance = (in_array('Display insurance', explode(', ', MODULE_SHIPPING_USPS_OPTIONS))); $Authentication = explode( ", ", MODULE_SHIPPING_USPS_USERID); if ($order->delivery['country']['id'] == SHIPPING_ORIGIN_COUNTRY) ///////////////////////////////////////// ////// START USPS DOMESTIC REQUEST ////// ///////////////////////////////////////// { $request = '<RateV4Request USERID="' . $Authentication[0] . '">' . '<Revision>2</Revision>'; $services_count = 0; if (isset($this->service)) { $this->types = array($this->service => $this->types[$this->service]); } $dest_zip = str_replace(' ', '', $order->delivery['postcode']); if ($order->delivery['country']['iso_code_2'] == 'US') $dest_zip = substr($dest_zip, 0, 5); reset($this->types); ///////////////////////////////////////// //// REQUEST IF WITHIN ALLOWED LIST ///// ///////////////////////////////////////// $allowed_types = explode(", ", MODULE_SHIPPING_USPS_DMSTC_TYPES); while (list($key, $value) = each($this->types)) { if ( !in_array($key, $allowed_types) ) continue; ///////////////////////////////////////// // REQUEST IF WITHIN WEIGHT THRESHOLDS // ///////////////////////////////////////// $FMT = explode(", ", MODULE_SHIPPING_USPS_DMSTC_FIRSTCLASS_THRESHOLD); if ($key == 'First-Class Mail regimark'){ $transid = $key; $key = 'First-Class Mail'; if($this->pounds == 0) { if($FMT[0] < $this->ounces && $this->ounces <= $FMT[1]) { $transid = 'First-Class Mail regimark Letter'; $this->FirstClassMailType = 'LETTER'; $this->machinable = 'TRUE'; $this->size = 'REGULAR'; $this->container = 'VARIABLE'; } else if($FMT[2] < $this->ounces && $this->ounces <= $FMT[3]) { $transid = 'First-Class Mail regimark Large Envelope'; $this->FirstClassMailType = 'FLAT'; $this->machinable = 'TRUE'; $this->size = 'REGULAR'; $this->container = 'VARIABLE'; } else if($FMT[4] < $this->ounces && $this->ounces <= $FMT[5]) { $transid = 'First-Class Mail regimark Package'; $this->FirstClassMailType = 'PARCEL'; $this->machinable = 'TRUE'; $this->size = 'REGULAR'; $this->container = 'VARIABLE'; } else { $key = 'none'; } } } $OMT = explode(", ", MODULE_SHIPPING_USPS_DMSTC_OTHER_THRESHOLD); if ($key == 'Priority Mail regimark'){ $transid = $key; if ($OMT[8] < $this->weight && $this->weight <= $OMT[9]) { $key = 'Priority Commercial'; $this->container = ''; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Priority Mail regimark Flat Rate Envelope'){ $transid = $key; if ($OMT[0] < $this->weight && $this->weight <= $OMT[1]) { $key = 'Priority Commercial'; $this->container = 'FLAT RATE ENVELOPE'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Priority Mail regimark Small Flat Rate Box'){ $transid = $key; if ($OMT[2] < $this->weight && $this->weight <= $OMT[3]) { $key = 'Priority Commercial'; $this->container = 'SM FLAT RATE BOX'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Priority Mail regimark Medium Flat Rate Box'){ $transid = $key; if ($OMT[4] < $this->weight && $this->weight <= $OMT[5]) { $key = 'Priority Commercial'; $this->container = 'MD FLAT RATE BOX'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Priority Mail regimark Large Flat Rate Box'){ $transid = $key; if ($OMT[6] < $this->weight && $this->weight <= $OMT[7]) { $key = 'Priority Commercial'; $this->container = 'LG FLAT RATE BOX'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Express Mail regimark'){ $transid = $key; if ($OMT[12] < $this->weight && $this->weight <= $OMT[13]) { $this->container = ''; $key = 'Express Commercial'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Express Mail regimark Flat Rate Envelope'){ $transid = $key; if ($OMT[10] < $this->weight && $this->weight <= $OMT[11]) { $key = 'Express Commercial'; $this->container = 'FLAT RATE ENVELOPE'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Parcel Post regimark'){ $transid = $key; $key = 'Parcel Post'; if ($OMT[14] < $this->weight && $this->weight <= $OMT[15]){ $this->machinable = 'TRUE'; $this->size = 'REGULAR'; } else { $key = 'none'; } } if ($key == 'Media Mail regimark'){ $transid = $key; $key = 'Media Mail'; if ($OMT[16] < $this->weight && $this->weight <= $OMT[17]){ $this->size = 'REGULAR'; } else { $key = 'none'; } } ///////////////////////////////////////////// // END REQUEST IF WITHIN WEIGHT THRESHOLDS // ///////////////////////////////////////////// $request .= '<Package ID="' . $services_count . '">' . '<Service>' . $key . '</Service>' . '<FirstClassMailType>' . $this->FirstClassMailType . '</FirstClassMailType>' . '<ZipOrigination>' . SHIPPING_ORIGIN_ZIP . '</ZipOrigination>' . '<ZipDestination>' . $dest_zip . '</ZipDestination>' . '<Pounds>' . $this->pounds . '</Pounds>' . '<Ounces>' . $this->ounces . '</Ounces>' . '<Container>' . $this->container . '</Container>' . '<Size>' . $this->size . '</Size>' . '<Value>' . $insurable . '</Value>' . '<Machinable>' . $this->machinable . '</Machinable>' . '<ShipDate>' . date('d-M-Y') . '</ShipDate>' . '</Package>'; ///////////////////////////////////////// ////// START USPS TRANSIT REQUEST /////// ///////////////////////////////////////// if($transit) { $transitreq = 'USERID="' . $Authentication[0] . '">' . '<OriginZip>' . SHIPPING_ORIGIN_ZIP . '</OriginZip>' . '<DestinationZip>' . $dest_zip . '</DestinationZip>'; switch ($key) { case 'First-Class Mail': $transreq[$transid] = 'API=PriorityMail&XML=' . urlencode( '<PriorityMailRequest ' . $transitreq . '</PriorityMailRequest>'); break; case 'Media Mail': $transreq[$transid] = 'API=StandardB&XML=' . urlencode( '<StandardBRequest ' . $transitreq . '</StandardBRequest>'); break; case 'Parcel Post': $transreq[$transid] = 'API=StandardB&XML=' . urlencode( '<StandardBRequest ' . $transitreq . '</StandardBRequest>'); break; case 'Priority Commercial': $transreq[$transid] = 'API=PriorityMail&XML=' . urlencode( '<PriorityMailRequest ' . $transitreq . '</PriorityMailRequest>'); break; default: $transreq[$transid] = ''; break; } } ///////////////////////////////////////// //////// END USPS TRANSIT REQUEST /////// ///////////////////////////////////////// $services_count++; } ///////////////////////////////////////// ////// END IF WITHIN ALLOWED LIST /////// ///////////////////////////////////////// $request .= '</RateV4Request>'; $request = 'API=RateV4&XML=' . urlencode($request); } ///////////////////////////////////////// /////// END USPS DOMESTIC REQUEST /////// ///////////////////////////////////////// else ///////////////////////////////////////// //// START USPS INTERNATIONAL REQUEST /// ///////////////////////////////////////// { $request = '<IntlRateV2Request USERID="' . $Authentication[0] . '">' . '<Revision>2</Revision>' . '<Package ID="0">' . '<Pounds>' . $this->pounds . '</Pounds>' . '<Ounces>' . $this->ounces . '</Ounces>' . '<Machinable>True</Machinable>' . '<MailType>All</MailType>' . '<GXG>' . '<POBoxFlag>N</POBoxFlag>' . '<GiftFlag>N</GiftFlag>' . '</GXG>' . '<ValueOfContents>' . $insurable . '</ValueOfContents>' . '<Country>' . $this->countries[$order->delivery['country']['iso_code_2']] . '</Country>' . '<Container>RECTANGULAR</Container>' . '<Size>REGULAR</Size>' ; $IPS = explode(", ", MODULE_SHIPPING_USPS_INTL_SIZE); $request .= '<Width>' . $IPS[0] . '</Width>' . '<Length>' . $IPS[1] . '</Length>' . '<Height>' . $IPS[2] . '</Height>' . '<Girth>' . $IPS[3] . '</Girth>' . '<OriginZip>' . SHIPPING_ORIGIN_ZIP . '</OriginZip>' . '<CommercialFlag>Y</CommercialFlag>' . '<ExtraServices>' . '<ExtraService>1</ExtraService>' . '<ExtraService>2</ExtraService>' . '</ExtraServices>' . '</Package>' . '</IntlRateV2Request>'; $request = 'API=IntlRateV2&XML=' . urlencode($request); } ///////////////////////////////////////// //// END USPS INTERNATIONAL REQUEST ///// ///////////////////////////////////////// ///////////////////////////////////////// /////// USPS HTTP COMMUNICATION ///////// ///////////////////////////////////////// $usps_server = 'production.shippingapis.com'; $api_dll = 'shippingAPI.dll'; $body = ''; if (!class_exists('httpClient')) { include('includes/classes/http_client.php'); } $http = new httpClient(); if ($http->Connect($usps_server, 80)) { $http->addHeader('Host', $usps_server); $http->addHeader('User-Agent', 'osCommerce'); $http->addHeader('Connection', 'Close'); if ($http->Get('/' . $api_dll . '?' . $request)) $body = $http->getBody(); // mail('user@[member='localhost'].com','USPS Rate Quote response',$body,'From: <user@[member='localhost'].com>'); if ($transit && is_array($transreq) && ($order->delivery['country']['id'] == STORE_COUNTRY)) { while (list($key, $value) = each($transreq)) { if ($http->Get('/' . $api_dll . '?' . $value)) $transresp[$key] = $http->getBody(); // mail('user@[member='localhost'].com','USPS Transit Response',$transresp[$key],'From: <user@[member='localhost'].com>'); } } $http->Disconnect(); } else { return false; } $body = htmlspecialchars_decode($body); $body = preg_replace('/\<sup\>\&reg;\<\/sup\>/', ' regimark', $body); $body = preg_replace('/\<sup\>\&trade;\<\/sup\>/', ' tradmrk', $body); ///////////////////////////////////////// /////END USPS HTTP COMMUNICATION //////// ///////////////////////////////////////// ///////////////////////////////////////// /////////// START RATE RESPONSE ///////// ///////////////////////////////////////// $response = array(); while (true) { if ($start = strpos($body, '<Package ID=')) { $body = substr($body, $start); $end = strpos($body, '</Package>'); $response[] = substr($body, 0, $end+10); $body = substr($body, $end+9); } else { break; } } $rates = array(); $rates_sorter = array(); if ($order->delivery['country']['id'] == SHIPPING_ORIGIN_COUNTRY) { ///////////////////////////////////////// ///////// START DOMESTIC RESPONSE /////// ///////////////////////////////////////// if (sizeof($response) == '1') { if (ereg('<Error>', $response[0])) { $number = ereg('<Number>(.*)</Number>', $response[0], $regs); $number = $regs[1]; $description = ereg('<Description>(.*)</Description>', $response[0], $regs); $description = $regs[1]; return array('error' => $number . ' - ' . $description); } } $n = sizeof($response); for ($i=0; $i<$n; $i++) { if (strpos($response[$i], '<Rate>')) { $service = ereg('<MailService>(.*)</MailService>', $response[$i], $regs); $service = $regs[1]; if ((MODULE_SHIPPING_USPS_DMSTC_RATE == 'Internet') && preg_match('/CommercialRate/', $response[$i])) { $postage = ereg('<CommercialRate>(.*)</CommercialRate>', $response[$i], $regs); $postage = $regs[1];} else { $postage = ereg('<Rate>(.*)</Rate>', $response[$i], $regs); $postage = $regs[1];} if (preg_match('/Insurance<\/ServiceName><Available>true<\/Available><AvailableOnline>true/', $response[$i])) { $insurance = ereg('Insurance</ServiceName><Available>true</Available><AvailableOnline>true</AvailableOnline><Price>(.*)</Price>', $response[$i], $regs); $insurance = $regs[1];} elseif (preg_match('/Insurance<\/ServiceName><Available>true<\/Available><AvailableOnline>false/', $response[$i])) { $insurance = ereg('Insurance</ServiceName><Available>true</Available><AvailableOnline>false</AvailableOnline><Price>(.*)</Price>', $response[$i], $regs); $insurance = $regs[1];} else { $insurance = 0; } if ($insurable<=50) {$uinsurance=MODULE_SHIPPING_USPS_INS1;} else if ($insurable<=100) {$uinsurance=MODULE_SHIPPING_USPS_INS2;} else if ($insurable<=200) {$uinsurance=MODULE_SHIPPING_USPS_INS3;} else if ($insurable<=300) {$uinsurance=MODULE_SHIPPING_USPS_INS4;} else {$uinsurance = MODULE_SHIPPING_USPS_INS4 + ((ceil($insurable/100) -3) * MODULE_SHIPPING_USPS_INS5);} if (MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION == 'True' && MODULE_SHIPPING_USPS_INSURE == 'True') {$postage = $postage + max($insurance, $uinsurance);} elseif (MODULE_SHIPPING_USPS_INSURE == 'True') {$postage = $postage + $uinsurance;} elseif (MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION == 'True' && $insurance > 0) {$postage = $postage + $insurance;} if ((MODULE_SHIPPING_USPS_DMST_DEL_CONF == 'True') && (preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available>/', $response[$i]))) { if (MODULE_SHIPPING_USPS_DMSTC_RATE == 'Retail') { $del_conf = preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>(.*)<\/Price>/', $response[$i], $regs);} elseif (MODULE_SHIPPING_USPS_DMSTC_RATE == 'Internet') { if (preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>0.70<\/Price>/', $response[$i])) {$del_conf = preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>0.70<\/Price><PriceOnline>(.*)<\/PriceOnline>/', $response[$i], $regs);} elseif (preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>0.80<\/Price>/', $response[$i])) {$del_conf = preg_match('/Delivery Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>0.80<\/Price><PriceOnline>(.*)<\/PriceOnline>/', $response[$i], $regs);} } $del_conf = $regs[1]; $postage = $postage + $del_conf; } if ((MODULE_SHIPPING_USPS_DMST_SIG_CONF == 'True') && ($this->sig_conf_thresh <= $order->info['subtotal']) && (preg_match('/Signature Confirmation tradmrk<\/ServiceName><Available>true<\/Available>/', $response[$i]))) { if (MODULE_SHIPPING_USPS_DMSTC_RATE == 'Retail') {$sig_conf = preg_match('/Signature Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>(.*)<\/Price>/', $response[$i], $regs);} elseif (MODULE_SHIPPING_USPS_DMSTC_RATE == 'Internet') {$sig_conf = preg_match('/Signature Confirmation tradmrk<\/ServiceName><Available>true<\/Available><AvailableOnline>true<\/AvailableOnline><Price>2.35<\/Price><PriceOnline>(.*)<\/PriceOnline>/', $response[$i], $regs);} $sig_conf = $regs[1]; $postage = $postage + $sig_conf; } switch ($service) { case 'First-Class Mail regimark': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[0]; break; case 'First-Class Mail regimark Letter': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[0]; break; case 'First-Class Mail regimark Large Envelope': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[0]; break; case 'First-Class Mail regimark Package': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[0]; break; case 'Media Mail regimark': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[1]; break; case 'Parcel Post regimark': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[2]; break; case 'Priority Mail regimark': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[3]; break; case 'Priority Mail regimark Flat Rate Envelope': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[4]; break; case 'Priority Mail regimark Small Flat Rate Box': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[5]; break; case 'Priority Mail regimark Medium Flat Rate Box': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[6]; break; case 'Priority Mail regimark Large Flat Rate Box': $time = ereg('<Days>(.*)</Days>', $transresp[$service], $tregs); $time = $tregs[1]; if ($time == 'Military Mail') {$time = $time;} else {if ($this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($time + $this->processing);} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') { $time .= MODULE_SHIPPING_USPS_TEXT_DAY; } else { $time .= MODULE_SHIPPING_USPS_TEXT_DAYS; } } $message = ereg('<Message>(.*)</Message>', $transresp[$service], $mess); $message = $mess[1]; if ($message != '') {$time .= ' - ' . $message;} $postage = $postage + $this->dmstc_handling[7]; break; case 'Express Mail regimark': $time = ereg('<CommitmentDate>(.*)</CommitmentDate>', $response[$i], $regs); $time = $regs[1]; if ($time == 'Overnight to many areas' && $this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($this->processing + 1) . MODULE_SHIPPING_USPS_TEXT_DAYS;;} elseif ($time == 'Overnight to many areas') {$time = '---' . $time;} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') {$time .= MODULE_SHIPPING_USPS_TEXT_DAY;} elseif ($time > '2' && $time <= '9') {$time .= MODULE_SHIPPING_USPS_TEXT_DAYS;} $postage = $postage + $this->dmstc_handling[8]; break; case 'Express Mail regimark Flat Rate Envelope': $time = ereg('<CommitmentDate>(.*)</CommitmentDate>', $response[$i], $regs); $time = $regs[1]; if ($time == 'Overnight to many areas' && $this->processing > 0) {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . ($this->processing + 1) . MODULE_SHIPPING_USPS_TEXT_DAYS;;} elseif ($time == 'Overnight to many areas') {$time = '---' . $time;} else {$time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $time;} if ($time == '1') {$time .= MODULE_SHIPPING_USPS_TEXT_DAY;} elseif ($time > '2' && $time <= '9') {$time .= MODULE_SHIPPING_USPS_TEXT_DAYS;} $postage = $postage + $this->dmstc_handling[8]; break; } if (($dispinsurance) && ((MODULE_SHIPPING_USPS_DMSTC_INSURANCE_OPTION == 'True' && $insurance > 0) || (MODULE_SHIPPING_USPS_INSURE == 'True' && $uinsurance > 0))) {$dispinsure[$service] = '<br>' . MODULE_SHIPPING_USPS_TEXT_INSURED . '$' . tep_round_up($insurable, 2);} else {$dispinsure[$service] = '';} if (($transit) && ($time != '')) {$transittime[$service] = '<br>' . $time;} else {$transittime[$service] = '';} $rates[] = array($service => $postage); $rates_sorter[] = $postage; } } } ///////////////////////////////////////// ////////// END DOMESTIC RESPONSE //////// ///////////////////////////////////////// else ///////////////////////////////////////// ////// START INTERNATIONAL RESPONSE ///// ///////////////////////////////////////// { if (ereg('<Error>', $response[0])) { $number = ereg('<Number>(.*)</Number>', $response[0], $regs); $number = $regs[1]; $description = ereg('<Description>(.*)</Description>', $response[0], $regs); $description = $regs[1]; return array('error' => $number . ' - ' . $description); } else { $body = $response[0]; $services = array(); while (true) { if ($start = strpos($body, '<Service ID=')) { $body = substr($body, $start); $end = strpos($body, '</Service>'); $services[] = substr($body, 0, $end+10); $body = substr($body, $end+9); } else { break; } } $allowed_types = array(); foreach( explode(", ", MODULE_SHIPPING_USPS_INTL_TYPES) as $value ) $allowed_types[$value] = $this->intl_types[$value]; $size = sizeof($services); for ($i=0, $n=$size; $i<$n; $i++) { if (strpos($services[$i], '<Postage>')) { $service = ereg('<SvcDescription>(.*)</SvcDescription>', $services[$i], $regs); $service = $regs[1]; $CMP = ereg('<CommercialPostage>(.*)</CommercialPostage>', $services[$i], $regs); $CMP = $regs[1]; if ($CMP == 0) { $postage = ereg('<Postage>(.*)</Postage>', $services[$i], $regs); $postage = $regs[1]; } else{ switch (MODULE_SHIPPING_USPS_INTL_RATE) { case 'Internet': if (preg_match('/<CommercialPostage>/', $services[$i])) { $postage = ereg('<CommercialPostage>(.*)</CommercialPostage>', $services[$i], $regs); $postage = $regs[1]; } else { $postage = ereg('<Postage>(.*)</Postage>', $services[$i], $regs); $postage = $regs[1]; } break; case 'Retail': $postage = ereg('<Postage>(.*)</Postage>', $services[$i], $regs); $postage = $regs[1]; break; } } $postage = $postage + $this->intl_handling[0]; if (preg_match('/Insurance<\/ServiceName><Available>True/', $services[$i])) { $iinsurance = ereg('Insurance</ServiceName><Available>True</Available><Price>(.*)</Price>', $services[$i], $regs); $iinsurance = $regs[1];} else {$iinsurance = 0;} if ($insurable<=50) {$iuinsurance=MODULE_SHIPPING_USPS_INS1;} else if ($insurable<=100) {$iuinsurance=MODULE_SHIPPING_USPS_INS2;} else if ($insurable<=200) {$iuinsurance=MODULE_SHIPPING_USPS_INS3;} else if ($insurable<=300) {$iuinsurance=MODULE_SHIPPING_USPS_INS4;} else {$iuinsurance = MODULE_SHIPPING_USPS_INS4 + ((ceil($insurable/100) -3) * MODULE_SHIPPING_USPS_INS5);} if (MODULE_SHIPPING_USPS_INTL_INSURANCE_OPTION == 'True' && MODULE_SHIPPING_USPS_INSURE == 'True') {$postage = $postage + max($iinsurance, $iuinsurance);} elseif (MODULE_SHIPPING_USPS_INSURE == 'True') {$postage = $postage + $iuinsurance;} elseif (MODULE_SHIPPING_USPS_INTL_INSURANCE_OPTION == 'True') {$postage = $postage + $iinsurance;} $time = ereg('<SvcCommitments>(.*)</SvcCommitments>', $services[$i], $tregs); $time = MODULE_SHIPPING_USPS_TEXT_ESTIMATED . $tregs[1]; $time = preg_replace('/Weeks$/', MODULE_SHIPPING_USPS_TEXT_WEEKS, $time); $time = preg_replace('/Days$/', MODULE_SHIPPING_USPS_TEXT_DAYS, $time); $time = preg_replace('/Day$/', MODULE_SHIPPING_USPS_TEXT_DAY, $time); if( !in_array($service, $allowed_types) ) continue; if (isset($this->service) && ($service != $this->service) ) { continue; } if (($dispinsurance) && ((MODULE_SHIPPING_USPS_INTL_INSURANCE_OPTION == 'True' && $iinsurance > 0) || (MODULE_SHIPPING_USPS_INSURE == 'True' && $iuinsurance > 0))) {$dispinsure[$service] = '<br>' . MODULE_SHIPPING_USPS_TEXT_INSURED . '$' . tep_round_up($insurable, 2);} else {$dispinsure[$service] = '';} if (($transit) && ($time != '')) {$transittime[$service] = '<br>' . $time;} else {$transittime[$service] = '';} $rates[] = array($service => $postage); $rates_sorter[] = $postage; } } } } asort($rates_sorter); $sorted_rates = array(); foreach (array_keys($rates_sorter) as $key){ $sorted_rates[] = $rates[$key]; } ///////////////////////////////////////// /////// END INTERNATIONAL RESPONSE ////// ///////////////////////////////////////// return ((sizeof($sorted_rates) > 0) ? $sorted_rates : false); } ///////////////////////////////////////// /////////// END RATE RESPONSE//////////// ///////////////////////////////////////// } ///////////////////////////////////////// ////////// Ends USPS Class /////////// ///////////////////////////////////////// ?> Thanks JR
  7. Hello, Just updated to PHP 5.3 and had issues with USPS Methods. Originally received "ereg" issues and replaced with "preg_match". Now I am getting some errors I can not solve. Deprecated: Assigning the return value of new by reference is deprecated in /Users/user/Sites/ofna.dev/includes/classes/xml_5.php on line 25 Warning: preg_match() [function.preg-match]: Unknown modifier '(' in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 820 Warning: preg_match() [function.preg-match]: Unknown modifier '(' in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 826 Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 832 Warning: preg_match() [function.preg-match]: Unknown modifier '(' in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 820 Warning: preg_match() [function.preg-match]: Unknown modifier '(' in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 826 Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /Users/user/Sites/ofna.dev/includes/modules/shipping/usps.php on line 829 Related lines of code: 25 -> function usps() 820 -> $service = preg_match('<MailService>(.*)</MailService>', $response[$i], $regs); 826 -> { $postage = preg_match('<Rate>(.*)</Rate>', $response[$i], $regs); 832 -> { $insurance = preg_match('Insurance</ServiceName><Available>true</Available><AvailableOnline>false</AvailableOnline><Price>(.*)</Price>', $response[$i], $regs); 829 -> { $insurance = preg_match('Insurance</ServiceName><Available>true</Available><AvailableOnline>true</AvailableOnline><Price>(.*)</Price>', $response[$i], $regs); Thanks JR
  8. Hello, When I have products_model enabled I get a error on the upload (Unrecognized attribute: model). Should this option be disabled? JR
  9. Hello, Sorry, my error, OSC 2.31. All other payment modules work fine, Authorize, Paypal Standard, COD. Thanks JR
  10. Hello, I am using OSC 3.21 and Paypal Express Checkout v1.2 (stock with install). Paypal Express checkout shows as a payment source when at a individual product. But, if you have multiple items in the cart, and go through checkout, Paypal Express does not show as a payment option? Any ideas? Thanks JR
  11. Hello, Thank you for the reply. Is this something that can be changed by editing googlefeeder.php, or does Google control the way it is listed when seached? JR
  12. Hello, Is there away so when my items show in Google, that the list in the following mannor. Manufacturer Name -> Model Number -> Title Currently the way mine list in Google is, Title -> Site Name. I do not see any seetings to change in googlefeeder.php to change the layout. Thanks JR
  13. Hello, I am using UPS XML on OSC 2.31. For some reason the site is returning lower UPS rates, not retail. I do not have the option in the setup to show my rates. I have the tare weight in admin set to zero. Example of rate return, I shipped a 17lb package, site showed $23.01, but when I went to UPS and entered the same info, it shows $28.93. Thanks JR
  14. Hello, I am using version 5.2.1 in OSC2.31. I have an issue with it not returning correct rate for Priority Mail for international. My site is returning $90.00, but when I look up the rate on USPS.com, it shows $40.00? Any ideas? Also, I tried to down load version 6.1, maybe issue solved in it, but it looks like it was zipped on a Mac, and files are empty. Has anyone else had that download issue? Thanks JR
  15. Hello, thanks again for a great contribution. I am using it in 2.31 and all works fine, accept for an issue I just noticed on the admin. When creating a new product, I enter all the details including the (SPPC) dealer price. When I save for the first time, all is saved to the database but the (SPPC) dealer price? If I edit again and re-enter the dealer price and save, it is then inserted into the database and shows? What would cause the database for the SPPC dealer input not to save the first time, but accept on the second save? Thanks JR
  16. Hello, I think I have found my issue. Current table layout for products_groups is, customers_group_id | smallint(5) unsigned | NO | PRI | 0 | | | customers_group_price | decimal(15,4) | NO | | 0.0000 | | | products_id | int(11) | NO | PRI | 0 | | | products_qty_blocks | int(4) | YES | | 1 | | | products_min_order_qty I no longer have SPPC quantity discounts installed. So I believe I need to drop from table products_qty_blocks, and products_min_order_qty columns. Is this correct? Thanks Jr
  17. Hello, Sorry, have tried to locate a resolve for this issue on this topic forum, but could not find one. I am getting the following error. Also I have below the error put all my details. If someone could give me some help, I would appreciate it. Size: 489 | 10135 | Engine Mou | Engine Mou | 10135.jpg | 7.95 | 3.98 | 1 | 0.3 | 11/24/2011 10:06:00 PM | 34040.jpg | Car Parts | 34328.jpg | 2011 Series | DBBA | Taxable Go | Active Updated 1136 - Column count doesn't match value count at row 1 INSERT INTO products_groups VALUES ( 1, 3.98, 301 ) Below are my details: Settings & Info EP vers: 2.77a osCommerce Online Merchant v2.3 OS: Array HTTP: DB: PHP: Array (Zend: ) Temp Directory: /home/virtual/site1/fst/var/www/html/temp/ Temp Dir is Writable Magic Quotes is: off register_globals is: on Split files on: 300 records Model Num Size: 12 Price with tax: false Calc Precision: 2 Replace quotes: false Field seperator: tab Excel safe output: false Preserve tab/cr/lf: false Category depth: 4 Enable attributes: false SEF Froogle URLS: false Other Support: MVS Support: false Additional Images: false More Pics: false UltraPics Pics: false Unlimited Images: false HTC: false SPPC: true Extra Fields: false PDF Upload: false Quick Backup Enabled: true ---------- Operating System: Windows 7 Home / Excel 2010 ----------- Upload File Attached Thanks Jr upload_sample.zip
  18. Hello, I was just wondering if the latest UPSXLM module 1.3.9.2 works fine with OSC 2.31. Usually I see in the contribution listings works on 2.31 etc. Just wanted to make sure it is for 2.31 before installing. Thanks Jr
  19. Hello, I need some help with the following below error. This error only occurs when I try to upload with fields v_customer_price_1, and v_customer_group_id_1. If I delete these from the file it uploads just fine. What is strange is when I download the initial EP file, the prior two fields are there already as expected. I am just filling in the data and uploading. When I check the product in admin, it is created fine, but just no pricing under customer group. Error: File uploaded. Temporary filename: /tmp/phpNHwMd2 User filename: 3_Test.txt Size: 179664 | 138010 | Gear Steel | Gear Steel | 138010.jpg | 4.95 | 2.48 | 1 | 0.3 | 9/16/2011 | 134972.jpg | Parts | d3.jp | D3 | New | Taxable Go | Active Updated 1136 - Column count doesn't match value count at row 1 INSERT INTO products_groups VALUES ( 1, 2.48, 4192 ) --------- My Data Windows 7 64 Editing software Excel 2010 Settings & Info EP vers: 2.76i-MS2 osCommerce Online Merchant v2.2 RC2a OS: Linux 2.6.18-238.19.1.el5 HTTP: Apache/2.2.3 (CentOS) DB: MySQL 5.0.77 PHP: 5.1.6 (Zend: 2.1.0) Temp Directory: /home/virtual/site.com/var/www/html/temp/ Temp Dir is Writable Magic Quotes is: off register_globals is: on Split files on: 300 records Model Num Size: 12 Price with tax: false Calc Precision: 2 Replace quotes: false Field seperator: tab Excel safe output: false Preserve tab/cr/lf: false Category depth: 2 Enable attributes: false SEF Froogle URLS: false Other Support: MVS Support: false Additional Images: false More Pics: false UltraPics Pics: false HTC: false SPPC: true Extra Fields: false PDF Upload: false Thanks JR upload_file.zip
  20. Hello, All seems to be working fine. Was wondering is there away to have the order tool not add a product if inventory is zero, or some how when adding products, it show quanity level? Thanks Jr
  21. Hello, I am having an issue with OE 5.0.9 and SPPC. When adding an item for a customer group, OE does not seem to add the group price, but only retail price. Is there any patches for this issue? The current code I have in edit_orders_add_product.php is, //sppc patch //Set to false by default, configurable in the Order Editor section of the admin panel //thanks to whistlerxj for the original version of this patch if (ORDER_EDITOR_USE_SPPC == 'true') { // first find out the customer associated with this order ID.. $c_id_result = tep_db_query('SELECT customers_id FROM orders WHERE orders_id="' . (int)$oID . '"'); $cid = tep_db_fetch_array($c_id_result); if ($cid){ $cust_id = $cid['customers_id']; // now find the customer's group. $c_g_id_result = tep_db_query('SELECT customers_group_id FROM customers WHERE customers_id="' . $cust_id . '"'); $c_g_id = tep_db_fetch_array($c_g_id_result); if ($c_g_id){ $cust_group_id = $c_g_id['customers_group_id']; // get the price of the product from the products_groups table. $price_result = tep_db_query('SELECT customers_group_price FROM products_groups WHERE products_id="' . $add_product_products_id . '" AND customers_group_id="' . $cust_group_id . '"'); $price_array = tep_db_fetch_array($price_result); if ($price_array){ // set the price of the new product to the group specific price. $product['products_price'] = $price_array['customers_group_price']; } } } } //end sppc patch Thank you Dom
  22. Hey John, This may play part. This is my current add to bread crumb trail, // add the products name to the breadcrumb trail if (isset($HTTP_GET_VARS['products_id'])) { $name_query = tep_db_query("select products_name, products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] ."' and language_id = '" . (int)$languages_id . "'"); if (tep_db_num_rows($name_query)) { $name = tep_db_fetch_array($name_query); $breadcrumb->add($name['products_name'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id'])); $keywordtag .= $keywordsep . $name['products_name']; $titletag .= $seperator; $titletag .= substr(preg_replace('[^a-zA-Z0-9]',' ',(strip_tags($name['products_name']))),0,100); $description = substr(preg_replace('[^a-zA-Z0-9]',' ',(strip_tags($name['products_description']))),0,300); // In above code change 300 to the length you want the description tag to be. } } And this is what the contribution instructions ask to install. Not sure if this is causing my issue. How do I combine? // add the products model to the breadcrumb trail if (isset($HTTP_GET_VARS['products_id'])) { // BOF SPPC Hide products and categories from groups $model_query = tep_db_query("select p.products_model from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c using(products_id) left join " . TABLE_CATEGORIES . " c using(categories_id) where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and find_in_set('".$customer_group_id."', products_hide_from_groups) = 0 and find_in_set('" . $customer_group_id . "', categories_hide_from_groups) = 0"); // EOF SPPC Hide products and categories from groups if (tep_db_num_rows($model_query)) { $model = tep_db_fetch_array($model_query); $breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id'])); } } Thanks JR
  23. Hello John, I tried you response, and much appreciated, but it did not work. The issue I am having, is with the catalog/application_top.php and it keeps sending me through a cycle. If I try to check out, it asks me to log in, and sends me back to front page. I try to check out again and it asks me to log in again??? Thanks JR
×
×
  • Create New...