1 use Sesse::pr0n::Common;
2 use Sesse::pr0n::Listing;
3 use Sesse::pr0n::Index;
4 use Sesse::pr0n::Image;
5 use Sesse::pr0n::Rotate;
6 use Sesse::pr0n::Select;
7 use Sesse::pr0n::WebDAV;
8 use Sesse::pr0n::NewEvent;
10 package Sesse::pr0n::pr0n;
19 return Sesse::pr0n::Listing::handler($r);
20 } elsif ($uri eq '/robots.txt' ||
21 $uri eq '/pr0n.css' ||
22 $uri eq '/skoyen.css' ||
23 $uri eq '/blah.png' ||
24 $uri eq '/faq.html' ||
25 $uri =~ m#^/usage/([a-zA-Z0-9_.]+)$#) {
27 $r->content_type(Sesse::pr0n::Common::get_mimetype_from_filename($uri));
28 $r->sendfile(Sesse::pr0n::Common::get_base($r) . $uri);
29 return Apache2::Const::OK;
30 } elsif ($uri eq '/newevent.html') {
31 $r->content_type('text/html; charset=utf-8');
32 $r->sendfile(Sesse::pr0n::Common::get_base($r) . "newevent.html");
33 return Apache2::Const::OK;
34 } elsif ($uri =~ m#^/webdav#) {
35 return Sesse::pr0n::WebDAV::handler($r);
36 } elsif ($uri =~ m#^/usage/([a-zA-Z0-9.-]+)$#) {
37 $r->sendfile(Sesse::pr0n::Common::get_base($r) . "usage/$1");
38 return Apache2::Const::OK;
39 } elsif ($uri =~ m#^/rotate$#) {
40 return Sesse::pr0n::Rotate::handler($r);
41 } elsif ($uri =~ m#^/select$#) {
42 return Sesse::pr0n::Select::handler($r);
43 } elsif ($uri =~ m#^/newevent$#) {
44 return Sesse::pr0n::NewEvent::handler($r);
45 } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/?$#) {
46 return Sesse::pr0n::Index::handler($r);
47 } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+/|original)?(nobox/)?[a-zA-Z0-9._-]+$#) {
48 return Sesse::pr0n::Image::handler($r);
52 Sesse::pr0n::Common::header($r, "404 File Not Found");
53 $r->print(" <p>The file you requested was not found.</p>");
54 Sesse::pr0n::Common::footer($r);
55 return Apache2::Const::OK;