hopefully this should be the last bit of the relative URL fixing
[freeside.git] / FS / FS / CGI.pm
index f1f2a3d..c91c01f 100644 (file)
@@ -62,9 +62,9 @@ sub header {
       </HEAD>
       <BODY BGCOLOR="#e8e8e8"$etc>
           <FONT SIZE=6>
-            $title
+            <CENTER>$title</CENTER>
           </FONT>
-          <BR><BR>
+          <BR><!--<BR>-->
 END
   $x .=  $menubar. "<BR><BR>" if $menubar;
   $x;
@@ -115,6 +115,7 @@ sub menubar { #$menubar=menubar('Main Menu', '../', 'Item', 'url', ... );
   my($item,$url,@html);
   while (@_) {
     ($item,$url)=splice(@_,0,2);
+    next if $item =~ /^\s*Main\s+Menu\s*$/i;
     push @html, qq!<A HREF="$url">$item</A>!;
   }
   join(' | ',@html);
@@ -230,25 +231,27 @@ sub popurl {
 =cut
 
 sub rooturl {
-  #this doesn't work so well...
-  #'%%%FREESIDE_URL%%%';
-
   # better to start with the client-provided URL
   my $cgi = &FS::UID::cgi;
   my $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
   $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;
 
 }
@@ -305,7 +308,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.
 
@@ -318,12 +321,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).