#!/usr/bin/perl
# (C) 2000-2003 Midgard Systems Group
# Name this view.cgi, put it in your top level photos directory, and
# make sure it's executable.
$ENV{QUERY_STRING} =~ m|file=([^&]*)&?|c;
$file = &unescape($1);
$file =~ s|^/+||;
$file =~ s|\.\./||gs;
unless(-f $file && $file =~ /(jpg|gif|png)$/) {
print << 'EOF';
Content-type: text/html
Pictures
EOF
exit(0);
}
use Image::Size;
print << "EOF";
Content-type: text/html
Picture - $file
EOF
($imx, $imy) = imgsize($file);
print " \n";
($metafile = $file) =~ s!(jpg|gif|png)$!!i; $metafile .= "txt";
if(-f $metafile) {
open(F,"<$metafile");
$metadata = join('',);
$metadata =~ s|\r?\n| \n|gs;
close(F);
print " | \n";
print $metadata,"\n";
print " | \n";
}
print << 'EOF';
|
EOF
sub unescape {
my($todecode) = @_;
$todecode =~ tr/+/ /; # pluses become spaces
$todecode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
return $todecode;
}