Index: openacs-4/packages/ecommerce/www/track.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/track.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/track.tcl 16 Feb 2002 23:32:07 -0000 1.4 +++ openacs-4/packages/ecommerce/www/track.tcl 26 May 2002 04:36:50 -0000 1.5 @@ -1,52 +1,55 @@ -# www/ecommerce/track.tcl ad_page_contract { @param shipment_id The ID of the shipment to track @param ucsa_p User session begun or not @author @creation-date - @cvs-id track.tcl,v 3.2.2.6 2000/08/18 21:46:37 stevenp Exp @author ported by Jerry Asher (jerry@theashergroup.com) + @author revised by Bart Teeuwisse + @revision-date April 2002 + } { shipment_id:notnull,naturalnum ucsa_p:optional } set user_id [ad_verify_and_get_user_id] - if {$user_id == 0} { set return_url "[ad_conn url]" ad_returnredirect "/register?[export_url_vars return_url]" return } # user session tracking -set user_session_id [ec_get_user_session_id] +set user_session_id [ec_get_user_session_id] ec_create_new_session_if_necessary [export_url_vars shipment_id] - ec_log_user_as_user_id_for_this_session # Make sure this order belongs to the user. -if { [db_string assure_order_is_this_user "select user_id from ec_orders o, ec_shipments s -where o.order_id = s.order_id -and s.shipment_id = :shipment_id"] != $user_id } { + +if { [db_string assure_order_is_this_user " + select user_id from ec_orders o, ec_shipments s + where o.order_id = s.order_id + and s.shipment_id = :shipment_id"] != $user_id } { ad_return_error "Invalid Order ID" "Invalid Order ID" return } -db_1row get_order_info "select to_char(shipment_date, 'MMDDYY') as ship_date_for_fedex, to_char(shipment_date, 'MM/DD/YYYY') as pretty_ship_date, carrier, tracking_number -from ec_shipments -where shipment_id = :shipment_id" - +db_1row get_order_info " + select to_char(shipment_date, 'MMDDYY') as ship_date_for_fedex, to_char(shipment_date, 'MM/DD/YYYY') as pretty_ship_date, carrier, tracking_number + from ec_shipments + where shipment_id = :shipment_id" set carrier_info "" - if { $carrier == "FedEx" } { set fedex_url "http://www.fedex.com/cgi-bin/tracking?tracknumbers=$tracking_number&action=track&language=english&cntry_code=us" with_catch errmsg { set page_from_fedex [ns_httpget $fedex_url] - regexp {().*?(
.*?
)} $page_from_fedex match detailed_info scan_activity + regexp {().*?(
.*?
)} $page_from_fedex \ + match detailed_info scan_activity + # Remove links + regsub -all -nocase {} $scan_activity "" scan_activity set carrier_info "$detailed_info $scan_activity" } { @@ -59,15 +62,16 @@ if { ![regexp {(]*>Tracking Number:.*).*Tracking results provided by UPS} $ups_page match ups_info] } { set carrier_info "Unable to parse detail data from UPS." } else { + # Remove spacer images + regsub -all -nocase {} $ups_info "" ups_info set carrier_info "$ups_info" } } { set carrier_info "Unable to retrieve data from UPS." } - } -db_release_unused_handles -ec_return_template +db_release_unused_handles +ad_return_template