- require Apache::Constants;
- clean();
- if (my $ret = mod_perl_init($_[0])) {
- return $ret;
- }
- #S start($_[0]);
- start();
- no strict 'subs';
- return Apache::Constants::OK();
-}
-
-# mod_perl initializer: returns 0 on success, Apache error code on failure
-sub mod_perl_init {
- our $r = shift;
-
- $PLP::print = 'PLP::mod_perl_print';
-
- $ENV{PLP_FILENAME} = my $filename = $r->filename;
-
- unless (-f $filename) {
- return Apache::Constants::NOT_FOUND();
- }
- unless (-r _) {
- return Apache::Constants::FORBIDDEN();
- }
-
- $ENV{PLP_NAME} = $r->uri;
-
- our $use_cache = $r->dir_config('PLPcache') !~ /^off$/i;
-#S our $use_safe = $r->dir_config('PLPsafe') =~ /^on$/i;
- my $path = $r->filename();
- my ($file, $dir) = File::Basename::fileparse($path);
- chdir $dir;
-
- $PLP::code = PLP::source($file, 0, undef, $path);
-
- return 0; # OK
-}
-
-# FAST printing under mod_perl
-sub mod_perl_print {
- return unless grep length, @_;
- PLP::sendheaders() unless $PLP::sentheaders;
- $PLP::r->print(@_);