X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND.pm;h=812e0ab63675ef89973a454ab422b388d8730ff9;hb=c53f6b0edb492227f9aa6959c4049f5c2e2b27b3;hp=50629e8efab535a072d2558359579659b1f959bd;hpb=256609e2df07f5dd40a33ace6163d2b72a269246;p=ndwebbie.git diff --git a/ND.pm b/ND.pm index 50629e8..812e0ab 100755 --- a/ND.pm +++ b/ND.pm @@ -43,9 +43,19 @@ sub handler { if ($ENV{'SCRIPT_NAME'} =~ /(\w+)(\.(pl|php|pm))?$/){ $page = $1 unless $1 eq 'index' and $3 eq 'pl'; } - $page = ND::Web::Page->new(PAGE => $page, DBH => $ND::DBH, URI => $ENV{REQUEST_URI}); + $page = ND::Web::Page->new(PAGE => $page, DBH => $ND::DBH, URI => $ENV{REQUEST_URI}, USER_AGENT => $ENV{HTTP_USER_AGENT}, HTTP_ACCEPT => $ENV{HTTP_ACCEPT}); $page->render; + $ND::DBH->rollback unless $ND::DBH->{AutoCommit}; + $ND::DBH->disconnect; + + if ($page->{RETURN}){ + if($page->{RETURN} eq 'REDIRECT'){ + $ND::r->headers_out->set(Location => $page->{REDIR_LOCATION}); + $ND::r->status(Apache2::Const::REDIRECT); + $ND::r->rflush; + } + } return Apache2::Const::OK; }