per-agent disable_previous_balance, #15863
[freeside.git] / FS / FS / CGI.pm
index f33a718..972625f 100644 (file)
@@ -227,9 +227,15 @@ sub popurl {
 =cut
 
 sub rooturl {
-  # better to start with the client-provided URL
-  my $cgi = &FS::UID::cgi;
-  my $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
+  my $url_string;
+  if ( scalar(@_) ) {
+    $url_string = shift;
+  } else {
+    # better to start with the client-provided URL
+    my $cgi = &FS::UID::cgi;
+    $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
+  }
+
   $url_string =~ s/\?.*//;
 
   #even though this is kludgy
@@ -238,9 +244,8 @@ sub rooturl {
   $url_string =~
     s{
        /
-       (browse|config|docs|edit|graph|misc|search|view|pref|rt|elements)
-       /
-       (process/)?
+       (browse|config|docs|edit|graph|misc|search|view|pref|elements|rt|torrus)
+       (/process)?
        ([\w\-\.\/]*)
        $
      }