X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FCGI.pm;h=4c2693db856ea0dd4d302057bc382d02b6c83469;hb=4e35589e637aa3a3615a780d4086085c5ecb1782;hp=f1f2a3dcae02a444a41d4a47ba053401a566ab61;hpb=53bf3dff4149408fde4f1d0d87fd18c6033bc71f;p=freeside.git
diff --git a/FS/FS/CGI.pm b/FS/FS/CGI.pm
index f1f2a3dca..4c2693db8 100644
--- a/FS/FS/CGI.pm
+++ b/FS/FS/CGI.pm
@@ -62,9 +62,9 @@ sub header {
- $title
+ $title
-
+
END
$x .= $menubar. "
" if $menubar;
$x;
@@ -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);
@@ -115,6 +108,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!$item!;
}
join(' | ',@html);
@@ -185,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)";
@@ -230,25 +219,31 @@ 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|elements)
/
(process/)?
- ([\w\-\.]+)
+ ([\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;
}
@@ -305,7 +300,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 +313,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 #'. $cust_main->custnum. ''.
+ my $html;
+
+ $html = qq!View '
+ if $url;
+
+ $html .= 'Customer #'. $cust_main->custnum. ''.
' - '.
ucfirst($cust_main->status). ''.
ntable('#e8e8e8'). ''. ntable("#cccccc",2).
|