X-Git-Url: http://git.shiar.nl/perl/plp/.git/blobdiff_plain/6fb22c399428a8e7cac088cab5603e75a87016fa..52b63e9e0c0e3d3019a2751158f59cae036b6fe4:/plp.cgi diff --git a/plp.cgi b/plp.cgi old mode 100755 new mode 100644 index 85d8210..aa3b32f --- a/plp.cgi +++ b/plp.cgi @@ -1,87 +1,9 @@ -#!/usr/local/bin/perl -use v5.6.0; -use PLP; - -die 'Wrong module version' if $PLP::VERSION ne '3.01'; - -use vars qw($DEBUG); - -use strict; -{ - $PLP::code = ''; - $PLP::sentheaders = 0; - $PLP::inA = 0; - $PLP::inB = 0; -} - -$DEBUG = 1; -our $mod_perl = exists $ENV{MOD_PERL}; +#!/usr/bin/perl -{ - my $file = $ENV{PATH_TRANSLATED}; - $ENV{PLP_NAME} = $ENV{PATH_INFO}; - my $path_info; - while (not -f $file) { - if (not $file =~ s/(\/+[^\/]*)$//) { - print STDERR "PLP: Not found: $ENV{PATH_TRANSLATED} ($ENV{REQUEST_URI})\n"; +# This script is not installed automatically, and is not needed for mod_perl +# installations. - if ($mod_perl) { - Apache->request->uri($ENV{REQUEST_URI}); - print STDOUT "Status: 404 Not Found"; - Apache::exit(); - } else { - PLP::error(undef, 404); - exit; - } - } - my $pi = $1; - $ENV{PLP_NAME} =~ s/\Q$pi\E$//; - $path_info = $pi . $path_info; - } - - if ($mod_perl) { - Apache->request->uri($ENV{REQUEST_URI}); - } - - if (not -r $file) { - print STDERR "PLP: Can't read: $ENV{PATH_TRANSLATED} ($ENV{REQUEST_URI})\n"; - if (exists $ENV{MOD_PERL}) { - print STDOUT "Status: 403 Forbidden"; - Apache::exit(); - } else { - PLP::error(undef, 403); - exit; - } - } - - delete @ENV{ - qw(PATH_TRANSLATED SCRIPT_NAME SCRIPT_FILENAME PATH_INFO), - grep { /^REDIRECT_/ } keys %ENV - }; - - $ENV{PATH_INFO} = $path_info if defined $path_info; - $ENV{PLP_FILENAME} = $file; - (my $dir = $file) =~ s{/[^/]+$}[]; - chdir $dir; - - $PLP::code = PLP::source($file, 0); - tie *PLPOUT, 'PLP::Tie::Print'; - select PLPOUT; -} +use PLP; +PLP::everything(); -{ - no strict; - PLP::Fields::doit(); - { - package PLP::Script; - *headers = \%header; - *cookies = \%cookie; - PLP::Functions->import(); - eval qq{package PLP::Script; $PLP::code}; - } - PLP::error($@, 1) if $@; - select STDOUT; - undef *{"PLP::Script::$_"} for keys %PLP::Script::; - PLP::SendHeaders() unless $PLP::sentheaders; -}