Index: branches/5.2.x/units/orders/orders_event_handler.php =================================================================== diff -u -N -r14258 -r14569 --- branches/5.2.x/units/orders/orders_event_handler.php (.../orders_event_handler.php) (revision 14258) +++ branches/5.2.x/units/orders/orders_event_handler.php (.../orders_event_handler.php) (revision 14569) @@ -1,6 +1,6 @@ Application->getUnitOption('pr', 'TableName'); $pricing_idfield = $this->Application->getUnitOption('pr', 'IDField'); -// $sql = 'SELECT AccessDuration, AccessUnit, DurationType, AccessExpiration FROM %s WHERE %s = %s'; + + /* TODO check on implementation + $sql = 'SELECT AccessDuration, AccessUnit, DurationType, AccessExpiration FROM %s WHERE %s = %s'; + */ + $sql = 'SELECT * FROM %s WHERE %s = %s'; $pricing_id = $this->GetPricingId($item_id, $item_data); $item_data['PricingId'] = $pricing_id; $pricing_info = $this->Conn->GetRow( sprintf($sql, $pricing_table, $pricing_idfield, $pricing_id ) ); $unit_secs = Array(1 => 1, 2 => 60, 3 => 3600, 4 => 86400, 5 => 604800, 6 => 2592000, 7 => 31536000); -/* - // Customization healtheconomics.org + /* TODO check on implementation (code from customization healtheconomics.org) $item_data['DurationType'] = $pricing_info['DurationType']; - $item_data['AccessExpiration'] = $pricing_info['AccessExpiration']; - // Customization healtheconomics.org -- -*/ + $item_data['AccessExpiration'] = $pricing_info['AccessExpiration']; + */ $item_data['Duration'] = $pricing_info['AccessDuration'] * $unit_secs[ $pricing_info['AccessUnit'] ]; @@ -2841,22 +2843,26 @@ $shipping_quote_engine =& $this->Application->recallObject($shipping_quote_engine); /* @var $shipping_quote_engine ShippingQuoteEngine */ + // USPS related part + // TODO: remove USPS condition from here // set first of found shippings just to check if any errors are returned $current_usps_shipping_types = unserialize($this->Application->RecallVar('current_usps_shipping_types')); $object->SetDBField('ShippingInfo', serialize( Array($package => $current_usps_shipping_types[$id])) ); $sqe_data = $shipping_quote_engine->MakeOrder($object, true); - if ( !isset($sqe_data['error_number']) ) { - // update only international shipping - if ( $object->GetDBField('ShippingCountry') != 'USA') { - $shipping_types[$package]['TotalCost'] = $sqe_data['Postage']; + if ( $sqe_data ) { + if ( !isset($sqe_data['error_number']) ) { + // update only international shipping + if ( $object->GetDBField('ShippingCountry') != 'USA') { + $shipping_types[$package]['TotalCost'] = $sqe_data['Postage']; + } } + else { + $ret = false; + $this->Application->StoreVar('sqe_error', $sqe_data['error_description']); + } } - else { - $ret = false; - $this->Application->StoreVar('sqe_error', $sqe_data['error_description']); - } $object->SetDBField('ShippingInfo', ''); }