infobox => 1,
rot => 0,
sel => 0,
+ fullscreen => 0,
);
# Reduce the front page load when in overload mode.
}
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;
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 {
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);
+
+ # *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,
+ sel => $settings{'sel'},
+ });
} else {
Sesse::pr0n::Common::header($r, "$name [$event]");
Sesse::pr0n::Templates::print_template($r, "date", { date => $date });
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 = "";
$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;