#!/usr/bin/perl # viewcoll.pl # ----------- require 'vxcgi.pl'; require 'gallery.pl'; $tx1 = "#5050A0"; $NCOLS = 3; $NROWS = 2; $PERPG = $NCOLS * $NROWS; cgi_vars(); # $coll = collection directory name; $page = page number if (!$coll) { $coll = "ScreenThemes_Posters"; } # cgi_redirect("http://www.screenthemes.com/gallery/"); } $coll =~ tr/ /+/; if (!$page) { $page = 1; } $isposter = ($coll =~ /^ScreenThemes_Posters$/i) ? 1 : 0; require "$visionx_com/vxsecure/st/packinfo.pl" if $isposter; require "$coll/data.pl" if -e "$coll/data.pl"; cgi_header(); gallery_header(1); print <<".";
. center_begin(); opendir DIR, "$coll"; @files = sort readdir DIR; closedir DIR; chdir "$coll"; if ($isposter) { @files = sort { $name{substr($a,7,7)} cmp $name{substr($b,7,7)} } @files; # @files = sort @files; } elsif ($coll_sort_date) { # @files = sort { ( -M $a) <=> ( -M $b) } @files; # @files = sort { ($m{$a} ||= -M "$a") <=> ($m{$b} ||= -M $b) } @files; @files = sort @files; } else { @files = sort @files; } foreach $file (@files) { # $dbg .= "
$file = " . (stat $file)[9]; next if -d $file; # skip dirs next if $file !~ /\.jpg$/i; # only .JPG files qualify push @jpgs, $file; } $lastpage = int($#jpgs / $PERPG) + 1; $page = $lastpage if $page > $lastpage; $first = ($page - 1) * $PERPG + 1; $last = $first + $PERPG - 1; $last = $#jpgs + 1 if $last > $#jpgs + 1; $i = 0; coll_begin(); foreach $jpg (@jpgs) { $i++; next if $i < $first; coll_thumbnail($jpg); last if $i >= $last; coll_newrow() if $i % $NCOLS == 0; } coll_end(); center_end(); gallery_footer(1); #--------------------------------------------------------------------- sub center_begin { my $title = $coll; $title =~ tr/_/ /; my $comments= ($coll_comments) ? ". $coll_comments" : ""; my $brought = ($coll_who) ? "These images brought to you by $coll_who$comments" : "$coll_comments"; my $align = (length($coll_by . $coll_comments) > 90) ? "LEFT" : "CENTER"; print <<".";
$title
$brought
. } sub center_end { print <<".";
. } #--------------------------------------------------------------------- sub coll_begin { my $bg = "#FFFFE0"; print <<".";
. } sub coll_end { my $also = ($coll_also) ? "If you like this collection, we have many other high-quality images available for purchase (via download or CD-ROM)." : ""; print <<".";
$also
. my ($i, $a1, $a2); $i = $page - 1; if ($i >= 1) { print <<"."; <<PREV   -   . } foreach $i (1 .. $lastpage) { $a1 = ($i == $page) ? "[" : ""; $a2 = ($i == $page) ? "]" : ""; print <<"."; $a1$i$a2   . } $i = $page + 1; if ($i <= $lastpage) { print <<"."; -   NEXT>>   . } print <<".";
. } sub coll_thumbnail { my ($jpg) = @_; my $title; if ($isposter) { my $packid = lc(substr($jpg, 7, 7)); $title = $name{$packid}; $title .= " (Star Trek)" if $packid =~ /^tk/i; } else { $title = $jpg; $title =~ tr/_/ /; $title =~ s/\.jpg$//i; } my ($w, $h) = split /,/, ($small{$jpg} ? $small{$jpg} : "116,87"); my $h2 = $h + 20; my $new = ($isposter && (-M $jpg) < 6) ? "
NEW!" : ""; print <<".";
\"$title\"
$title$new . } sub coll_newrow { print <<"."; . }