#!/usr/local/gnu/bin/perl


#
# erzeugt ein Formular, das eine Veranstaltung enthält
#

require "./veranstaltungen.ph";

print "Content-Type: text/html\n";
print "\n";
print "<HTML>\n";

# QUERY_STRING auswerten
if ($ENV{QUERY_STRING} =~ /(.*)=(.*)/) {
  $ACTION=$1;
  $UID=$2;
} else {
  print "<HEAD><TITLE>Ung&uuml;ltige Eingabe</TITLE></HEAD><BODY>\n";
  print "<H1>Ung&uuml;ltiger Zugriff</H1>\n";
  print "<P>Es wurde keine interne, eindeutige Nummer f&uuml;r diesen\n";
  print "Eintrag mitgeliefert. Die Anfrage wird abgebrochen.</P>\n";
  print "</BODY></HTML>\n";
  exit;
}

if ($ACTION eq "change") {
  $title = "Veranstaltung editieren";
} elsif ($ACTION eq "delete") {
  $title = "Veranstaltung l&ouml;schen";
} elsif ($ACTION eq "new") {
  $title = "Veranstaltung hinzuf&uuml;gen";
} else {
  print "<HEAD><TITLE>Ung&uuml;ltiger Zugriff</TITLE></HEAD><BODY>\n";
  print "<H1>Ung&uuml;ltiger Zugriff</H1>\n";
  print "<P>Es wurde kein g&uuml;ltiger Modus f&uuml;r diesen\n";
  print "Eintrag mitgeliefert (gelieferter Modus=$ACTION). Die Anfrage\n";
  print "wird abgebrochen.</P>\n";
  print "</BODY></HTML>\n";
  exit;
}

print "<HEAD>\n";
print "  <TITLE>$title</TITLE>\n";
print "  <META http-equiv=\"expires\" content=\"0\">\n";
print "</HEAD>\n";
print "<BODY>\n\n";
print "<H1>$title</H1>\n\n";

# Datenbank einlesen
readDatabase("veranstaltungen.db","HTML");

# Sortierte Liste der Dozenten erzeugen
sub dozSort {
  my $erg = ($DOZENTTYP{$a} cmp $DOZENTTYP{$b});
  if ($erg==0) {$erg = ($DOZENT{$a} cmp $DOZENT{$b}); }
  return $erg;
}
@DOZKEYS = sort dozSort keys %DOZENT;

if ($ACTION ne "new") {
  for ($i=0 ; $i<=$last ; ++$i) {
    last if ($UID[$i] == $UID);
  }
} else {
  $UID = "";
  $i = 1+$#UID;
}

print "<FORM ACTION=\"admin.cgi?$ACTION=$UID\" METHOD=POST>\n";

