#!/usr/bin/perl
#
# Makes an index.html file containing
# links to every file in the directory

# Location of this (HACK.. need to find a way around this)
#$location = "/home/arkane/scripts/ls2html.pl";
$location = $0;
# font size used on headers (titles such as "files available")
$headerfontsize = 4;
# Files that are analyzed have these extensions
@files = <*>;
# default html file written in each directory analyzed
$html = "index.html";
# Array used for list of subdirectories
@directories;

foreach $listing (<*>) {
  if(-d $listing) {
    push(@directories, $listing);
    print("Heading into $listing\n");
    system("cd $listing && exec $location ");
  }
}

    
# Open HTML file for writing
open(FILE, ">$html") || die "Can't open file: $!\n";
select(FILE);

# Start HTML file
print("<html>\n<head>\n");
#print("<TITLE>" . `pwd` . "</TITLE>\n");
print("</head>\n<body>");
open_table("100");
# setup counter for iteration of tables for subdirectory listing
$count = 0;
print("<A HREF=\"../\">..</A><BR>\n");
foreach $subdirectory (@directories) {
  $count++;
  print("<TD>\n");
  print("<A HREF=\"$subdirectory\">$subdirectory</A><BR>\n");
  print("</TD>\n");
  if($count == 3) {
    print("</TR>\n<TR>\n");
    $count = 0;
  }
}
print("</TR>\n");
print("</TABLE>\n");
open_table("100");
print("</TD>\n</TR>\n");
print("</TABLE>\n");                                                                                       
open_table("100");
print("<TR>\n");
# Iterate through files listed, href'ing each
$countagain = 0;
foreach (@files) {
  $temp1 = $_;
  $countagain++;
  next if -d; 
  print("<TD VALIGN=\"top\" BGCOLOR=\"#FFFFFF\">\n");
  # Keeps the index.html being written from showing up
  if(!/index.html/) {                        
    print("<a href=\"$temp1\">$temp1</a>\n");
  }
  print("</TD>\n");
   print("</TR>\n<TR>\n");
}
print("</TR>\n");
print("</TBODY>\n");
print("</TABLE>");
credits();
close(FILE);

sub credits {
  print("</body>\n</html>\n");
}

sub open_table {
  my($mywidth) = @_;
  print("<TABLE CELLPADDING=\"2\" CELLSPACING=\"2\" BORDER=\"0\" 
WIDTH=\"$mywidth%\">\n");                        
  print("<TBODY>\n");                                                                     
}

