xres => -1,
yres => -1,
start => 1,
- num => 100,
+ num => 250,
all => 1,
infobox => 1,
rot => 0,
if ($model eq '') {
# no defined model
- $where .= " AND id NOT IN ( SELECT image FROM exif_info WHERE key='Model' AND TRIM(value)<>'' )";
+ $where .= " AND model IS NULL";
} else {
- $where .= " AND id IN ( SELECT image FROM exif_info WHERE key='Model' AND TRIM(value)=$mq )";
+ $where .= " AND model=$mq";
}
- # This doesn't match 1:1 if there's both lens and lensspec, but it should be OK in practice
if ($lens eq '') {
# no defined lens
- $where .= " AND id NOT IN ( SELECT image FROM exif_info WHERE (key='Lens' OR key='LensSpec') AND TRIM(value)<>'' )";
+ $where .= " AND lens IS NULL";
} else {
- $where .= " AND id IN ( SELECT image FROM exif_info WHERE (key='Lens' OR key='LensSpec') AND TRIM(value)=$lq )";
+ $where .= " AND lens=$lq";
}
}
if (defined($author)) {
my @files = ();
while (my $ref = $q->fetchrow_hashref()) {
- push @files, [ $ref->{'event'}, $ref->{'filename'} ];
+ my $width = defined($ref->{'width'}) ? $ref->{'width'} : -1;
+ my $height = defined($ref->{'height'}) ? $ref->{'height'} : -1;
+ push @files, [ $ref->{'event'}, $ref->{'filename'}, $width, $height ];
}
for my $i (0..$#files) {
- $r->print(" [ \"" . $files[$i]->[0] . "\", \"" . $files[$i]->[1] . "\" ]");
- $r->print(",") unless ($i == $#files);
- $r->print("\n");
+ my $line = sprintf " [ \"%s\", \"%s\", %d, %d ]", @{$files[$i]};
+ $line .= "," unless ($i == $#files);
+ $r->print($line . "\n");
}
my %settings_no_fullscreen = %settings;
if (1 || $event ne '+all') {
# Find the equipment used
my $eq = $dbh->prepare("
- SELECT
- TRIM(model.value) AS model,
- coalesce(TRIM(lens_spec.value), TRIM(lens.value)) AS lens,
+ SELECT
+ model,
+ lens,
COUNT(*) AS num
- FROM ( SELECT * FROM images WHERE vhost=? $where ) i
- LEFT JOIN exif_info model ON i.id=model.image
- LEFT JOIN ( SELECT * FROM exif_info WHERE key='Lens' ) lens ON i.id=lens.image
- LEFT JOIN ( SELECT * FROM exif_info WHERE key='LensSpec') lens_spec ON i.id=lens_spec.image
- WHERE model.key='Model'
+ FROM images
+ WHERE vhost=? $where
GROUP BY 1,2
ORDER BY 1,2")
or die "Couldn't prepare to find equipment: $!";
chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "unfilter"));
$newsettings{'model'} = undef;
$newsettings{'lens'} = undef;
+ $newsettings{'start'} = 1;
} else {
chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "filter"));
$newsettings{'model'} = $e->{'model'};
$newsettings{'lens'} = defined($e->{'lens'}) ? $e->{'lens'} : '';
+ $newsettings{'start'} = 1;
}
my $url = "/$event/" . Sesse::pr0n::Common::get_query_string(\%newsettings, \%defsettings);
while (my $ref = $q->fetchrow_hashref()) {
my $imgsz = "";
my $takenby = $ref->{'takenby'};
+ my $day = '';
if (defined($ref->{'day'})) {
- $takenby .= ", " . $ref->{'day'};
+ $day = ", " . $ref->{'day'};
}
- if ($takenby ne $lastupl) {
+ my $groupkey = $takenby . $day;
+
+ if ($groupkey ne $lastupl) {
$r->print(" </p>\n\n") if ($lastupl ne "" && $rot != 1);
- $lastupl = $takenby;
+ $lastupl = $groupkey;
my %newsettings = %settings;
if (defined($author)) {
chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "unfilter"));
$newsettings{'author'} = undef;
+ $newsettings{'start'} = 1;
} else {
chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "filter"));
$newsettings{'author'} = $ref->{'takenby'};
+ $newsettings{'start'} = 1;
}
my $url = "/$event/" . Sesse::pr0n::Common::get_query_string(\%newsettings, \%defsettings);
$r->print(" <h2>");
- Sesse::pr0n::Templates::print_template($r, "submittedby", { author => $lastupl, action => $action, filterurl => $url });
+ Sesse::pr0n::Templates::print_template($r, "submittedby", { author => $takenby, action => $action, filterurl => $url, date => $day });
print_fullscreen_fromhere($r, $event, \%settings, \%defsettings, $img_num);
$r->print("</h2>\n");
}
}
- if ($ref->{'width'} != -1 && $ref->{'height'} != -1) {
+ if (defined($ref->{'width'}) && defined($ref->{'height'})) {
my $width = $ref->{'width'};
my $height = $ref->{'height'};
}
sub print_viewres {
my ($r, $event, $settings, $defsettings) = @_;
- my @alternatives = qw(320x256 512x384 640x480 800x600 1024x768 1280x960);
+ my @alternatives = qw(320x256 512x384 640x480 800x600 1024x768 1280x960 1400x1050 1600x1200);
chomp (my $unlimited = Sesse::pr0n::Templates::fetch_template($r, 'viewres-unlimited'));
chomp (my $original = Sesse::pr0n::Templates::fetch_template($r, 'viewres-original'));
push @alternatives, [ $unlimited, undef, undef ];
# Get choices
chomp (my $unlimited = Sesse::pr0n::Templates::fetch_template($r, 'imgsperpage-unlimited'));
- my @alternatives = qw(10 50 100 500);
+ my @alternatives = qw(10 50 100 250 500);
push @alternatives, $unlimited;
for my $num (@alternatives) {
$newsettings{'fullscreen'} = 1;
$newsettings{'start'} = $start;
- $r->print(" <p class=\"fsfromhere\">");
+ $r->print(" <span class=\"fsfromhere\">");
Sesse::pr0n::Common::print_link($r, $title, "/$event/", \%newsettings, $defsettings);
- $r->print("</p>\n");
+ $r->print("</span>\n");
}
1;