From ef46d408f973eb86d59b38edb86232f2998efa5b Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Mon, 31 Jul 2006 19:31:34 +0200 Subject: [PATCH] Add a close button to get out of fullscreen. --- close.png | Bin 0 -> 3056 bytes perl/Sesse/pr0n/Index.pm | 20 ++++++++++++++++---- perl/Sesse/pr0n/pr0n.pm | 1 + pr0n-fullscreen.css | 7 +++++++ pr0n-fullscreen.js | 6 ++++++ templates/default/fullscreen-footer | 2 ++ 6 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 close.png diff --git a/close.png b/close.png new file mode 100644 index 0000000000000000000000000000000000000000..721ad2cf29df9b47465dd4a4a21ebdf9dcf22cd8 GIT binary patch literal 3056 zcmV(P)sgr7g$=GB-o76f{Iyz&FRik2~F=MT5 z+H?|YG)-btlTKpZU20rKP1w#DWFK@7}$eV#qub6BBA^ zXxJ+7FYWE^YFAg+9zhVEGGq}^6kRQ?tOCr;%s%ew>Y6kNBO@aUkBHccA9or$7tZ{+ zySsba_kUq-Zf+bK7k3O^5mQoA#h#uXQO-I#JH>VD*Nc%+QDVZPMF-v7+$IeqG&FQg zRCM&{vgOOg>({S~wQg^SCw>gsBRI5tKR5fPG$IypI!rO^*UPP~t!n%{ArLr4!Q0#W!;z7Z#P#de(S{8hWXCtu*VB%jJ4xH!O{S)% zX#jB%`=y@%VM9o1k$8nxR#wl{*4A41`}xt#nKLC9_XZFP3k$k>^{P3%n&_-hoNH-r z?imk+t*tEu1_kXM9v)8doi&Sg?AW1SN6Py9`zb9gjcx-B#vLmwE#2SO*Z2Lu3lEyq z+0mg!sHg`92A*wdZl>7SSOPG~kAxt^+B-U^xVYE>;}+Q1*qlKDxhpju-lVYb@MN6C zQG^v8I&_F;%$Okye9xXel$W2+)$Oagn>Sy+bLY+v))%BEw%@r^g0QhhX^YirwG^vV z>PwxJp-50^X(=@~H+#a%Jphs;H5MS0s8pYr0nx5qyJW+c?c~Xm^x3&{gz8v@b)UIa zSEv2)7(u4Al18H`@%HgqQdU;x#vm5Rd=Q(W@bGZT&dxT%TqVk4MYmR4`Qvd2C$DMK zrhSP#a!yG}q1CHb%YrB=DWMZ5P7tD_2ZiM6(vp&z2aOZt7QxZ?=>`W?IQEq{ZrreO zMTzzI_m_@)8yn(KxtNh*=Irboi@46j2HNiZyO*~&C-{3fG3AP+B-*lNi!2C)5AEK) zn{M5{&Efbwk~@nXY%q}TlC0TS5Y%>db}InJG$=Tj++{dp77`a5_@N9yL@u$V zWn~l-6GQl2lBMU(n@5dJO@xq~>F)0C4d(q6f434R{3j5vaO|CT^d~20M~@z*uP$8R zFBE|=-ei1S9IFAzs>EQ55Z`UBt^Sx72q&bDj*dF) z1P?4gVUV-4XV20HAAZOurfzI(T;J5#cx$}<35KvR*gn(8$7dlt^5%PNH0A9yzDo?M|1?IF*H1^>+R`DuCA)OMvubm?d@mBCnQuU zV`If@IXUC%qKwQ;5rR4~Dnh&-0cRLL4j=@@`_6*MNHKZC22rEcic__}pFSTYHIR>w`b(|Mww zSvA>0@zBi5+S)8GKK}jrVPWDQPMk2Pr51qg7bwfk1 z&z&=eegj#~(qy8Ba3lwNd-^6n-$F1kSp=2)DXL-rV+RsCfBthQyC)RR&PLof%r>B6 z-81fQs;a68xutM$aF~lC@CkTo?6Cpy4+vNYLOgA5YHGE0>sE@7kDs(dqNAhf`ZwQD zYg?PYi;IgDWdGMXo$k>CVL9*V>3Ig;^GZ%mrgiJqjjIIsiiqX?gN)mO`Sa(~erOsl2T)Kp>_!ws2~A*{&D z%Zn~UuArnp2`;+Y+|+dYkpO`fB2<@`0b*|$h>xX(++7s&8|TjT8#kz4t=8v*hs+%r zPFcTReqNqnVrsg~&fflCP!F1i4g?iyF*bLG+toLA?ILe)Z`tuoc;~CS#aQm>>wJ&}xr8G$6tA=J`S(eu>82{P@yKC@=o zB4+;y88Mfcd();(vf~R23g~xx_j0=`B7c67mz#SHn<++-h_0`%_vXCeo?miPf`uBY-je+&+o@Bh==4V) z>F;Q9BCoVGH+Mgv2e~!f)wK;_`gB=&x&9`GpC=^miNP;?{Zw9Fu7DFlAY(p4n28ex zf-Uel~ zyo)Nco@@F(R3A$j($i=(^ae<;rly9I`(S}eb$B8#R>-@Nk>TMS$dSatq9QlW7k==O zQxqsV`qwcy^$8GV27oj^5D3eJIdkW3#z*!5H61>Dm|SJrR<0m?<6U zfRTxEQ(s?Suc?`t8a>TQw7TX{(=;7bQp(uLT*7HVV5-ai1Q-AZ)`hnOj{Fe-0000 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 -- 2.39.2