#! /usr/bin/perl
# Erzeugt den html-Teil fuer einen Inhalt
# Als Argument den Basisnamen des Inhats z.B. aussage1

# Grundpfad fuer das Projekt
$pfad="/afs/.mathematik.uni-stuttgart.de/project/math-online/";

# Pfad fuer LaTeX-Dateien
$lpfad=$pfad."latex/";

# Parameter aufsplitten
$name=shift (@ARGV);
$name =~ s/\.dat//;

# Daten-Datei lesen
open(DATEN,"./".$name.".dat");
while (<DATEN>)
{
    $daten .= $_;
}
close(DATEN);
$_=$daten;


# Dateinamen feststellen
if (/\[Beschreibung:([^\[\]]*)\]/is) { $beschreibung = $1;}
if (/\[Typ:([^\[\]]*)\]/is) { $typ = $1;}
$daten =~ /\[Dateien:\s*([^\[\]]*)\s*\]/si; 
($dateien=$1)=~ s/\n/ /g;
@dateien=split(" ",$dateien);

# Erste Datei ist Hauptdatei
$hauptdatei=@dateien[0];


$tmpname=time();
$localdir=$ENV{"PWD"};
mkdir ($name."_html",0755);
# Dateien kopieren
system("cp -f ".$lpfad."misc/.latex2html-init .");
system("cp -f ".$lpfad."misc/mohead.tex .");

#open(IN,"< ".$lpfad."misc/mohead.tex");
#open(OUT,"> mohead.tex");
#while (<IN>)
#{  
#    $_ =~ s/(\\newcommand{\\moVariablenName}{)[^{}]*}/$1$name}/;
#    print OUT $_;
#}
#close(OUT);
#close(IN);

# Temporaeres LaTeX-File erzeugen
open(OUT,"> ".$tmpname.".tex");
print OUT "\\documentclass[12pt]{article}\n";
print OUT "\\input{mohead}\n";
print OUT "\\begin{document}\n";
print OUT "\\input{".$hauptdatei."}\n";
print OUT "\\end{document}\n";
close(OUT);

# Latex2Html aufrufen
print "Wandle Inhalt mit latex2html:\n";
$command= "latex2html -no_navigation  -no_math -html_version 3.2 ".
    "-verbosity 0 -split 0 -address \"\" -info \"\" ".$tmpname.".tex  > /dev/null";
#$command= "latex2html -no_navigation  -no_math -html_version 3.2 ".
#    "-verbosity 0 -split 0 -address \"\" -info \"\" -debug -verbosity 9 tmp.tex ";
system($command);

# Dateiinhalt herauslesen, Bilder kopieren
open(IN,"< ".$tmpname."/index.html");

open(OUT,"> ".$name."_html/index.html");

print OUT "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print OUT "<html>\n<head>\n";
print OUT "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n";
print OUT "<title>Mathematik-Online-Testseite: ".$name.": ".
    $beschreibung."</title>\n";
print OUT "</head>\n<body bgcolor=\"#FFFFFF\">\n";
print OUT "<table width=\"100%\" border=\"0\">";
print OUT "<tr><td>Mathematik-Online-Testseite (".$name."):</td></tr>\n";
print OUT "<tr><td align=\"center\"><h1>".
    $beschreibung."</h1></td></tr></table>\n";
print OUT "<hr />\n";

if ($typ =~ /interaufg/i) {
    print OUT "<form action=\"./index.html\" method=\"post\">\n";
}

$in_body=0;
while (<IN>) {
    if ($in_body){
	if (!(/.*\/BODY.*>/))
	{
	    s/<BR><HR>//;
#	    s/SRC=\"(.*)\"/SRC=\"$wpfad$name\/$name$nummer\/\1\"/g;
	    s/A HREF=\"tmp.html/A HREF=\"/g;
	    s/<tex2html_col_mark>/<\/TD><TD>/g;
	    s/<tex2html_row_mark>/<\/TD><\/TR><TR><TD>/g;
	    print OUT $_; 
	}
	else {
	    $in_body=0;
	}
    }
    else
    {
	if (/<.*BODY.*>/){
	    $in_body=1;
	}
    }
}

if ($typ =~ /interaufg/i) 
{
    print OUT "<BR />\n<input type=\"submit\" value=\" Daten senden \">&nbsp; &nbsp;\n";
    print OUT "</form>\n";
}


print OUT "<hr />\n</body>\n</html>\n";

close(OUT);
close(IN);
system("cp ".$tmpname."/*.{gif,png} ".$name."_html/ 2> /dev/null");

# Download-Daeteinamen feststellen und kopieren
if ($daten =~ /\[Downloaddateien:\s*([^\[\]]*)\s*\]/si) {
    ($ddateien=$1)=~ s/\n/ /g;
@ddateien=split(" ",$ddateien);

foreach $datei (@ddateien)
{
    system("cp ".$datei." ".$name."_html/ 2> /dev/null"); 
}
}

chdir $localdir;
# Erzeugte Dateien wieder entfernen
system("\\rm -rf ".$tmpname);
system("\\rm -f ".$tmpname.".tex");
system("\\rm -f .latex2html-init");
#system("\\rm -f mohead.tex");










