use CGI;
use URI::URL;
#use CGI::Carp qw(fatalsToBrowser);
-use FS::UID;
+use FS::UID qw( cgi );
@ISA = qw(Exporter);
@EXPORT_OK = qw( header menubar idiot eidiot popurl rooturl table itable ntable
sub http_header {
my ( $header, $value ) = @_;
- if (exists $ENV{MOD_PERL}) {
- 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);
- } else {
- $HTML::Mason::Commands::r->header_out( $header => $value );
- }
+ if ( defined $HTML::Mason::Commands::r ) { #Mason + apache
+ if ( $header =~ /^Content-Type$/ ) {
+ $HTML::Mason::Commands::r->content_type($value);
} else {
- die "http_header called in unknown environment";
+ $HTML::Mason::Commands::r->header_out( $header => $value );
}
+ } elsif ( defined $HTML::Mason::Commands::m ) {
+ $HTML::Mason::Commands::m->notes(lc("header-$header"), $value);
} else {
- die "http_header called not running under mod_perl";
+ warn "http_header($header, $value) called with no way to set headers\n";
}
-
}
=item menubar ITEM, URL, ...
$url_string = shift;
} else {
# better to start with the client-provided URL
- my $cgi = &FS::UID::cgi;
+ my $cgi = cgi;
$url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
}
$url_string =~
s{
/
- (browse|config|docs|edit|graph|misc|search|view|pref|rt|elements)
- /
- (process/)?
+ (browse|config|docs|edit|graph|misc|search|view|loginout|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;