#!/usr/bin/perl -w
#todo:
# - fix base
# - calc dimensions of image
# - print "x of n images" bug
# - rotate image
use strict;
use Data::Dumper;
use CGI;
use URI::WithBase;
my $base = new URI::WithBase->rel($0);
my $cgi = CGI->new();
#get files
my @files = `ls .` or die "$!: $?"; chomp @files;
my @pics = grep(/.jpg$/i, @files);
my $total = scalar(@pics);
#get current state
my $curr_pid = $cgi->param('pid');
my $curr_idx = &lookupIdx($curr_pid);
my $curr_pos = $curr_idx+1;
my $prev_pid = $pics[$curr_idx-1];
my $next_pid = $pics[$curr_idx+1];
print $cgi->header();
if ($curr_pid =~ m/.jpg$/i) {
#no action yet
draw($curr_pid);
} else {
foreach my $pid (@pics)
{
print <$pid
HTML
}
}
sub draw
{
my $curr_pid = shift;
print <prev | next | index
$curr_pid ($curr_pos of $total)
HTML
}
sub lookupIdx
{
my $curr_pid = shift;
my $curr_idx = 0;
foreach my $pid (@pics)
{
return $curr_idx unless $pid !~ m/$curr_pid/;
$curr_idx++;
}
}