if ($ACTION ne "new") {
  # alte Werte als Hidden-Input mitsenden, dadurch kann später
  #  festgestellt werden, ob die Daten geändert wurden oder
  #  Konflikte aufgetreten sind.
  print "   <INPUT TYPE=HIDDEN NAME=OLD_NAME VALUE=\"$NAME[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_STUDIUM VALUE=\"$STUDIUM[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_THEMA VALUE=\"$THEMA[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_TYP VALUE=\"$TYP[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_BESCHREIBUNG VALUE=\"$BESCHREIBUNG[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_RAUM VALUE=\"$RAUM[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_ZEIT VALUE=\"$ZEIT[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_SEMESTER VALUE=\"$SEMESTER[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_DOZENT_KUERZEL VALUE=\"$DOZENT_KUERZEL[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_URL VALUE=\"$URL[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_URL_E VALUE=\"$URL_E[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_UEBUNG_KUERZEL VALUE=\"$UEBUNG_KUERZEL[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_UEBUNG_RAUM VALUE=\"$UEBUNG_RAUM[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_UEBUNG_ZEIT VALUE=\"$UEBUNG_ZEIT[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_UEBUNG_URL VALUE=\"$UEBUNG_URL[$i]\"></INPUT>\n";
  print "   <INPUT TYPE=HIDDEN NAME=OLD_UEBUNG_URL_E VALUE=\"$UEBUNG_URL_E[$i]\"></INPUT>\n";
}
print "   <TABLE BORDER CELLPADDING=5>\n";
print "     <TR>\n";
print "        <TD VALIGN=TOP><STRONG>Name der Veranstaltung:</STRONG></TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=NAME SIZE=40 VALUE=\"$NAME[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>Informatik A</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP><STRONG>Grund-/Hauptstudium:</STRONG></TD>\n";
print "        <TD VALIGN=TOP><SELECT NAME=STUDIUM>\n";
foreach $key ("Grundvorlesung","Wahlpflichtveranstaltung") {
  if ($STUDIUM[$i] eq $key) {
    print "            <OPTION SELECTED>$key</OPTION>\n";
  } else {
    print "            <OPTION>$key</OPTION>\n";
  }
}
print "        </SELECT></TD>\n";
print "        <TD VALIGN=TOP><EM>Grundvorlesung</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP><STRONG>Typ der Veranstaltung:</STRONG></TD>\n";
print "        <TD VALIGN=TOP><SELECT NAME=TYP>\n";
for ($nr=1 ; $nr<=$TYP_CNT ; ++$nr) {
  if ($TYP[$i] eq $TYPDESC[$nr]) {
    print "            <OPTION SELECTED>$TYPDESC[$nr]</OPTION>\n";
  } else {
    print "            <OPTION>$TYPDESC[$nr]</OPTION>\n";
  }
}
print "        </SELECT></TD>\n";
print "        <TD VALIGN=TOP><EM>Vorlesung</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP><STRONG>Semester:</STRONG></TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=SEMESTER VALUE=\"$SEMESTER[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>WS 1999/2000</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP><STRONG>Dozent:</STRONG></TD>\n";
print "        <TD VALIGN=TOP>\n";
@MANY = split(/ /, $DOZENT_KUERZEL[$i]);
for ($j=0 ; $j<4 ; ++$j) {
  print "        <SELECT NAME=DOZENT>\n";
  if ($j>0) {
    if ($MANY[$j] eq "") {
      print "       <OPTION SELECTED VALUE=\"\">kein weiterer Dozent</OPTION>\n";
    } else {
      print "       <OPTION VALUE=\"\">kein weiterer Dozent</OPTION>\n";
    }
  }
  foreach $key (@DOZKEYS) {
    if ($MANY[$j] eq $key) {
      print "       <OPTION SELECTED VALUE=\"$key\">$DOZENT{$key}</OPTION>\n";
    } else {
      print "       <OPTION VALUE=\"$key\">$DOZENT{$key}</OPTION>\n";
    }
  }
  print "     </SELECT>\n";
}
print "        </TD>\n";
print "        <TD VALIGN=TOP><EM>Vornberger, Oliver</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>&Uuml;bergreifendes Thema:</TD>\n";
print "        <TD VALIGN=TOP><SELECT NAME=THEMA>\n";
foreach $thema (@THEMADESC) {
  if ($thema eq $THEMA[$i]) {
    print "            <OPTION SELECTED>$thema</OPTION>\n";
  } else {
    print "            <OPTION>$thema</OPTION>\n";
  }
}
print "        </SELECT></TD>\n";
print "        <TD VALIGN=TOP><EM>Algorithmen</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>Kurze Beschreibung:</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=BESCHREIBUNG SIZE=40 VALUE=\"$BESCHREIBUNG[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>Einf&uuml;hrung in die Programmierung, Algorithmen, abstrakte Datentypen, ...</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>Raum:</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=RAUM SIZE=40 VALUE=\"$RAUM[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>32/102</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>Zeit:</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=ZEIT SIZE=40 VALUE=\"$ZEIT[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>Mo,Di 14:15-15:45</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>URL zu Vorlesungsseiten (deutsch):</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=URL SIZE=40 VALUE=\"$URL[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>http://www-lehre.informatik.uni-osnabrueck.de/~ainf/</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>URL zu Vorlesungsseiten (englisch):</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=URL_E SIZE=40 VALUE=\"$URL_E[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>&Uuml;bungsleiter:</TD>\n";
print "        <TD VALIGN=TOP>\n";
@MANY = split(/ /, $UEBUNG_KUERZEL[$i]);
for ($j=0 ; $j<2 ; ++$j) {
  print "        <SELECT NAME=UEBUNG>\n";
  if ($j==0) {
      print "          <OPTION VALUE=\"\">keine &Uuml;bungen</OPTION>\n";
  } else {
    if ($MANY[$j] eq "") {
      print "       <OPTION SELECTED VALUE=\"\">kein weiterer &Uuml;bungsleiter</OPTION>\n";
    } else {
      print "       <OPTION VALUE=\"\">kein weiterer &Uuml;bungsleiter</OPTION>\n";
    }
  }
  foreach $key (@DOZKEYS) {
    if ($MANY[$j] eq $key) {
      print "       <OPTION SELECTED VALUE=\"$key\">$DOZENT{$key}</OPTION>\n";
    } else {
      print "       <OPTION VALUE=\"$key\">$DOZENT{$key}</OPTION>\n";
    }
  }
  print "     </SELECT>\n";
}
print "        </TD>\n";
print "        <TD VALIGN=TOP><EM>M&uuml;ller, Olaf</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>&Uuml;bungs-Raum:</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=UEBUNG_RAUM SIZE=40 VALUE=\"$UEBUNG_RAUM[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>31/449a</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>&Uuml;bungs-Zeit:</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=UEBUNG_ZEIT SIZE=40 VALUE=\"$UEBUNG_ZEIT[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>Do 08:30 und 14:15</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>URL zu &Uuml;bungsseiten (deutsch):</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=UEBUNG_URL SIZE=40 VALUE=\"$UEBUNG_URL[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>http://www-lehre.informatik.uni-osnabrueck.de/~ainf/</EM></TD>\n";
print "     </TR><TR>\n";
print "        <TD VALIGN=TOP>URL zu &Uuml;bungsseiten (englisch):</TD>\n";
print "        <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=UEBUNG_URL_E SIZE=40 VALUE=\"$UEBUNG_URL_E[$i]\"></INPUT>\n";
print "        <TD VALIGN=TOP><EM>http://www-lehre.informatik.uni-osnabrueck.de/~ainf/</EM></TD>\n";

print "     </TR><TR><TD COLSPAN=3 ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE=\"$title\"></INPUT>\n";
print "     </TR>\n";
print "  </TABLE>\n";
print "</FORM>\n";

print "</BODY>\n";
print "</HTML>\n";
