package CGI::Maypole; use base 'Maypole'; use strict; use warnings; our $VERSION = "0.3"; sub run { my $self = shift; return $self->handler(); } sub get_request { require CGI::Simple; shift->{cgi} = CGI::Simple->new(); } sub parse_location { my $self = shift; $self->{path} = $self->{cgi}->url(-absolute=>1, -path_info=>1); my $loc = $self->{cgi}->url(-absolute=>1); no warnings 'uninitialized'; $self->{path} =~ s/^($loc)?\///; $self->parse_path; $self->{params} = { $self->{cgi}->Vars }; $self->{query} = { $self->{cgi}->Vars }; } sub send_output { my $r = shift; print $r->{cgi}->header(-type => $r->{content_type}, -content_length => length $r->{output}, ); print $r->{output}; } sub get_template_root { my $r = shift; $r->{cgi}->document_root . "/". $r->{cgi}->url(-relative=>1); } 1; =head1 NAME CGI::Maypole - CGI-based front-end to Maypole =head1 SYNOPSIS package BeerDB; use base 'CGI::Maypole; BeerDB->setup("dbi:mysql:beerdb"); BeerDB->config->{uri_base} = "http://your.site/cgi-bin/beer.cgi/"; BeerDB->config->{display_tables} = [qw[beer brewery pub style]]; # Now set up your database: # has-a relationships # untaint columns 1; ## example beer.cgi: #!/usr/bin/perl -w use strict; use BeerDB; BeerDB->run(); =head1 DESCRIPTION This is a handler for Maypole which will use the CGI instead of Apache's C 1.x. This handler can also be used for Apache 2.0. =head1 AUTHORS Dave Ranney C Simon Cozens C