X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=perl%2FSesse%2Fpr0n%2Fpr0n.pm;h=2517b849b7e0439df869c56c9c36e4a7605ad132;hp=bddfe223e2192e884db28e34392c7ce77c216ebb;hb=HEAD;hpb=09260885c52013320acd21d7ce262e12def7301f diff --git a/perl/Sesse/pr0n/pr0n.pm b/perl/Sesse/pr0n/pr0n.pm index bddfe22..2517b84 100644 --- a/perl/Sesse/pr0n/pr0n.pm +++ b/perl/Sesse/pr0n/pr0n.pm @@ -4,8 +4,9 @@ use Sesse::pr0n::Index; use Sesse::pr0n::Image; use Sesse::pr0n::Rotate; use Sesse::pr0n::Select; -use Sesse::pr0n::WebDAV; use Sesse::pr0n::NewEvent; +use Sesse::pr0n::Upload; +use Sesse::pr0n::UploadForm; use IO::File::WithPath; package Sesse::pr0n::pr0n; @@ -16,12 +17,11 @@ sub handler { my $r = shift; my $uri = $r->path_info; - if ($uri eq '/' || $uri =~ /^\/\+tags\/?$/) { + if ($uri eq '/') { return Sesse::pr0n::Listing::handler($r); } elsif ($uri eq '/robots.txt' || $uri eq '/pr0n.css' || $uri eq '/skoyen.css' || - $uri eq '/blah.png' || $uri eq '/faq.html' || $uri eq '/pr0n-fullscreen.css' || $uri eq '/pr0n-fullscreen-ie.css' || @@ -29,9 +29,7 @@ sub handler { $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 eq '/options.png' || $uri =~ m#^/usage/([a-zA-Z0-9_.]+)$#) { $uri =~ s#^/##; my $fname = $Sesse::pr0n::Config::image_base . 'files/' . $uri; @@ -54,8 +52,6 @@ sub handler { $res->content_type('text/html; charset=utf-8'); $res->content(IO::File::WithPath->new($Sesse::pr0n::Config::image_base . 'files/newevent.html')); return $res; - } elsif ($uri =~ m#^/webdav#) { - return Sesse::pr0n::WebDAV::handler($r); } elsif ($uri =~ m#^/usage/([a-zA-Z0-9.-]+)$#) { my $res = Plack::Response->new(200); $res->content(IO::File::WithPath->new($Sesse::pr0n::Config::image_base . "usage/$1")); @@ -66,11 +62,16 @@ sub handler { return Sesse::pr0n::Select::handler($r); } elsif ($uri =~ m#^/newevent$#) { return Sesse::pr0n::NewEvent::handler($r); + } elsif ($uri =~ /^\/upload\// && ($r->method eq 'OPTIONS' || $r->method eq 'PUT')) { + return Sesse::pr0n::Upload::handler($r); + } elsif ($uri =~ /^\/upload\/[a-zA-Z0-9-]+\/?$/) { + return Sesse::pr0n::UploadForm::handler($r); } elsif ($uri =~ /^\/[a-zA-Z0-9-]+\/?$/ || - $uri =~ /^\/\+all\/?$/ || - $uri =~ /^\/\+tags\/[a-zA-Z0-9-]+\/?$/) { + $uri =~ /^\/\+all\/?$/) { return Sesse::pr0n::Index::handler($r); - } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+(\@\d+(\.\d+)?)?/|original/)((?:no)?box/)?[a-zA-Z0-9._()-]+$#) { + } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/ + (\d+x\d+ ( \@\d+(\.\d+)? )? / | original/ )? + [a-zA-Z0-9._()-]+$#x) { return Sesse::pr0n::Image::handler($r); }