]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/Index.pm
Kill the limit in the equipment list.
[pr0n] / perl / Sesse / pr0n / Index.pm
index 681a6652df6acf3772c2b09d693c6f67d7443cc2..74c6566ea184744ce2d05b8c1d4f674342d9a7ae 100644 (file)
@@ -23,7 +23,7 @@ sub handler {
        }
 
        # Internal? (Ugly?) 
-       if ($r->get_server_name =~ /internal/ || $r->get_server_name =~ /skoyen\.bilder\.knatten\.com/) {
+       if ($r->get_server_name =~ /internal/ || $r->get_server_name =~ /skoyen\.bilder\.knatten\.com/ || $r->get_server_name =~ /lia\.heimdal\.org/) {
                my $user = Sesse::pr0n::Common::check_access($r);
                if (!defined($user)) {
                        return Apache2::Const::OK;
@@ -37,7 +37,7 @@ sub handler {
                xres => -1,
                yres => -1,
                start => 1,
-               num => -1,
+               num => 100,
                all => 1,
                infobox => 1,
                rot => 0,
@@ -46,8 +46,8 @@ sub handler {
        );
        
        # Any NEF files => default to processing
-       my $ref = $dbh->selectrow_hashref('SELECT * FROM images WHERE event=? AND LOWER(filename) LIKE \'%.nef\' LIMIT 1',
-               undef, $event)
+       my $ref = $dbh->selectrow_hashref('SELECT * FROM images WHERE event=? AND vhost=? AND LOWER(filename) LIKE \'%.nef\' LIMIT 1',
+               undef, $event, $r->get_server_name)
                and $defsettings{'xres'} = $defsettings{'yres'} = undef;
        
        # Reduce the front page load when in overload mode.
@@ -82,7 +82,7 @@ sub handler {
                $num = undef;
        }
 
-       $ref = $dbh->selectrow_hashref('SELECT name,date,EXTRACT(EPOCH FROM last_update) AS last_update FROM events WHERE id=? AND vhost=?',
+       $ref = $dbh->selectrow_hashref('SELECT name,date,EXTRACT(EPOCH FROM last_update) AS last_update FROM events WHERE event=? AND vhost=?',
                undef, $event, $r->get_server_name)
                or error($r, "Could not find event $event", 404, "File not found");
 
@@ -96,16 +96,16 @@ sub handler {
        }
        
        # Count the number of selected images.
-       $ref = $dbh->selectrow_hashref("SELECT COUNT(*) AS num_selected FROM images WHERE event=? AND selected=\'t\'", undef, $event);
+       $ref = $dbh->selectrow_hashref("SELECT COUNT(*) AS num_selected FROM images WHERE event=? AND vhost=? AND selected=\'t\'", undef, $event, $r->get_server_name);
        my $num_selected = $ref->{'num_selected'};
 
        # Find all images related to this event.
        my $where = ($all == 0) ? ' AND selected=\'t\'' : '';
        my $limit = (defined($start) && defined($num) && !$settings{'fullscreen'}) ? (" LIMIT $num OFFSET " . ($start-1)) : "";
 
-       my $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")
+       my $q = $dbh->prepare("SELECT *, (date - INTERVAL '6 hours')::date AS day FROM images WHERE event=? AND vhost=? $where ORDER BY (date - INTERVAL '6 hours')::date,takenby,date,filename $limit")
                or dberror($r, "prepare()");
-       $q->execute($event)
+       $q->execute($event, $r->get_server_name)
                or dberror($r, "image enumeration");
 
        # Print the page itself
@@ -144,9 +144,9 @@ sub handler {
                print_viewres($r, $event, \%settings, \%defsettings);
                print_pagelimit($r, $event, \%settings, \%defsettings);
                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);
+               print_nextprev($r, $event, \%settings, \%defsettings);
                
                # Find the equipment used
                my $eq = $dbh->prepare("
@@ -154,7 +154,7 @@ sub handler {
                                TRIM(model.value) AS model,
                                coalesce(TRIM(lens_spec.value), TRIM(lens.value)) AS lens,
                                COUNT(*) AS num
-                       FROM ( SELECT * FROM images WHERE event=? $where ORDER BY (date - INTERVAL '6 hours')::date,takenby,date,filename $limit ) i
+                       FROM ( SELECT * FROM images WHERE event=? AND vhost=? $where ORDER BY (date - INTERVAL '6 hours')::date,takenby,date,filename ) i
                                LEFT JOIN exif_info model ON i.id=model.image
                                LEFT JOIN ( SELECT * FROM exif_info WHERE tag='Lens' ) lens ON i.id=lens.image
                                LEFT JOIN ( SELECT * FROM exif_info WHERE tag='LensSpec') lens_spec ON i.id=lens_spec.image
@@ -162,7 +162,7 @@ sub handler {
                        GROUP BY 1,2
                        ORDER BY 1,2")
                        or die "Couldn't prepare to find equipment: $!";
-               $eq->execute($event)
+               $eq->execute($event, $r->get_server_name)
                        or die "Couldn't find equipment: $!";
 
                my @equipment = ();
@@ -201,7 +201,7 @@ sub handler {
 
                my $toclose = 0;
                my $lastupl = "";
-               my $img_num = $start;
+               my $img_num = (defined($start) && defined($num)) ? $start : 1;
                
                # Print out all thumbnails
                if ($rot == 1) {
@@ -433,14 +433,16 @@ sub print_nextprev {
        my ($r, $event, $settings, $defsettings) = @_;
        my $start = $settings->{'start'};
        my $num = $settings->{'num'};
+       my $all = $settings->{'all'};
        my $dbh = Sesse::pr0n::Common::get_dbh();
+       my $where = ($all == 0) ? ' AND selected=\'t\'' : '';
 
        $num = undef if (defined($num) && $num == -1);
        return unless (defined($start) && defined($num));
 
        # determine total number
-       my $ref = $dbh->selectrow_hashref('SELECT count(*) AS num_images FROM images WHERE event=?',
-               undef, $event)
+       my $ref = $dbh->selectrow_hashref("SELECT count(*) AS num_images FROM images WHERE event=? AND vhost=? $where",
+               undef, $event, $r->get_server_name)
                or dberror($r, "image enumeration");
        my $num_images = $ref->{'num_images'};
 
@@ -451,7 +453,7 @@ sub print_nextprev {
                $end = $num_images;
        }
 
-       $r->print("    <p>\n");
+       $r->print("    <p class=\"nextprev\">\n");
 
        # Previous
        if ($start > 1) {