#!/usr/bin/perl
#require "perlwww.lib";
#require "cgi-lib.pl";
use CGI qw/:standard :html3/;
use CGI::Carp qw/fatalsToBrowser/;
######################################################################
#
#  Link-Script fuer Staedteverzeichnis
#  (verhindert das Anzeigen aller Links zu den jeweiligen Staedten)
#
#  (c) 1999 by Maik Frantsche & Sven Brunner
#
######################################################################
#
#  Variablen werden per GET oder in der URL-Zeile wie folgt
#  uebergeben:
#
#       "../cgi-bin/link.pl?xx&y"
#
#       "xx" ist immer zweistellig und entspricht dem
#            vorderen Teil der Datenbank eines Bundeslandes
#            dieser Parameter muss nur in der Uebersicht
#            der Bundeslaender festgelegt werden, fuer die
#            Staedteauflistung wird er automatisch uebernommen
#
#       "y"  kann mehrstellig sein und entspricht der
#            Zeile, in der die Infos zur jew. Stadt stehen
#            dieser Parameter wird automatisch generiert
#
#            Die Datenbanken muessen in der ersten Spalte
#            den Namen der Stadt und nach einem unten fest-
#            zulegenden Zeichen ($DateiSpaltenTrenner) den
#            korrekten Link inkl. "http://" enthalten,
#            weitere Spalten werden noch nicht unterstuetzt.
#
#            Desweiteren kann man unten den Seitentitel
#            ($StaedtelistenTitel) und die Endung der Datenbanken
#            festlegen ($DatenDateiEndung).
#
#            Ausserdem muss man natuerlich noch das Aussehen
#            Staedteliste anpassen, das soll jedoch den o.g.
#            Personen vorbehalten bleiben ... d;>
#
######################################################################
# "feste" Variablen
$StaedtelistenTitel = "Au Pair Box Links";
$DateiSpaltenTrenner = ":X:";

#$DBDIR ='';
$DBDIR='/usr/home/georg/lists/boxlink/';


# alle Variablen aufteilen und zwischenspeichern
# die erste steht fuer das Bundesland (=Datei),
# die zweite fuer die Stadt (=Zeile in Datei),
# falls sie nicht "0" ist!

if( $ENV{QUERY_STRING} eq "" )
{
print "Content-type: text/html\n\n";
print "<html>\n<head>\n<title>\³\|\|Fehler AP Box Link</title>\n";
print "</head>\n<body bgcolor=white>Fehler<br><a href=\"javascript:history.back()\">Zur\&uuml\;ck</a></body></html>\n\n";
exit;
}
else
{
@LandStadt = split(/&/,$ENV{'QUERY_STRING'});
}

# pruefen, ob die Staedte aufgelistet werden sollen oder
# zu der ausgewaehlten Stadt weitergeleitet werden soll

if($LandStadt[1] ne "0")
   {
# es wird zur ausgewaehlten Stadt weitergeleitet
    &weiterleiten;
   }
else
   {
    # Staedte werden aufgelistet
    &Staedteliste;
   }

# Unterprogramm - "Staedteliste"
# Staedte des ausgewaehlten Bundeslandes auflisten
sub Staedteliste
   {
    # Kopf der HTML-Seite schreiben
    # (evtl. auch aus Template auslesen oder
    #  mit ServerSideIncludes ?!?)
#####mark2mark
#####Schöner ists mit variablen like $include.txt ==> da kann man dann auch andere länder includieren!
$tmpl = param("tmpl");
my @PAGETOP;
open(INPUT, "/home/sites/site52/web/include/$tmpl.txt");
            @PAGETOP = <INPUT>;
            close(INPUT);
            $PAGETOP = "@PAGETOP";
my @PAGENAV;
open(INPUT, "/home/sites/site52/web/include/$tmpl.nav");
            @PAGENAV = <INPUT>;
            close(INPUT);
            $PAGENAV = "@PAGENAV";

print "Content-type: text/html\n\n";
print "$PAGETOP";
print "$PAGENAV";
close(INPUT);
print "<table width=\"100\%\" align=\"center\" cellpadding=\"2\">";
#So tätsgehen
   # print "Content-type: text/html\n\n";
   # print "<html>\n<head>\n<title>";
   # print $StaedtelistenTitel;
   # print "</title>\n<link rel=stylesheet type=text/css href=../stadt.css>\n</head>\n\n<body bgcolor=#FFAF19>\n\n";
   # print "<P>&nbsp;</P>\n<table border=0 width=100% cellpadding=0 cellspacing=0>\n";
#Ende
#######mark2markENDE

    # Datei des ausgew. Bundeslandes oeffnen
    open(STAEDTE, "<".$DBDIR.$LandStadt[0].".csv") or die "can't open  file";
    # alle Staedte zeilenweise ausgeben
    # (evtl. mehrspaltig, um Platz zu sparen)
    # erste Zeile mit allgemeinen Informationen ueberspringen oder
    # auslesen und entsprechend formatiert ausgeben
    $Zeile = 0;
    $Zeilenumbruch = 0;

    while(<STAEDTE>)
       {
        $Zeile++;
        @Spalte = split(/$DateiSpaltenTrenner/,$_);
        if($Spalte[0] ne "")
           {
            if($Zeilenumbruch == 0)
               {
                print "<tr>";
               }
            print "<td valign=\"top\" width=\"50%\"><li><a href=\"link.pl?".$LandStadt[0]."&".$Zeile."\" target=\"_blank\">";
            print $Spalte[0]."</a></li> $Spalte[2]</td>";
            if($Zeilenumbruch == 1)
               {
                print "</tr>\n";
               }
            $Zeilenumbruch = 1 - $Zeilenumbruch;
           }
        }

# abfrage ob 0 oder 1 ... tr td td tr





    # Datei des ausgew. Bundeslandes schliessen (!)
    close(STAEDTE);

    # bei mehrspaltiger Ausgabe evlt. Leerfelder fuellen


    # Fuss der HTML-Seite schreiben
    # (evtl. auch aus Template auslesen oder
    #  mit ServerSideIncludes ?!?)
#########mark2mark

######print "</table>\n</body>\n\n</html>";
print "</table>";
my @PAGEBOTTOM;
open(INPUT, "/home/sites/site52/web/include/linkbottom.txt");
            @PAGEBOTTOM = <INPUT>;
            close(INPUT);
            $PAGEBOTTOM = "@PAGEBOTTOM";


print "$PAGEBOTTOM";
close(INPUT);


   }
############Endemark2mark

# Unterprogramm - "weiterleiten"
# auf die ausgewaehlte Stadt weiterleiten

sub weiterleiten
   {
    # Datei des ausgew. Bundeslandes oeffnen
    open(STAEDTE, "<".$DBDIR.$LandStadt[0].".csv") or die "can't open  file";

    # in die entsprechende Zeile springen
    # (sehr schlecht implementiert, da alle Zeilen
    #  durchlaufen und verarbeitet werden ...)
    $ZielZeile = $LandStadt[1];
    $Zeile = 0;
    while(<STAEDTE>)
       {
        $Zeile++;
        @Spalte = split(/$DateiSpaltenTrenner/,$_);
        if($ZielZeile eq $Zeile)
           {
print "Location: ", $Spalte[1], "\n\n";
            close(STAEDTE);
             exit(0);
           }

       }
   }