#!c:/perl/bin/perl.exe
##################################################
# Photos 01/06/99 by Jeff Waldock
# Shows one picture
##################################################
$rootdir="/usr/photos/main/";
$rooturl="/photos/main/";
$cgibin="/photos";
$imageurl="/images";
$cgilocation = "$cgibin/newonephoto.pl";
$xmax=800;
$ymax=600;
###################################################
# Get Date and Time from Server
@days=("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
@longdays=("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
@month=("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
# Get Date and Time from Server
$date = localtime();
($sec,$min,$hour,$mday,$mon,$yr,$wday,$yday,$isdst) = localtime(time);
$year=$yr+1900;
if ($min < 10) {$min="0".$min; }
$shorttime="$hour:$min";
$date1="$days[$wday] $mday $month[$mon] $year at $shorttime";
$date2="$longdays[$wday] $mday $month[$mon] $year at $shorttime";
$thisyear=$year;
print "Content-Type: text/html\n\n";
$request_method=$ENV{'REQUEST_METHOD'};
if ($request_method eq "GET") {
$form_info=$ENV{'QUERY_STRING'};
} else {
$size_of_info=$ENV{'CONTENT_LENGTH'};
read(STDIN, $form_info, $size_of_info);
}
@key_value_pairs=split(/&/,$form_info);
foreach $key_value (@key_value_pairs)
{
($key,$value)=split(/=/,$key_value);
$value=~ tr/+/ /;
$value=~ s/%([\dA-Fa-f][\dA-Fa-f])/pack("C",hex($1))/eg;
$INPUT{$key} = $value;
#print "",$key," = ",$value,"
\n";
}
print "
\n";
print "\n";
print "\n";
$idsel=$INPUT{"id"};
unless ($idsel) { &PrintError; }
if ($idsel) { &GetPhotoData; }
&Footer;
print "\n";
exit;
sub PrintError {
}
sub Footer {
print "\n";
print " | \n";
print "© Jeff Waldock, $thisyear \n";
print "This query: $date2 | \n";
print "Get the full image HERE [$pixels$filesize] |
\n";
print "
\n";
print "xx\n";
}
sub GetPhotoData {
$resfile=$rootdir."index.txt";
open (FILE,$resfile);
@lines=;
close(FILE);
$lastdate=$lines[0];
$lastdate =~ s/#//g;
$numpix=$#lines;
#find the details for this pic
for ($j=0; $j<=$numpix; $j++) {
@info=split(/\|/,$lines[$pic1+$j]);
$id=$info[0];
if ($id == $idsel) {
$section=$info[2];
$section =~ tr/A-Z/a-z/;
$filename=$info[3];
$filename=~tr/A-Z/a-z/;
$filename=~s/ //g;
$filepath=$filename;
@ss=split(/\//,$filename);
$nss=$#ss;
#print "nss=$nss
\n";
$thumburl="";
for ($f=0;$f<$nss;$f++) {
#print $ss[$f]."\\";
$thumburl=$thumburl.$ss[$f].'/';
}
$thumburl=$thumburl.'thumb/';
$thumburl=$thumburl.$ss[$nss];
$thumburl=~s/\\/\//g;
#$thumburl=~tr/A-Z/a-z/;
$fileurl=$filename;
#$fileurl=~s/\\/\//g;
#$fileurl=~tr/A-Z/a-z/;
$fileurl=~s/$rootdir/$rooturl/;
$thumburl=~s/$rootdir/$rooturl/;
#$type=$info[3];
$xpix=$info[4];
$ypix=$info[5];
$imagedet=$info[6];
$datetaken=$info[7];
$keywords=$info[8];
$description=$info[9];
$pixels=$xpix." by ".$ypix." pixels ";
$proportion=$ypix/$xpix;
$fullurl=$fileurl;
$fileurl=$thumburl;
$fullurl=$thumburl;
$fileurl=~s/thumb/600/;
$fullurl=~s/thumb\///;
#$fullurl=~s/thumb/1500/;
#print "fileurl=$fileurl, thumburl=$thumburl\n";
#print $proportion;
if ($proportion >1) {
if ($ypix>$ymax) {
$ht=$ymax;
$wid=int($ht/$proportion);
} else {
$ht=$ypix;
$wid=$xpix;
}
} else {
if ($xpix>$xmax) {
$wid=$xmax;
$ht=int($wid*$proportion);
} else {
$wid=$xpix;
$ht=ypix;
}
}
#$fileurl=$rooturl.$section."/".$filename."\.".$type;
#$thumburl=$rooturl.$section."/thumb/".$filename."\.".$type;
#$filepath=$rootdir.$section."/".$filename."\.".$type;
($size)=(stat($filepath))[7];
$filesize="(".int($size/1000)."K)";
last;
}
}
print "Jeff's Photos
";
print "\n";
#do the label in row 1
print "| IMAGE $id |
\n";
#do the photo in row 2
#print " |
\n";
print " |
\n";
#do the info in row 3
print "| $description $datetaken |
\n";
print "
\n";
}