#!/usr/bin/perl
require "weblib.lib";
&htmlopen("imMT Dump");
&getparams;
$PATH="$ENV{DOCUMENT_ROOT}/newsmedia/$ENV{SERVER_NAME}";
$item=$param{item};
$file=$param{file};
if($file){
	$file="$PATH/$item/$file";
	$filesize=-s $file;
	open(FILE,$file);
	read(FILE,$text,2);
	$size=unpack('n',$text);
	if($size < 65535){
		print $size+1," elements\n";
		print "<ul>\n";
		for($index=0;$index<=$size;$index++){
			read(FILE,$text,2);
			$pointer=unpack('n',$text);
			print "<li>$pointer</li>\n";
		}
		close FILE;
		print "</ul>\n";
	}
}
else{
	opendir(DIR,"$PATH/$item");
	while($f=readdir(DIR)){
		next unless $f=~/(.*)\.immt$/;
		$type=$1;
		($type,$subtype,$tindex)=split(/-/,$type);
		$TYPE=$type;
		if($MAJORTYPE{$type}){$MAJORTYPE{$type}.=";$tindex-$subtype";}
		else{$MAJORTYPE{$type}="$tindex-$subtype";}
		$type=sprintf("%03d-%s-%s",$tindex,$type,$subtype);
		push(@types,$type);
		open(FILE,"$PATH/$item/$f");
		read(FILE,$text,2);
		$size=unpack('n',$text);
		if($size < 65535){
			for($index=0;$index<=$size;$index++){
				read(FILE,$text,2);
				$pointer=unpack('n',$text);
				$TYPE{"$pointer-$TYPE-$subtype"}=$pointer+1;
			}
			close(FILE);
		}
	}
	print "<table border>\n";
	print "<tr>";
	foreach $MAJORTYPE(sort keys %MAJORTYPE){
		@subtypes=split(/;/,$MAJORTYPE{$MAJORTYPE});
		$subtypes=@subtypes;
		print qq{<th colspan="$subtypes">$MAJORTYPE</th>};
	}
	print "</tr>\n";
	print qq{<tr style="font-size: 8px;">};
	foreach $MAJORTYPE(sort keys %MAJORTYPE){
		@subtypes=split(/;/,$MAJORTYPE{$MAJORTYPE});
		foreach $subtype(sort @subtypes){
			($tindex,$subtype)=split(/-/,$subtype);
			print qq{<th>$subtype</th>};
		}
	}
	print "</tr>\n";
	foreach $row(0..932){
		print qq{<tr style="font-size: 8px;">\n};
		foreach $MAJORTYPE(sort keys %MAJORTYPE){
			@subtypes=split(/;/,$MAJORTYPE{$MAJORTYPE});
			foreach $subtype(sort @subtypes){
				($tindex,$subtype)=split(/-/,$subtype);
				print "<td>";
				if($TYPE{"$row-$MAJORTYPE-$subtype"}){print $TYPE{"$row-$MAJORTYPE-$subtype"};}
				print "</td>";
			}
		}
		print "</tr>\n";
	}
	print "</table>";
#	foreach $TYPE(sort keys %TYPE){
#		print "$TYPE{$TYPE}</ul>\n";
#	}
}
&htmlclose;
