#!/usr/bin/perl -w use CGI qw/:standard :netscape/; use strict; use CGI::Carp qw/fatalsToBrowser/; use DBI; ############################################### # Copyright 1999 Dr Thomas Wieland # wieland@thwieland.de # für www.perl-stammtisch.de ############################################### # Hintergrundfarbe my $bgrdcl = '#EEEEEE'; # Titel der Seite my $page_title = "Linkseite"; # Bild für die Überschrift my $title_gif = "linklogo.gif"; # Bild für den Homepagebutton my $homepage_gif = "homepage.gif"; # Pfad zu den Bildern ausgehend vom Root Verzeichnis des httpd my $icons = '/~wieland/eins/images'; # Adresse des Adminskripts (zum Löschen von Einträgen) my $adminurl = 'http://localhost/~wieland/eins/cgi-bin2/mydir/kat_admin.cgi'; # Url der Homepage my $homeurl = 'http://localhost/~wieland/eins'; # Variablen für Datenbank my ($dbh, $sth, $sql, $row); my $db_type = 'mysql'; my $port = 0; my $hostname = "localhost"; my $db_name = 'perl_stammtisch'; my $DB_DSN = "DBI:$db_type:$db_name:$hostname:$port:"; my $DB_USER = "Benutzer für die Datenbank"; my $DB_PASSWD = "Password für dei Datenbank"; my $Tab_Links = 'links'; my $Tab_Link_Kat = 'link_kat'; # Falls Parameter admin zum Adminskript umlenken if (defined param('admin')) { print redirect(-uri => $adminurl); } else { &http_header; my %kat = undef; # Datenbank Verbindung herstellen $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD, { RaiseError => 1 } ); # Zeile mit Links zu den einzelnen Kategorien erzeugen $sql = qq[ SELECT * FROM $Tab_Link_Kat ORDER BY gruppe ]; $sth = $dbh->prepare($sql); $sth->execute(); print "
|"; while ($row = $sth->fetchrow_arrayref) { print b(" "), a({href => "#".$row->[1]},$row->[1]), b(" |"); $kat{"$row->[1]"} = $row->[0]; } print "
",br; $sth->finish; my $kategorie = undef; foreach $kategorie (sort(keys %kat)) { # Überschrift und Anker print "
\n",a({name => $kategorie}),h3($kategorie),"\n"; # passende Einträge holen und ausgeben $sql = qq[ SELECT url, name, stamp FROM $Tab_Links WHERE grpid = '$kat{$kategorie}' ORDER by name]; $sth = $dbh->prepare($sql); $sth->execute(); while ($row = $sth->fetchrow_hashref) { print a({href => $row->{'url'}, target => '_blank'}, $row->{'name'})," ",$row->{'stamp'},br,"\n"; } print "
\n",hr,"\n"; } $sth->finish; # Datenbank Verbindung lösen $dbh->disconnect(); # Datenbankverbindung lösen. print "
\n", "Wir möchten ausdrücklich betonen, daß wir keinerlei Einfluß auf die ", "Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren ", "wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf ", "der gesamten Website inkl. aller Unterseiten. Diese Erklärung gilt für alle ", "auf der Homepage ausgebrachten Links und für alle Inhalte der Seiten, zu denen ", "Links oder Banner führen.\n
\n"; print end_html(); } # Unterprogramme ############################################### sub http_header { ############################################### print header(), start_html(-BGCOLOR => $bgrdcl, -title => $page_title, -author => 'wieland@thwieland.de', -meta=>{'keywords' => 'Perl-Stammtisch', 'copyright'=>'copyright 1999 Dr. Thomas Wieland'} )."\n"; print center(table({-border => 0, -width => '95%'}, TR(td(img{-src => "$icons/$title_gif", -alt => 'Linkseite Logo'}), td(a({-href=> $homeurl}, img{-src => "$icons/$homepage_gif", -alt => 'Zur Homepage', -border => 0} ) ) ) ) ),hr,"\n"; }