#![]{perl}[]
#
# Huuh, we are perl!
#
# Copyright (c) 1994 by Hochschulrechenzentrum der Universit"at Gie"sen
# All rights reserved.
#
# Author: Markus Porto
#         Markus Porto@physik.uni-giessen.de
#
# This software may be freely copied, modified, and redistributed
# provided that this copyright notice is preserved on all copies.
#
# You may not distribute this software, in whole or in part, as part of
# any commercial product without the express consent of the author.
#
# There is no warranty or other guarantee of fitness of this software
# for any purpose. It is provided solely "as is".
#
# Diese Datei wird vom Kochbuch des TeX--Service benutzt.
#
# Dazu wird die "ubergebene Environmentvariable $CONTENT_LENGTH ausgewertet
# und die Eingabe dann von STDIN gelesen.
# Zus"atzlich wird die Environmentvariable $QUERY_STRING ausgwertet.
#
# Parameter:
# menu=
#  Welches Men"u kochen
# icon=
#  Welches Icon anzeigen
#
# Revision: 30. September 1994
#

# Behandlung des TERM--Signals
$SIG{'TERM'}= handler;

# Datum und Uhrzeit
$date= `[]{cgibin}[]/tex/germandate`;
$time= `[]{cgibin}[]/tex/germantime`;

# Neuladen verhindern
if( $ENV{"CONTENT_TYPE"} eq "" )
{
  print `[]{cgibin}[]/tex/reload`;
  exit 0;
}

# der Typ des Textes
print "Content-type: text/html\n\n";

# Zerlegen der Eingabe in einzelne Zeilen
read( STDIN, $content, $ENV{"CONTENT_LENGTH"});
@items= split( /&/, $content);
foreach $item ( @items)
{
  local( $name, $value)= split( /=/, $item);
  
  $value =~ tr/\+/ /;
  $value =~ s/%([\da-f][\da-f])/pack("C",hex($1))/gei;
  $values{$name}= $value;
}
@items= split( /&/, $ENV{"QUERY_STRING"});
foreach $item ( @items)
{
  local( $name, $value)= split( /=/, $item);
  
  $value =~ tr/\+/ /;
  $value =~ s/%([\da-f][\da-f])/pack("C",hex($1))/gei;
  $values{$name}= $value;
}

# das Verzeichnis
$dirnamewww= $ENV{"PATH_INFO"};
$dirname= $ENV{"PATH_TRANSLATED"};

# Eingabedatei lesen
if( ($values{"menu"} ne "") && ($values{"menu"} ne "standard"))
{
  ($subdirname= $values{'menu'}) =~ s/\d.*//;
  open( FILE, $dirname . "/kitchen/" . $subdirname . "/" . $values{'menu'} . ".tex");
  @menu= <FILE>;
  close( FILE);
}
else
{
  open( FILE, $dirname . "/kitchen/standard.tex");
  @menu= <FILE>;
  close( FILE);
}

# in eine Zeile
for( $i= 0, $menuline= ""; $i <= $#menu; $i++)
{
  $menuline .= $menu[$i];
}

# letztes return weg
chop $menuline;

# Text erzeugen
open( FILE, $dirname . "/kitchen.html");
while( <FILE>)
{
  s/<INPUTMENU>/$menuline/;
  
  print;
}
close( FILE);
