#!/usr/bin/perl $t=$ARGV[0]; if ($t eq '') { $t='2004' } if (! open(PHOTOSINDEXHTM, ">> ../index.htm")) { print "cannot open photos/index.htm!\n"; exit 1; } if (! (-d 'fullsize' )) { print "fullsize directory does not exist!\n"; exit 2; } if (! open(INDEXHTML, "> index.html")) { print "cannot open index.html!\n"; exit 3; } print INDEXHTML "\\n"; print INDEXHTML "\\n"; print INDEXHTML "\$t\<\/title\>\n"; print INDEXHTML "\<\/head\>\n"; print INDEXHTML "\\n"; chdir "fullsize"; opendir(CD, '.'); @files = readdir(CD); @jpgfns = (); my ($ndx,$lim,$i,$j); for $i (sort(@files)) { if (($i !~ s/\.jpg$//) || (-e $i)) { next; } push @jpgfns, ($i); } $lim = scalar @jpgfns; for ($ndx=0; $ndx < $lim; $ndx++) { $i = $jpgfns[$ndx]; $j = $i.'.jpg'; system ("chmod 775 $j"); # sm == small, tn == thumbnail, ph == pinhead #print "first scale\n"; if ($j =~ s/^sm//) { $i =~ s/^sm//; system("ln -f sm$j ../sm$j"); } else { system("djpeg -scale 1/4 $j | cjpeg -quality 75 > ../sm$j"); } #print "second scale\n"; system("djpeg -scale 1/4 ../sm$j | cjpeg -quality 75 > ../tn$j"); print INDEXHTML "\"; print INDEXHTML "\\\"click\<\/a\>\n"; #print "third scale\n"; system("djpeg -scale 1/4 ../tn$j | cjpeg -quality 75 > ../ph$j"); print INDEXHTML "\\\"go\<\/a\>\n"; if ($t ne 'private') { print PHOTOSINDEXHTM "\"; print PHOTOSINDEXHTM "\\\"click\<\/a\>\n"; } if (! open(IMAGEHTML, "> ../sm$i.html")) { print "cannot open $i.html!\n"; exit 4; } print IMAGEHTML "\\n"; print IMAGEHTML "\\n"; print IMAGEHTML "\$i\<\/title\>\n"; print IMAGEHTML "\<\/head\>\n"; print IMAGEHTML "\\n"; print IMAGEHTML "\this picture without links\<\/a\>  \n"; print IMAGEHTML "\largest picture\<\/a\>  \n"; if ($ndx > 0) { $i = $jpgfns[$ndx-1]; $i =~ s/^sm//; print IMAGEHTML "\previous\<\/a\>  \n"; } print IMAGEHTML "\index\<\/a\>  \n"; if (($ndx+1) < $lim) { $i = $jpgfns[$ndx+1]; $i =~ s/^sm//; print IMAGEHTML "\next\<\/a\>  \n"; print IMAGEHTML "\\n"; print IMAGEHTML "\\\"click\<\/a\>\n"; } else { print IMAGEHTML "\\n"; print IMAGEHTML "\\\"click\<\/a\>\n"; } print IMAGEHTML "\<\/body\>\n"; print IMAGEHTML "\<\/html\>\n"; close(IMAGEHTML); } print INDEXHTML "\<\/body\>\n"; print INDEXHTML "\<\/html\>\n"; close(INDEXHTML); if ($t ne 'private') { chdir "../.."; system("cp index.htm index.bak"); system("sort -u index.bak > index.htm"); system("sort -ru index.bak > rindex.htm"); } exit 0;