use Sesse::pr0n::Select;
use Sesse::pr0n::WebDAV;
use Sesse::pr0n::NewEvent;
+use Sesse::pr0n::Registry;
+use Sesse::pr0n::Wizard;
package Sesse::pr0n::pr0n;
use strict;
$uri eq '/previous.png' ||
$uri eq '/next.png' ||
$uri eq '/close.png' ||
+ $uri eq '/wizard.js' ||
+ $uri eq '/wizard.css' ||
+ $uri eq '/pr0n.ico' ||
$uri =~ m#^/usage/([a-zA-Z0-9_.]+)$#) {
$uri =~ s#^/##;
+ my $fname = Sesse::pr0n::Common::get_base($r) . 'files/' . $uri;
+ my (undef, undef, undef, undef, undef, undef, undef, $size, undef, $mtime) = stat($fname)
+ or error($r, "stat of $fname: $!");
+
$r->content_type(Sesse::pr0n::Common::get_mimetype_from_filename($uri));
+ $r->set_content_length($size);
+ $r->set_last_modified($mtime);
+
+ if((my $rc = $r->meets_conditions) != Apache2::Const::OK) {
+ return $rc;
+ }
+
$r->sendfile(Sesse::pr0n::Common::get_base($r) . 'files/' . $uri);
return Apache2::Const::OK;
} elsif ($uri eq '/newevent.html') {
return Sesse::pr0n::Select::handler($r);
} elsif ($uri =~ m#^/newevent$#) {
return Sesse::pr0n::NewEvent::handler($r);
+ } elsif ($uri =~ m#^/registry$#) {
+ return Sesse::pr0n::Registry::handler($r);
+ } elsif ($uri =~ m#^/wizard$#) {
+ return Sesse::pr0n::Wizard::handler($r);
} elsif ($uri =~ m#^/[a-zA-Z0-9-]+/?$#) {
return Sesse::pr0n::Index::handler($r);
- } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+/|original)?(nobox/)?[a-zA-Z0-9._-]+$#) {
+ } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+/|original/)?(nobox/)?[a-zA-Z0-9._-]+$#) {
return Sesse::pr0n::Image::handler($r);
}