]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/pr0n.pm
Allow () in filenames.
[pr0n] / perl / Sesse / pr0n / pr0n.pm
index a0c682bcfafac2e5882e8ccff5d62256810acf6f..b65ccf096c1797fb5c95a5b1f5b65d2ec0b9c303 100644 (file)
@@ -17,7 +17,7 @@ sub handler {
        my $r = shift;
 
        my $uri = $r->uri;
-       if ($uri eq '/') {
+       if ($uri eq '/' || $uri =~ /^\/\+tags\/?$/) {
                return Sesse::pr0n::Listing::handler($r);
        } elsif ($uri eq '/robots.txt' ||
                 $uri eq '/pr0n.css' ||
@@ -67,10 +67,11 @@ sub handler {
                return Sesse::pr0n::Registry::handler($r);
        } elsif ($uri =~ m#^/wizard$#) {
                return Sesse::pr0n::Wizard::handler($r);
-       } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/?$# ||
-                $uri =~ m#^/\+all/?$#) {
+       } elsif ($uri =~ /^\/[a-zA-Z0-9-]+\/?$/ ||
+                $uri =~ /^\/\+all\/?$/ ||
+                $uri =~ /^\/\+tags\/[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);
        }