From: Steinar H. Gunderson Date: Mon, 31 Jul 2006 17:31:34 +0000 (+0200) Subject: Add a close button to get out of fullscreen. X-Git-Url: https://git.sesse.net/?p=pr0n;a=commitdiff_plain;h=ef46d408f973eb86d59b38edb86232f2998efa5b Add a close button to get out of fullscreen. --- diff --git a/close.png b/close.png new file mode 100644 index 0000000..721ad2c Binary files /dev/null and b/close.png differ diff --git a/perl/Sesse/pr0n/Index.pm b/perl/Sesse/pr0n/Index.pm index 52766ab..c0c89a7 100644 --- a/perl/Sesse/pr0n/Index.pm +++ b/perl/Sesse/pr0n/Index.pm @@ -42,6 +42,7 @@ sub handler { infobox => 1, rot => 0, sel => 0, + fullscreen => 0, ); # Reduce the front page load when in overload mode. @@ -50,9 +51,8 @@ sub handler { } my %settings = %defsettings; - my $fullscreen = (defined($apr->param('fullscreen')) && $apr->param('fullscreen') eq '1'); - for my $s qw(thumbxres thumbyres xres yres start num all infobox rot sel) { + for my $s qw(thumbxres thumbyres xres yres start num all infobox rot sel fullscreen) { my $val = $apr->param($s); if (defined($val) && $val =~ /^(\d+)$/) { $settings{$s} = $val; @@ -103,13 +103,25 @@ sub handler { or dberror($r, "image enumeration"); # Print the page itself - if ($fullscreen) { + if ($settings{'fullscreen'}) { $r->content_type("text/html; charset=utf-8"); Sesse::pr0n::Templates::print_template($r, "fullscreen-header", { title => "$name [$event]" }); while (my $ref = $q->fetchrow_hashref()) { $r->print(" \"" . $ref->{'filename'} . "\",\n"); } - Sesse::pr0n::Templates::print_template($r, "fullscreen-footer", { vhost => $r->get_server_name, event => $event, start => $settings{'start'} - 1 }); + + my %settings_no_fullscreen = %settings; + $settings_no_fullscreen{'fullscreen'} = 0; + + my $returnurl = "http://" . $r->get_server_name . "/" . $event . "/" . + Sesse::pr0n::Common::get_query_string(\%settings_no_fullscreen, \%defsettings); + + Sesse::pr0n::Templates::print_template($r, "fullscreen-footer", { + vhost => $r->get_server_name, + event => $event, + start => $settings{'start'} - 1, + returnurl => $returnurl + }); } else { Sesse::pr0n::Common::header($r, "$name [$event]"); Sesse::pr0n::Templates::print_template($r, "date", { date => $date }); diff --git a/perl/Sesse/pr0n/pr0n.pm b/perl/Sesse/pr0n/pr0n.pm index 487a01a..1471074 100644 --- a/perl/Sesse/pr0n/pr0n.pm +++ b/perl/Sesse/pr0n/pr0n.pm @@ -26,6 +26,7 @@ sub handler { $uri eq '/pr0n-fullscreen.js' || $uri eq '/previous.png' || $uri eq '/next.png' || + $uri eq '/close.png' || $uri =~ m#^/usage/([a-zA-Z0-9_.]+)$#) { $uri =~ s#^/##; $r->content_type(Sesse::pr0n::Common::get_mimetype_from_filename($uri)); diff --git a/pr0n-fullscreen.css b/pr0n-fullscreen.css index 9aab84d..390ffdc 100644 --- a/pr0n-fullscreen.css +++ b/pr0n-fullscreen.css @@ -26,6 +26,13 @@ img { right: 0px; z-index: 1; } +#close { + position: absolute; + top: 0px; + right: 0px; + z-index: 1; +} + #preload { position: absolute; left: -2000px; diff --git a/pr0n-fullscreen.js b/pr0n-fullscreen.js index 31b51ec..4092ea2 100644 --- a/pr0n-fullscreen.js +++ b/pr0n-fullscreen.js @@ -98,6 +98,7 @@ function relayout() set_opacity("previous", can_go_previous() ? 0.7 : 0.1); set_opacity("next", can_go_next() ? 0.7 : 0.1); + set_opacity("close", 0.7); } function set_opacity(id, amount) @@ -204,6 +205,11 @@ function key_up(which) { } } +function do_close() +{ + window.location = global_return_url; +} + // enable the horrible horrible IE PNG hack function ie_png_hack() { diff --git a/templates/default/fullscreen-footer b/templates/default/fullscreen-footer index d49d733..98df35c 100644 --- a/templates/default/fullscreen-footer +++ b/templates/default/fullscreen-footer @@ -1,6 +1,7 @@ ]; var global_vhost = "%VHOST%"; var global_evt = "%EVENT%"; +var global_return_url = "%RETURNURL%"; var global_image_num = %START%; //--> @@ -10,6 +11,7 @@ var global_image_num = %START%;
<- -> + x