#!/usr/bin/perl
#----------------------------------------------------------------------
# written by philipp mold (mold@chello.at, tm981055@fh-stpoelten.ac.at)
# for planhaus (www.planhaus.at)
#----------------------------------------------------------------------
#use CGI::Carp qw(fatalsToBrowser); #for debugging
print "Content-type: text/html\n\n"; # write default header for valid output
my $Verzeichnis = "."; #dir to look for galleries
opendir(DIR, $Verzeichnis) || exit; #read directory & store in array Eintraege
my @Eintraege = readdir(DIR);
closedir(DIR);
foreach(@Eintraege) {
my @temp = split(/\./,$_); #for each subdir starting with "gal"
if ($temp[0] eq "gal") {
my $number = $temp[1];
my $name = $temp[2];
$galleries{$number} = ($name); #store name & number in hashtable
push(@sortnr,$number); #store unsorted numbers inarray
}
}
if (keys %galleries eq 0) {exit;} #if no galleries then display blank page
my @sortnr = sort {$a <=> $b;} @sortnr; #sort the array numerically
@temp = split(/\?/,$ENV{REQUEST_URI}); #get gallery to show dependent on menu
$requgal = $temp[1];
print "\n";
print "\n";
print "\n";
print " \n";
print " | \n";
print "\n";
print " \n";
my $switchtemp = 0;
foreach(@sortnr) {
print "";
if ($requgal eq $galleries{$_} || ($requgal eq "" && $switchtemp eq 0)) {print"";} #set active menu bold
print"$galleries{$_}";
if ($requgal eq $galleries{$_} || ($requgal eq "" && $switchtemp eq 0)) {print""; $switchtemp = 1;}
print" ";
} # print menu with links
print " | \n";
print "\n";
print " \n";
print " | \n";
print "\n";
#print "$requgal ";
if ($requgal ne "") { #if nor query, display first in list
foreach(@sortnr) { #if wrong query display first in list
if ($requgal eq $galleries{$_}) {
$GalDir = "gal.$_.$requgal"; last;#now build dir-name based on menu selected
} else {$GalDir = "gal.$sortnr[0].$galleries{$sortnr[0]}";}
}
} else {$GalDir = "gal.$sortnr[0].$galleries{$sortnr[0]}";}
#print "$GalDir";
opendir(DIR, $GalDir) || exit; #read directory & store in array Eintraege
my @Eintraege = readdir(DIR);
closedir(DIR);
#show each image in gallery/dir
print "\n";
print "\n";
print "\n";
my $counter = 1;
foreach(@Eintraege) {
my @temp = split(/\./,$_);
if (@temp eq 2 && $temp[1] eq "jpg") {
print "\n";
print " \n";
print "\n";
print "$counter";
$counter = $counter + 1;
}
}
print " | \n";
print " \n";
print " \n";
print " Bildnamen:
";
my $counter = 1;
foreach(@Eintraege) {
my @temp = split(/\./,$_);
if (@temp eq 2 && $temp[1] eq "jpg") {
print "$counter: \n$temp[0] ";
print "\n";
$counter = $counter + 1;
}
}
print " | \n";
print " \n";
print " \n";
print "
";
exit;
|
|