import rt 2.0.14
[freeside.git] / FS / FS / CGI.pm
index 35d2e28..e44ebcc 100644 (file)
@@ -1,11 +1,11 @@
 package FS::CGI;
 
 use strict;
-use vars qw(@EXPORT_OK @ISA @header);
+use vars qw(@EXPORT_OK @ISA);
 use Exporter;
 use CGI;
 use URI::URL;
-use CGI::Carp qw(fatalsToBrowser);
+#use CGI::Carp qw(fatalsToBrowser);
 use FS::UID;
 
 @ISA = qw(Exporter);
@@ -45,7 +45,7 @@ Returns an HTML header.
 
 sub header {
   my($title,$menubar,$etc)=@_; #$etc is for things like onLoad= etc.
-  use Carp;
+  #use Carp;
   $etc = '' unless defined $etc;
 
   my $x =  <<END;
@@ -131,6 +131,8 @@ Sends an HTML error message, then exits.
 
 sub eidiot {
   warn "eidiot depriciated";
+  $HTML::Mason::Commands::r->send_http_header
+    if defined $HTML::Mason::Commands::r;
   idiot(@_);
   &myexit();
 }
@@ -145,11 +147,22 @@ If running under mod_perl, calles Apache::exit, otherwise, calls exit.
 
 sub myexit {
   if (exists $ENV{MOD_PERL}) {
-    $main::Response->End()
-      if defined $main::Response
-         && $main::Response->isa('Apache::ASP::Response');
-    require Apache;
-    Apache::exit();
+
+    if ( defined $main::Response
+         && $main::Response->isa('Apache::ASP::Response') ) {  #Apache::ASP
+      $main::Response->End();
+      require Apache;
+      Apache::exit();
+    } elsif ( defined $HTML::Mason::Commands::m  ) { #Mason
+      #$HTML::Mason::Commands::m->flush_buffer();
+      $HTML::Mason::Commands::m->abort();
+      die "shouldn't fall through to here (mason \$m->abort didn't)";
+    } else {
+      #??? well, it is $ENV{MOD_PERL}
+      warn "running under unknown mod_perl environment; trying Apache::exit()";
+      require Apache;
+      Apache::exit();
+    }
   } else {
     exit;
   }
@@ -240,7 +253,7 @@ sub small_custview {
 
   my $html = 'Customer #<B>'. $cust_main->custnum. '</B>'.
     ntable('#e8e8e8'). '<TR><TD>'. ntable("#cccccc",2).
-    '<TR><TD ALIGN="right" VALIGN="top">Billing</TD><TD BGCOLOR="#ffffff">'.
+    '<TR><TD ALIGN="right" VALIGN="top">Billing<BR>Address</TD><TD BGCOLOR="#ffffff">'.
     $cust_main->getfield('last'). ', '. $cust_main->first. '<BR>';
 
   $html .= $cust_main->company. '<BR>' if $cust_main->company;
@@ -257,7 +270,7 @@ sub small_custview {
     my $pre = $cust_main->ship_last ? 'ship_' : '';
 
     $html .= '<TD>'. ntable("#cccccc",2).
-      '<TR><TD ALIGN="right" VALIGN="top">Service</TD><TD BGCOLOR="#ffffff">'.
+      '<TR><TD ALIGN="right" VALIGN="top">Service<BR>Address</TD><TD BGCOLOR="#ffffff">'.
       $cust_main->get("${pre}last"). ', '.
       $cust_main->get("${pre}first"). '<BR>';
     $html .= $cust_main->get("${pre}company"). '<BR>'