Correct [log type=error|debug] final newline behavior
[interchange.git] / code / UI_Tag / available_www_shipping.coretag
1 # Copyright 2002-2007 Interchange Development Group and others
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.  See the LICENSE file for details.
7
8 # $Id: available_www_shipping.coretag,v 1.5 2007-03-30 23:40:54 pajamian Exp $
9
10 UserTag available_www_shipping Order   only
11 UserTag available_www_shipping Version $Revision: 1.5 $
12 UserTag available_www_shipping Routine <<EOR
13 sub {
14         my ($only) = @_;
15         my $ups;
16
17         if(! $only or $only =~ /ups/i) {
18                 eval {
19                         require Business::UPS;
20                 };
21                 $ups = $@ ? 0 : 1;
22         }
23         
24         my @ups_modes;
25         if($ups) {
26                 push @ups_modes,
27                         '1DM' => {type => 'UPS', description => 'Next Day Air Early AM'},
28                         '1DML' => {type => 'UPS', description => 'Next Day Air Early AM Letter'},
29                         '1DA' => {type => 'UPS', description => 'Next Day Air'},
30                         '1DAL' => {type => 'UPS', description => 'Next Day Air Letter'},
31                         '1DP' => {type => 'UPS', description => 'Next Day Air Saver'},
32                         '1DPL' => {type => 'UPS', description => 'Next Day Air Saver Letter'},
33                         '2DM' => {type => 'UPS', description => '2nd Day Air A.M.'},
34                         '2DA' => {type => 'UPS', description => '2nd Day Air'},
35                         '2DML' => {type => 'UPS', description => '2nd Day Air A.M. Letter'},
36                         '2DAL' => {type => 'UPS', description => '2nd Day Air Letter'},
37                         '3DS' => {type => 'UPS', description => '3 Day Select'},
38                         'GNDCOM' => {type => 'UPS', description => 'Ground Commercial'},
39                         'GNDRES' => {type => 'UPS', description => 'Ground Residential'},
40                         'XPR' => {type => 'UPS', description => 'Worldwide Express'},
41                         'XDM' => {type => 'UPS', description => 'Worldwide Express Plus'},
42                         'XPRL' => {type => 'UPS', description => 'Worldwide Express Letter'},
43                         'XDML' => {type => 'UPS', description => 'Worldwide Express Plus Letter'},
44                         'XPD' => {type => 'UPS', description => 'Worldwide Expedited'},
45                 ;
46         }
47
48         if (wantarray) {
49                 return @ups_modes;
50         }
51         else {
52                 my $out = '';
53                 my $i;
54                 for ($i = 0; $i < @ups_modes; $i += 2) {
55                         my $ref = $ups_modes[$i + 1];
56                         $out .= qq{UPSE:$ups_modes[$i]\t$ref->{type}: $ref->{description}\n};
57                 }
58                 return $out;
59         }
60 }
61 EOR