X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FCGI.pm;h=e1645f04c387dd0f6c9fc982d6ffa2cd9be5f767;hb=16062ec78d33d4d3b9c996eb057a331837fc65f8;hp=4c2693db856ea0dd4d302057bc382d02b6c83469;hpb=3ccc60c2a0aca859a43210b8110757783f9f8ef1;p=freeside.git diff --git a/FS/FS/CGI.pm b/FS/FS/CGI.pm index 4c2693db8..e1645f04c 100644 --- a/FS/FS/CGI.pm +++ b/FS/FS/CGI.pm @@ -9,8 +9,8 @@ use URI::URL; use FS::UID; @ISA = qw(Exporter); -@EXPORT_OK = qw(header menubar idiot eidiot popurl rooturl table itable ntable - small_custview myexit http_header); +@EXPORT_OK = qw( header menubar idiot eidiot popurl rooturl table itable ntable + myexit http_header); =head1 NAME @@ -194,16 +194,24 @@ sub myexit { } } -=item popurl LEVEL +=item popurl LEVEL [URL] -Returns current URL with LEVEL levels of path removed from the end (default 0). +Returns current (or, optionally, passed) URL with LEVEL levels of path removed +from the end (default 0). =cut sub popurl { - my($up)=@_; - my $cgi = &FS::UID::cgi; - my $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url; + my $up = shift; + + my $url_string; + if ( scalar(@_) ) { + $url_string = shift; + } else { + my $cgi = &FS::UID::cgi; + $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url; + } + $url_string =~ s/\?.*//; my $url = new URI::URL ( $url_string ); my(@path)=$url->path_components; @@ -219,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 @@ -230,18 +244,13 @@ sub rooturl { $url_string =~ s{ / - (browse|config|docs|edit|graph|misc|search|view|pref|rt|elements) - / - (process/)? - ([\w\-\.\/]+) + (browse|config|docs|edit|graph|misc|search|view|pref|rt|torrus) + (/process)? + ([\w\-\.\/]*) $ } {}x; - #elements because of progress-popup.html... - #XXX remove anything from elements that is called directly & prevent - #those pages from being served up - $url_string .= '/' unless $url_string =~ /\/$/; $url_string; @@ -300,110 +309,6 @@ sub ntable { } -=item small_custview CUSTNUM || CUST_MAIN_OBJECT, COUNTRYDEFAULT, NOBALANCE_FLAG, URL - -Sheesh. I should just switch to Mason. - -=cut - -sub small_custview { - use FS::Record qw(qsearchs); - use FS::cust_main; - - 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; - - $html = qq!View ' - if $url; - - $html .= 'Customer #'. $cust_main->custnum. ''. - ' - '. - ucfirst($cust_main->status). ''. - ntable('#e8e8e8'). '