#!/usr/local/bin/perl

use CGI;
use Pg;
use strict;

### Variablen ###

my $superuserid = 'koestho';
my $superuserad = 'http://ancalagon.uni-muenster.de:8080';
my $dbname      = 'vv';

my $benutzer;
my $benutzercode;
my $benutzerebene;
my $semester;

my $htmldatei;
my $htmltitel;

my $conn;
my $result;
my @row;

my %FORM;

my $feld_schluessel		= 0;
my $feld_titel			= 1;
my $feld_autoren		= 2;
my $feld_status			= 3;
my $feld_dokinhalt		= 4;
my $feld_dozent			= 5;
my $feld_typ			= 6;
my $feld_name			= 7;
my $feld_codozenten		= 8;
my $feld_belegnummer		= 9;
my $feld_uebcodozenten		= 10;
my $feld_uebbelegnummer		= 11;
my $feld_zeit			= 12;
my $feld_ort			= 13;
my $feld_beginn			= 14;
my $feld_zuordnung		= 15;
my $feld_hoererkreis		= 16;
my $feld_inhalt			= 17;
my $feld_vorkenntnisse		= 18;
my $feld_literatur		= 19;
my $feld_leistnachweis		= 20;
my $feld_uebschein		= 21;
my $feld_semschein		= 22;
my $feld_anschluss		= 23;
my $feld_anmeldung		= 24;
my $feld_vorbesprechung		= 25;
my $feld_sonstiges		= 26;
my $feld_wwwadresse		= 27;
my $feld_sprechstunde		= 28;

### Funktionen ###

sub write_html_beginning_to_outputfile
{
    open (OUTPUT, ">$htmldatei") || die "Cannot open output file $htmldatei.";
   
    print OUTPUT "<HTML>\n";

    print OUTPUT "<HEAD>\n";
    print OUTPUT "<TITLE>WVZ - $htmltitel</TITLE>\n";
    print OUTPUT "</HEAD>\n";

    print OUTPUT "<BODY BACKGROUND=\"\" BGCOLOR=\"#ffffff\" TEXT=\"#000000\" LINK=\"#0000ff\" VLINK=\"#800080\" ALINK=\"#ff0000\">\n";

    print OUTPUT "<H1>";
    print OUTPUT "<FONT COLOR=\"red\">W</FONT>";
    print OUTPUT "<FONT COLOR=\"green\">V</FONT>";
    print OUTPUT "<FONT COLOR=\"blue\">Z</FONT>";
    print OUTPUT "- $htmltitel";
    print OUTPUT "</H1>";
    print OUTPUT "<HR>\n<P>\n";    
}

sub write_html_ending_to_outputfile
{
    print OUTPUT "<P>\n<HR>\n";

    print OUTPUT "<A HREF=\"$superuserad\">Zur&uuml;ck zur Semeseterauswahl</A>\n";
    
    print OUTPUT "</BODY>";
    print OUTPUT "</HTML>";

    close (OUTPUT);
}

&write_html_semesteruebersicht_to_outputfile ();

sub write_html_semesteruebersicht_to_outputfile ()
{
    ### Verbindung mit der Datenbank herstellen ###
    $conn = Pg::connectdb ("dbname=$dbname");
    die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;

    ### Einlesen aller Veranstaltungen vorbereiten ###
    $result = $conn->exec ("SELECT * FROM semester");
    die $conn->errorMessage unless PGRES_TUPLES_OK eq $result->resultStatus;

    $htmldatei = 'index.prehtml';
    $htmltitel = 'Semesterauswahl';
    &write_html_beginning_to_outputfile ();

    ### Tabellenkopf ausgeben ###
    print OUTPUT "W&auml;hlen Sie bitte ein Semester aus!\n";

    ### Liste aller Semester anzeigen ###\
    print OUTPUT "<UL>\n";
    while (@row = $result->fetchrow)
    {
        print OUTPUT "<LI><A HREF=\"$superuserad/$row[0]/index.html\">$row[1]</A>\n";        
    }
    print OUTPUT "</UL>\n";

    ### Link f$uuml;r Superuser setzen ###
    print OUTPUT "Nur fuer WVZ-Superuser:<BR>\n";
    print OUTPUT "<A HREF=\"$superuserad/cgi-bin/semestereinrichten.cgi\">Neues Semester einrichten</A>\n";

    &write_html_ending_to_outputfile ();

    ### alte Datei durch neue Datei ersetzen ###
    rename 'index.prehtml', 'index.html';

    ### !!! alternativ mit system 'UNIX-Command' !!! ###
}
