]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/Index.pm
Last change broke uploads altogether. Fix.
[pr0n] / perl / Sesse / pr0n / Index.pm
index c0c89a7f5d94d7cb6bd3c23d76845c232fb2d26a..00709aa352a24fbce73821966816a9acf97fe46c 100644 (file)
@@ -23,7 +23,7 @@ sub handler {
        }
 
        # Internal? (Ugly?) 
-       if ($r->get_server_name =~ /internal/) {
+       if ($r->get_server_name =~ /internal/ || $r->get_server_name =~ /skoyen\.bilder\.knatten\.com/) {
                my $user = Sesse::pr0n::Common::check_access($r);
                if (!defined($user)) {
                        return Apache2::Const::OK;
@@ -92,7 +92,7 @@ sub handler {
        my $q;
        my $where = ($all == 0) ? ' AND selected=\'t\'' : '';
 
-       if (defined($start) && defined($num)) {
+       if (defined($start) && defined($num) && !$settings{'fullscreen'}) {
                $q = $dbh->prepare("SELECT *, (date - INTERVAL '6 hours')::date AS day FROM images WHERE event=? $where ORDER BY (date - INTERVAL '6 hours')::date,takenby,date,filename LIMIT $num OFFSET " . ($start-1))
                        or dberror($r, "prepare()");
        } else {
@@ -116,11 +116,15 @@ sub handler {
                my $returnurl = "http://" . $r->get_server_name . "/" . $event . "/" .
                        Sesse::pr0n::Common::get_query_string(\%settings_no_fullscreen, \%defsettings);
 
+               # *whistle*
+               $returnurl =~ s/&/&/g;
+
                Sesse::pr0n::Templates::print_template($r, "fullscreen-footer", {
                        vhost => $r->get_server_name,
                        event => $event,
                        start => $settings{'start'} - 1,
-                       returnurl => $returnurl
+                       returnurl => $returnurl,
+                       sel => $settings{'sel'},
                });
        } else {
                Sesse::pr0n::Common::header($r, "$name [$event]");
@@ -136,6 +140,7 @@ sub handler {
                print_infobox($r, $event, \%settings, \%defsettings);
                print_nextprev($r, $event, \%settings, \%defsettings);
                print_selected($r, $event, \%settings, \%defsettings) if ($num_selected > 0);
+               print_fullscreen($r, $event, \%settings, \%defsettings);
 
                my $toclose = 0;
                my $lastupl = "";
@@ -164,7 +169,7 @@ sub handler {
                                }
 
                                my $filename = $ref->{'filename'};
-                               my $uri = $filename;
+                               my $uri = $infobox . $filename;
                                if (defined($xres) && defined($yres) && $xres != -1) {
                                        $uri = "${xres}x$yres/$infobox$filename";
                                } elsif (defined($xres) && $xres == -1) {
@@ -207,7 +212,7 @@ sub handler {
                                }
 
                                my $filename = $ref->{'filename'};
-                               my $uri = $filename;
+                               my $uri = $infobox . $filename;
                                if (defined($xres) && defined($yres) && $xres != -1) {
                                        $uri = "${xres}x$yres/$infobox$filename";
                                } elsif (defined($xres) && $xres == -1) {
@@ -245,7 +250,7 @@ sub handler {
                                }
 
                                my $filename = $ref->{'filename'};
-                               my $uri = $filename;
+                               my $uri = $infobox . $filename;
                                if (defined($xres) && defined($yres) && $xres != -1) {
                                        $uri = "${xres}x$yres/$infobox$filename";
                                } elsif (defined($xres) && $xres == -1) {
@@ -485,6 +490,19 @@ sub print_selected {
        
        $r->print('</p>');
 }
+
+sub print_fullscreen {
+       my ($r, $event, $settings, $defsettings) = @_;
+
+       chomp (my $title = Sesse::pr0n::Templates::fetch_template($r, 'fullscreen'));
+
+       my %newsettings = %$settings;
+       $newsettings{'fullscreen'} = 1;
+
+        $r->print("    <p>");
+       Sesse::pr0n::Common::print_link($r, $title, "/$event/", \%newsettings, $defsettings);
+       $r->print("</p>\n");
+}
        
 1;