use vars qw(@EXPORT_OK @ISA);
use Exporter;
use CGI;
+use URI::URL;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID;
@ISA = qw(Exporter);
-@EXPORT_OK = qw(header menubar idiot eidiot);
+@EXPORT_OK = qw(header menubar idiot eidiot popurl table);
=head1 NAME
=head1 SYNOPSIS
- use FS::CGI qw(header menubar idiot eidiot);
+ use FS::CGI qw(header menubar idiot eidiot popurl);
print header( 'Title', '' );
print header( 'Title', menubar('item', 'URL', ... ) );
idiot "error message";
eidiot "error message";
+ $url = popurl; #returns current url
+ $url = popurl(3); #three levels up
+
=head1 DESCRIPTION
Provides a few common subroutines for the web interface.
sub idiot {
my($error)=@_;
my($cgi)=FS::UID::cgi;
- print $cgi->header, <<END;
+ if ( $cgi->isa('CGI::Base') ) {
+ no strict 'subs';
+ &CGI::Base::SendHeaders;
+ } else {
+ print $cgi->header;
+ }
+ print <<END;
<HTML>
<HEAD>
<TITLE>Error processing your request</TITLE>
exit;
}
+=item popurl LEVEL
+
+Returns current URL with LEVEL levels of path removed from the end (default 0).
+
+=cut
+
+sub popurl {
+ my($up)=@_;
+ my($cgi)=&FS::UID::cgi;
+ my($url)=new URI::URL $cgi->url;
+ my(@path)=$url->path_components;
+ splice @path, 0-$up;
+ $url->path_components(@path);
+ my $x = $url->as_string;
+ $x .= '/' unless $x =~ /\/$/;
+ $x;
+}
+
+=item table
+
+Returns HTML tag for beginning a table.
+
+=cut
+
+sub table {
+ "<TABLE BORDER=1>";
+}
+
=back
=head1 BUGS
Not complete.
-Uses CGI-modules instead of CGI.pm
-
=head1 SEE ALSO
-L<CGI::Base>
+L<CGI>, L<CGI::Base>
=head1 HISTORY
pod ivan@sisd.com 98-sep-12
$Log: CGI.pm,v $
-Revision 1.3 1998-11-08 10:50:19 ivan
+Revision 1.12 1998-12-23 02:23:16 ivan
+popurl always has trailing slash
+
+Revision 1.11 1998/11/12 07:43:54 ivan
+*** empty log message ***
+
+Revision 1.10 1998/11/12 01:53:47 ivan
+added table command
+
+Revision 1.9 1998/11/09 08:51:49 ivan
+bug squash
+
+Revision 1.7 1998/11/09 06:10:59 ivan
+added sub url
+
+Revision 1.6 1998/11/09 05:44:20 ivan
+*** empty log message ***
+
+Revision 1.4 1998/11/09 04:55:42 ivan
+support depriciated CGI::Base as well as CGI.pm (for now)
+
+Revision 1.3 1998/11/08 10:50:19 ivan
s/CGI::Base/CGI/; etc.