#!/usr/bin/perl -w
use File::stat;

@types = ("config", "cgi", "patch", "script", "misc");

$dt = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n\n<HTML>\n<HEAD>\n\t<TITLE>Pablotron 2000 : Downloads</TITLE>\n</HEAD>\n\n<!--#include virtual=\"/ssi/doc/top.shtml\"-->";
$t="<!--#include virtual=\"/ssi/top.shtml\"-->";
$m="<!--#include virtual=\"/ssi/mid.shtml\"-->";
$b="<!--#include virtual=\"/ssi/bot.shtml\"-->";
$db = "<!--#include virtual=\"/ssi/doc/back.shtml\"-->\n<!--#include virtual=\"/ssi/doc/bot.shtml\"-->\n</HTML>\n";

open IN, "list" or die "couldn't open list";
open OUT, ">list.shtml" or die "couldn't open list.shtml";

unlink "list_$_.shtml" foreach (@types);

#print OUT "$dt";
while (<IN>)	{
	$file = $_; chop $file;
	$file =~ s/^(.*?),(.*)$/$1/;
	$type = $2;
	$sane = $file;
	$sane =~ s/\W/_/gi;
	if (open DESC, "desc/$file.txt")	{
		$desc = "";
		$desc .= $_ while (<DESC>);
		close DESC;
	} else {
		$desc = "no description";
	}
	$sum = `md5sum $file`; chop $sum;
	$sum =~ s/$file//g;
	#@stats = stat $file;
	#$size = $stats[7]/1000 . "k";
	$stats = stat $file;
	$size = $stats->size/1000 . "k";
	$size =~ s/\.(..).k/.$1k/g;
	#$mod  = -M $file;
	#$mod =~ s/\.(.).*$/.$1/;
	@mtime = (localtime($stats->mtime))[5,4,3,2,1,0];
	$mod = (1900+$mtime[0]) . "-" . &two_digit($mtime[1]+1) .
	       "-" . &two_digit($mtime[2]) . "-" . &two_digit($mtime[3]) .
		   ":" . &two_digit($mtime[4]) . "-PST";
	print OUT "$t\n\n<a name=\"$sane\"><B>$file</B></a>\n$m\n\n
<a href=\"$type.shtml\"><IMG SRC=\"images/$type.gif\" ALIGN=\"RIGHT\"
	ALT=\"$type icon\"  VSPACE=\"10\" HSPACE=\"5\" BORDER=\"0\"></a>\n\n$desc
<BR><BR>
<a href=\"$file\">Download \"$file\"</a><BR>
<FONT FACE=\"sans-serif\" SIZE=\"-1\">File Size: $size<BR>
Last Updated: $mod<BR>
MD5 Checksum: $sum</FONT><BR>\n\n$b\n\n<BR>";
	if (open OUTTYPE, ">>list_$type.shtml")	{
			
		print OUTTYPE "$t\n\n<a name=\"$sane\"><B>$file</B></a>\n$m\n\n
	<a href=\"$type.shtml\"><IMG SRC=\"images/$type.gif\" ALIGN=\"RIGHT\"
		ALT=\"$type icon\" BORDER=\"0\" VSPACE=\"10\" HSPACE=\"5\"
		BORDER=\"0\"></a>\n\n$desc
	<BR><BR>
	<a href=\"$file\">Download \"$file\"</a><BR>
	<FONT FACE=\"sans-serif\" SIZE=\"-1\">File Size: $size<BR>
	Last Updated: $mod<BR>
	MD5 Checksum: $sum</FONT><BR>\n\n$b\n\n<BR>";
			close OUTTYPE;
	}

	$tally{'all'}++;
	$tally{$type}++;
}
#print OUT "$db";

close IN;
close OUT;

push @types, "all";

foreach (@types)	{
	if (open OUT, ">desc/count_$_.txt")	{
		print OUT "($tally{$_})";
		close OUT;
	}
}

sub two_digit() {
	$num = shift;
	return ($num<10)?("0".$num):$num;
}

