]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
Unapply this patch.
[maypole.git] / lib / Maypole.pm
index 70bfd0b277f65bd7c94336240387799f29293003..b55f7b924ec8309d148a5e3660212b1bae344771 100644 (file)
@@ -4,7 +4,7 @@ use attributes ();
 use UNIVERSAL::require;
 use strict;
 use warnings;
-our $VERSION = "1.3";
+our $VERSION = "1.7";
 __PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
 __PACKAGE__->mk_accessors ( qw( ar params query objects model_class
 args action template ));
@@ -52,10 +52,11 @@ sub handler {
     my $class = shift;
     $class->init unless $class->init_done;
     my $r = bless { config => $class->config }, $class;
-    $r->get_request();
+    $r->get_request(@_);
     $r->parse_location();
     my $status = $r->handler_guts();
     return $status unless $status == OK;
+    $r->{content_type} ||= "text/html";
     $r->send_output;
     return $status;
 }
@@ -76,7 +77,6 @@ sub handler_guts {
         $r->model_class->process($r);
     } else { 
         # Otherwise, it's just a plain template.
-        $r->call_authenticate; # No harm in it
         delete $r->{model_class};
         $r->{path} =~ s{/}{}; # De-absolutify
         $r->template($r->{path});
@@ -89,7 +89,9 @@ sub handler_guts {
 sub is_applicable {
     my $self = shift;
     my $config = $self->config;
-    $config->{ok_tables} = {map {$_ => 1} @{$config->{display_tables}}};
+    $config->{ok_tables} ||= $config->{display_tables};
+    $config->{ok_tables} = {map {$_=>1} @{$config->{ok_tables}}}
+       if ref $config->{ok_tables} eq "ARRAY";
     warn "We don't have that table ($self->{table})"
         if $self->debug and not $config->{ok_tables}{$self->{table}};
     return DECLINED() unless exists $config->{ok_tables}{$self->{table}};