not supporting Apache::ASP anymore
[freeside.git] / FS / FS / CGI.pm
index 1f3b59e..15561d7 100644 (file)
@@ -79,14 +79,7 @@ Sets an http header.
 sub http_header {
   my ( $header, $value ) = @_;
   if (exists $ENV{MOD_PERL}) {
-    if ( defined $main::Response
-         && $main::Response->isa('Apache::ASP::Response') ) {  #Apache::ASP
-      if ( $header =~ /^Content-Type$/ ) {
-        $main::Response->{ContentType} = $value;
-      } else {
-        $main::Response->AddHeader( $header => $value );
-      }
-    } elsif ( defined $HTML::Mason::Commands::r  ) { #Mason
+    if ( defined $HTML::Mason::Commands::r  ) { #Mason
       ## is this the correct pacakge for $r ???  for 1.0x and 1.1x ?
       if ( $header =~ /^Content-Type$/ ) {
         $HTML::Mason::Commands::r->content_type($value);
@@ -186,12 +179,7 @@ If running under mod_perl, calles Apache::exit, otherwise, calls exit.
 sub myexit {
   if (exists $ENV{MOD_PERL}) {
 
-    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
+    if ( 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)";
@@ -237,16 +225,21 @@ sub rooturl {
   $url_string =~ s/\?.*//;
 
   #even though this is kludgy
+  $url_string =~ s{ / index\.html /? $ }
+                  {/}x;
   $url_string =~
     s{
-       (browse|config|docs|edit|graph|misc|search|view)
+       /
+       (browse|config|docs|edit|graph|misc|search|view|pref|rt)
        /
        (process/)?
-       ([\w\-\.]+)
+       ([\w\-\.\/]+)
        $
      }
      {}x;
 
+  $url_string .= '/' unless $url_string =~ /\/$/;
+
   $url_string;
 
 }
@@ -303,7 +296,7 @@ sub ntable {
 
 }
 
-=item small_custview CUSTNUM || CUST_MAIN_OBJECT, COUNTRYDEFAULT, NOBALANCE_FLAG
+=item small_custview CUSTNUM || CUST_MAIN_OBJECT, COUNTRYDEFAULT, NOBALANCE_FLAG, URL
 
 Sheesh. I should just switch to Mason.
 
@@ -316,12 +309,18 @@ sub small_custview {
   my $arg = shift;
   my $countrydefault = shift || 'US';
   my $nobalance = shift;
+  my $url = shift;
 
   my $cust_main = ref($arg) ? $arg
                   : qsearchs('cust_main', { 'custnum' => $arg } )
     or die "unknown custnum $arg";
 
-  my $html = 'Customer #<B>'. $cust_main->custnum. '</B></A>'.
+  my $html;
+  
+  $html = qq!View <A HREF="$url?! . $cust_main->custnum . '">'
+    if $url;
+
+  $html .= 'Customer #<B>'. $cust_main->custnum. '</B></A>'.
     ' - <B><FONT COLOR="'. $cust_main->statuscolor. '">'.
     ucfirst($cust_main->status). '</FONT></B>'.
     ntable('#e8e8e8'). '<TR><TD VALIGN="top">'. ntable("#cccccc",2).