#!/usr/bin/perl # ### ADMIN SCRIPT FOR ULTIMATE GUESTBOOK ## # # Ultimate Guestbook is copyright Infopop Corporation # # User assumes all liability that # may result due to installation problems and/or # content posted on your guestbook. User must also # keep all copyright notices on applicable pages. # # For more info on the Ultimate Guest Book, # see http://www.scriptkeeper.com or http://www.infopop.com # ################################################################ print ("Content-type: text/html\n\n"); eval { ($0 =~ m,(.*)/[^/]+,) && unshift (@INC, "$1"); # Get the script location: UNIX / or Windows / ($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1"); # Get the script location: Windows \ #substitute all require files here for the file require "gb_variables.pl"; require "ugb_lib.pl"; require "gb_styles.pl"; }; if ($@) { print "Fehler beim Aufruf der Datei(en): $@\n"; print "Stellen Sie sicher, daß diese Datei(en) vorhanden ist/sind, die Zugriffsrechte und Systempfade korrekt eingestellt sind."; exit; } &ReadParse; $action = $in{'action'}; if ($action eq "edit") { &Edit; } if ($action eq "styles") { &Styles; } if ($action eq "genvars") { &GenVars; } if ($action eq "setgenvars") { &SetGenVars; } if ($action eq "enterstyles") { &EnterStyles; } if ($action eq "enteredit") { &EnterEdit; } if ($action eq "sendstyles") { &SendStyles; } if ($action eq "entergenvar") { &EnterGenVar; } if ($action eq "env") { &Env; } if ($action eq "mdelete") { &MDelete; } if ($action eq "deleteentry") { &DeleteEntry; } sub DeleteEntry { &ValidatePW; @entries = &OpenFile("$GB_NON_CGI_Path/entries.file"); foreach $uno(@entries) { @thisline = split(/\|\|/, $uno); chomp($thisline[6]); unless ($thisline[6] eq "$in{'number'}") { push(@revised, $uno); } } &Lock("lock.file"); open(REVISED, ">$GB_NON_CGI_Path/entries.file"); foreach $one(@revised) { chomp($one); print REVISED "$one\n"; } close(REVISED); &Unlock("lock.file"); #send onscreen confirmation print< $GBTitle

Vielen Dank! Der von Ihnen ausgewählte Eintrag wurde gelöscht. Wir leiten Sie jetzt zur Übersicht weiter, bitte warten Sie zwei Sekunden.

Klicken Sie hier, wenn Sie nicht länger warten möchten oder Ihr Browser keine automatische Weiterleitung unterstützt.

ForwardHTML } sub MDelete { &StandardHTML("Diese Funktion wird in einer der folgenden Versionen verfügbar sein. Sie können einzelne Beiträge direkt aus dem Gästebuch löschen."); } sub EnterEdit { &ValidatePW; $PageTitle = "Eintrag löschen"; &HEADERHTML; print< Geben Sie die ID des zu löschenden Eintrags ein.

ID Nummer:



Ultimate Guestbook, Version 1.1
© Infopop Corporation, 1999-2000
Deutsche Übersetzung von thinkfactory.
THIS } #end Enter Edit sub ValidatePW { if ($in{'setpw'} ne "true") { &CheckPW; if ($check ne "true") { &StandardHTML("Die eingegebenen Kennwörter sind falsch - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); exit; } } } sub EnterGenVar { if ($CopyrightWording ne "") { $CopyrightWording = &UnHTML($CopyrightWording); } if ($AddEntryInfo ne "") { $AddEntryInfo = &UnHTML($AddEntryInfo); } if ($IntroText ne "") { $IntroText = &UnHTML($IntroText); } if ($ConfirmAddWording ne "") { $ConfirmAddWording = &UnHTML($ConfirmAddWording); } $Password1 = $in{'password1'}; $Password2 = $in{'password2'}; &ValidatePW; if ($GB_CGI_Path eq "") { @cgipath = split(/\//, $ENV{'SCRIPT_FILENAME'}); pop(@cgipath); $GB_CGI_Path = join("\/", @cgipath); $VariablesPath = $GB_CGI_Path; } if ($GB_NON_CGI_Path eq "") { $GB_NON_CGI_Path = "$ENV{'DOCUMENT_ROOT'}/uguestbook"; } if ($NonCGIURL eq "") { $NonCGIURL = "http://$ENV{'HTTP_HOST'}/uguestbook"; $CGIURL = "http://$ENV{'HTTP_HOST'}/cgi-bin"; $BBEmail = "$ENV{'SERVER_ADMIN'}"; } if ($Censor eq "ON") { $CensorON = "CHECKED"; } else { $CensorOFF = "CHECKED"; } if ($TimeFormat eq "24HR") { $Time24HR = "CHECKED"; } else { $TimeAMPM = "CHECKED"; } if ($DateFormat eq "Euro") { $DateEuro = "CHECKED"; } elsif ($DateFormat eq "EuroExpanded") { $DateEuroX = "CHECKED"; } elsif ($DateFormat eq "USExpanded") { $DateUSX = "CHECKED"; } else { $DateUS = "CHECKED"; } if ($Field2Hyper eq "email") { $F2HyperEmail = "CHECKED"; } elsif ($Field2Hyper eq "url") { $F2HyperURL = "CHECKED"; } else { $F2HyperNone = "CHECKED"; } if ($Field3Hyper eq "email") { $F3HyperEmail = "CHECKED"; } elsif ($Field3Hyper eq "url") { $F3HyperURL = "CHECKED"; } else { $F3HyperNone = "CHECKED"; } if ($HTMLAllow eq "yes") { $HTMLyes = "CHECKED"; } else { $HTMLno = "CHECKED"; } if ($UBBCodeAllow eq "yes") { $UBBCodeyes = "CHECKED"; } else { $UBBCodeno = "CHECKED"; } $PageTitle = "Generelle Einstellungen"; &HEADERHTML; print<hier.

ABSOLUTE PFADANGABEN
Absolute Pfadangaben stellen den physischen Pfad auf Ihrem Server dar. Hierbei handelt es sich um komplette Pfadangaben. Absolute Pfade werden bei Win32/NT-Servern anders dargestellt als in UNIX-Systemen. Hier ein Beispiel für Pfadangaben unter UNIX und NT:

Für UNIX-Server:     /usr/home/yourdomain/www/cgi-bin
Für Win32/NT servers:     C:/home/yourdomain/cgi-bin

HINWEIS: Die oben gezeigten Pfade sind Beispiele, nicht Ihre Systempfade!

Wenn Sie unter Win32/NT installieren, verwenden Sie bitte die Syntax des gezeigten Beispiels (Slashs anstelle Backslashs).
Wenn Sie UGB das erste Mal installieren, werden die notwendigen kompletten oder teilweisen Pfadangaben aus Ihrem System extrahiert und bereits dargestellt. Diese Pfade müssen nicht stimmen, erleichtern Ihnen jedoch die Einrichtung.

Absoluter Pfad Ihres UGB-CGI-Verzeichnisses
Absoluter Pfad Ihres UGB - nonCGI-Verzeichnisses
Absoluter Pfad zu den Variablen-Dateien
Hier sollten Sie den gleichen Pfad wie den für das UGB-CGI-Verzeichnis verwenden.. Sollten Sie in Ihrem CGI-Verzeichnis keine Schreibrechte besitzen, legen Sie die Variablen-Dateien (UltBB.setup, forums.cgi, mods.file, Styles.file) in ein anderes Verzeichnis. Auf dieses Verzeichnis sollte man aus Sicherheitsgründen nicht mit einem Browser zugreifen können.

URLs
Bitte geben Sie hier die kompletten Hyperlinks an. Komplett bedeutet zum Beispiel http://www.yourdomain.com/cgi-bin
URL zum UGB-CGI-Verzeichnis
URL for zum UGB - nonCGI-Verzeichnis

DARSTELLUNGSOPTIONEN
Bitte füllen Sie die folgenden Felder aus, hier definieren Sie den Namen Ihres UGBs, Ihrer Homepage, Ihrer eMail-Adresse, Kopf- und Fußzeilen auf jeder Seite usw.
Ihre eMail-Adresse
Diese eMail-Adresse wird den Benutzern zur Kontaktaufnahme mit Ihnen gezeigt.
Name Ihres Gästebuchs
Name des ersten Links
Sie können zwei Links am Ende Ihres UGBs anzeigen, so z.B. der Ihrer Homepage oder einer anderen Website. Tragen Sie hier den Namen des ersten Links ein.
URL des ersten Links
Bitte geben Sie die komplette URL an (wie z.B. "http://www.scriptkeeper.de").
Name des zweiten Links
Sie können zwei Links am Ende Ihres UGBs anzeigen, so z.B. der Ihrer Homepage oder einer anderen Website. Tragen Sie hier den Namen des zweiten Links ein.
Link #2 URL
Bitte geben Sie die komplette URL an (wie z.B. "http://www.scriptkeeper.de").
Begrüssungstext
Dieser Text erscheint beim Aufruf Ihres Gästebuchs als Begrüssung Ihrer Besucher.
Eintrag hinzufügen - Text
Dieser Text erscheint auf der Seite, wo Benutzer Ihren Eintrag vornehmen.
Eintrag hinzufügen - Button
Dieser Text erscheint auf dem Button auf der Seite, wo Benutzer Ihren Eintrag vornehmen.
Bestätigung bei neuem Eintrag
Dieser Text erscheint nachdem ein Benutzer Ihrem Gästebuch einen Eintrag vorgenommen hat.
Header
Hier können Sie den Header individuell mit Texten, Grafiken oder Banner-Einblendungen gestalten.

Dieses Feld ist optional, Sie können es leer lassen.
Footer
Hier können Sie den Footer individuell mit Texten, Grafiken oder Banner-Einblendungen gestalten.

Dieses Feld ist optional, Sie können es leer lassen.
Copyright-Hinweis
Dieser Text erscheint über dem Copyright-Hinweis zu UGB selbst.

Dieses Feld ist optional, Sie können es leer lassen.

DATUM/ZEIT - OPTIONEN
UGB kann Datums- und Zeitangaben in verschiedenen Syntax darstellen. Alle Datums- und Zeitangaben basieren auf den von Ihrem Server vorgegebenen Werten. Sie können die Zeitunterschiede zwischen Ihrem Server-Standort und Ihrem persönlichen Standort im Offset-Feld ändern. Beispiel: Sie leben in an der Ostküste Amerikas, Ihr Server steht jedoch an der Westküste der USA - dann verwenden Sie die Zeitzone EST zur Anzeige, müssen jedoch zu der Server-Zeit 3 Stunden addieren (in dem Sie eine 3 in das Offset-Feld eingeben). Ist Ihr Zeitunterschied negativ, geben Sie diesen bitte auch als negative Zahl (z.B. -2) ein.
Zeitzone
Hier geben Sie Ihre aktuelle Zeitzone wie z.B. US, GMT oder EST ein. Dieses Feld können Sie leer lassen.

Dieses Feld ist optional, Sie können es leer lassen.
Server - Offset
Hier geben Sie den Zeitunterschied in Stunden zwischen der lokalen und der Zeit des Server-Standortes ein. Der Standardwert ist 0..
Format des Datums
Das europäische Format ist TT-MM-JJ, in den USA jedoch MM-TT-JJ. Erweiterte Formate zeigen den vollen Monatsnamen.
US Format (Monat-Tag-Jahr, wie z.B. 04-02-1998)
US erweitertes Format (Monat Tag, Jahr; wie z.B. April 2, 1998)
Europäisches Format (Tag-Monat-Jahr, wie z.B. 02-04-1998)
Europäisches erweitertes Format (Tag. Monat Year; wie z.B. 2. April 1998)
Format der Zeitanzeige
Sie können zwischen 12 Stunden-Format (AM/PM) oder 24-Stunden-Format wählen.
Use AM/PM Time Format
User 24-Hour Format Time (eg, 23:15)

DEFINITION DER FELDER
Im Ultimate Guestbook können Sie bis zu vier Felder zur Eingabe definieren. Das erste und das vierte Feld sind Pflichtfelder, die anderen optional.
Feld 1
Dieses feld ist ein PFLICHTFELD. In diesem Feld gibt der Besucher normalerweise seinen Namen ein.
Feld 1 Name:
Feld 1 Größe:
Feld 1 Maximale Größe:
Feld 2
Dieses Feld ist OPTIONAL. Hier gibt der Besucher normalerweise seine eMail-Adresse an. Diesem Feld kann eine erweiterte Funktionalität zugewiesen werden - siehe rechts.
Feld 2 Name:
Feld 2 Größe:
Feld 2 Maximale Größe:

Diesem Feld kann eine Hyperlink-Funktion zugewiesen werden:

Dieses Feld enthält eine eMail-Adresse
Dieses Feld enthält eine URL-Adresse
Keine Hyperlink-Funktion

Feld 3
Dieses Feld ist OPTIONAL. Hier gibt der Besucher normalerweise seine Homepage-Adresse an. Diesem Feld kann eine erweiterte Funktionalität zugewiesen werden - siehe rechts.
Feld 3 Name:
Feld 3 Größe:
Feld 3 Maximale Größe:

Diesem Feld kann eine Hyperlink-Funktion zugewiesen werden:

Dieses Feld enthält eine eMail-Adresse
Dieses Feld enthält eine URL-Adresse
Keine Hyperlink-Funktion

Feld 4
Dieses Feld ist ein PFLICHTFELD. Hier gibt der Besucher normalerweise seinen Kommentar in das Gästebuch ein.
Feld 4 Name:

ZUSÄTZLICHE FUNKTIONEN
Hier können Sie weitere Einstellungen zu Ihrem UGB vornehmen.
Zensur
Mit dieser Option können Sie unerwünschte Begriffe oder Worte in Ihrem UGB zensieren, diese werden durch Sternchen ersetzt.
 
Ja Nein
Zensierte Begriffe
Tragen Sie hier alle Worte oder Begriffe ein, die zensiert werden sollen. Benutzen Sie keine Kommas, trennen Sie die Worte einfach durch einen Leerschritt. Beachten Sie, daß Worte die einen Teil eines zensierten Wortes beinhalten, zensiert werden. Um einzelne Begriffe genauer zu zensieren, setzen Sie diese in spitze Klammern. So wird das Wort {Doof} als "****" dargestellt, Doofkopf jedoch nicht.

Maximal angezeigte Beiträge pro Seite
Wir empfehlen maximal 25 Beiträge pro Seite
HTML-Codes in Einträgen?
Sie können Ihren Besuchern die Möglichkeit geben, in ihren Einträgen HTML-Codes zu verwenden, was aber aufgrund der möglichen Fehlfunktionen bei der Darstellung nicht empfohlen wird.
HTML-Codes erlauben
HTML-Codes nicht erlauben
UGB-Codes in Einträgen?
UGB-Codes ist die sicherere Alternative zu HTML-Codes, hier können Ihre Benutzer Hyperlinks, eMail-Links und Links zu Bildern - ohne HTML benutzen zu müssen - einfügen.
UGB-Codes erlauben
UGB-Codes nicht erlauben


Bitte identifizieren Sie sich:

(HINWEIS: Wenn Sie Ihr UGB erstmalig einrichten, verwenden Sie bitte die beiden Kennwörter,
die Sie beim ersten Aufruf der Administration vergeben haben)

Kennwort 1:
Kennwort 2:

THIS } # end EnterGenVar sr sub GenVars { $PageTitle = "Generelle Einstellungen"; &HEADERHTML; #check to see if passwords have been set if (-e "$GB_NON_CGI_Path/gbpassword.cgi") { #if username and password have been set, query for Passwords &AuthenticateWording("entergenvar"); } else { #if passwords have not been set, query user to set them now &QueryToSetPW; } } ## END genvars SR ## sub Env { print<
$BBName
Ihre Umgebungsvariablen

Hier finden Sie Informationen über die Ausstattung Ihres Servers.

Ihre Perl Version: $]

TOP foreach $envline (%ENV) { print $envline; print "
\n"; } print< BOTTOM } # END ENV SR sub HEADERHTML { print< $GBTitle

$PageTitle

HEADER } #end HEADERHTML sr sub SetGenVars { #make sure path is correct if (-e "$in{'GB_NON_CGI_Path'}/frown.gif") { if (-e "$in{'GB_NON_CGI_Path'}/gbpassword.cgi") { &CheckPW; if ($check eq "true") { &SetVars; } else { &StandardHTML("Die von Ihnen eingegebenen Kennwörter sind falsch - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } } else { &SetPW; &SetVars; } } else { &StandardHTML("Einer der von Ihnen angegebenen absoluten Pfade ist falsch - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } } ##END Set Gen Vars sub SetVars { if ($in{'Field1'} eq "") { $in{'Field1'} = "Name"; } if ($in{'Field4'} eq "") { $in{'Field4'} = "Eintrag"; } if ($in{'Field1Size'} eq "") { $in{'Field1Size'} = "20"; } if ($in{'Field1MaxSize'} eq "") { $in{'Field1MaxSize'} = "40"; } if (-e "$in{'VariablesPath'}/gbpassword.pl") { unlink($in{'VariablesPath'}/gbpassword.pl); } open (FILE, ">$in{'VariablesPath'}/gb_variables.pl") or die("Die Setup-Datei kann nicht geschrieben werden."); foreach $one(@in) { ($Name, $Value) = split ("=", $one); $Name = &decodeURL($Name); $Value = &decodeURL($Value); $Value =~ s/\@/\\@/g; $Value =~ s/"/\\"/g; if (($Name eq "AddEntryInfo") || ($Name eq "IntroText") || ($Name eq "ConfirmAddWording")) { $Value = &ConvertReturns($Value); $Value =~ s/(

)+/

/ig; } else { $Value = &EliminateReturns($Value); } if ($Name !~ /password/) { print FILE ("\$$Name = \"$Value\";\n"); } } print FILE ("1;\n"); close (FILE); chmod (0777, "$in{'VariablesPath'}/gb_variables.pl"); &StandardHTML("Vielen Dank! Ihre generellen Einstellungen wurden gespeichert. Sollten Sie UGB erstmalig konfigurieren, führen Sie jetzt bitte die Darstellungs-Optionen aus."); } #end Setvars sr sub SetPW { $Password1 = &decodeURL($in{'password1'}); $Password2 = &decodeURL($in{'password2'}); open (SETIT, ">$in{'GB_NON_CGI_Path'}/gbpassword.cgi"); print SETIT "$Password1\n"; print SETIT "$Password2"; close (SETIT); chmod (0666, "$in{'GB_NON_CGI_Path'}/gbpassword.cgi"); } #end SetPW sr sub CheckPW { if (($in{'action'} eq "entergenvar") || ($in{'action'} eq "enterstyles") || ($in{'action'} eq "sendstyles") || ($in{'action'} eq "deleteentry")){ $ThePath = "$GB_NON_CGI_Path"; } else { $ThePath = "$in{'GB_NON_CGI_Path'}"; } open (READIT, "$ThePath/gbpassword.cgi"); @pw = ; close (READIT); $Password1 = decodeURL($in{'password1'}); $Password2 = decodeURL($in{'password2'}); chomp($pw[0]); chomp($pw[1]); if (($Password1 eq "$pw[0]") && ($Password2 eq "$pw[1]")) { $check = "true"; } else { $check = "false"; } } # end CheckPW sr sub Styles { $PageTitle = "Darstellungs-Optionen"; &HEADERHTML; #check to see if passwords have been set if (-e "$GB_NON_CGI_Path/gbpassword.cgi") { #if username and password have been set, query for Passwords &AuthenticateWording("enterstyles"); } else { #if passwords have not been set, query user to set them now &QueryToSetPW; } } ## END Styles SR ## sub Edit { $PageTitle = "Eintrag löschen"; &HEADERHTML; #check to see if passwords have been set if (-e "$GB_NON_CGI_Path/gbpassword.cgi") { #if username and password have been set, query for Passwords print<Hinweis: Nur Benutzer, denen die zwei Kennwörter bekannt sind, können Einträge löschen.

Hinweis: Der Eintrag $in{'number'} wird bei Bestätigung dieses Formulars gelöscht.

Kennwort 1
Kennwort 2

Threads } else { #if passwords have not been set, query user to set them now &QueryToSetPW; } } ## END Edit SR ## sub AuthenticateWording { my $action = shift; print<Hinweis: Nur Benutzer, denen die zwei Kennwörter bekannt sind, können diese Funktion benutzen.

Kennwort 1
Kennwort 2

Threads } sub QueryToSetPW { print<Willkommen!

Um Ihre Gästebuch administrieren zu können, müssen Sie zwei Kennwörter vergeben. Diese verwenden Sie in Zukunft immer, um die Administration Ihres Gästebuchs zu benutzen.

Sie müssen zwei Kennwörter vergeben, diese können identisch sein - was wir aus Sicherheitsgründen jedoch nicht empfehlen. Achten Sie auf Groß- und Kleinschreibung - Das Kennwort "Wally" ist nicht gleich "WALLY".

Bitte geben Sie Ihre Kennwörter jetzt ein!

Hinweis: Nachdem Sie Ihre Kennwörter vergeben haben, werden Sie zu den Generellen Einstelungen von UGB weitergeleitet - bitte führen Sie diese vor dem Verändern der Darstellungs-Optionen durch.

Kennwort 1
Kennwort 2


Ultimate Guestbook v1.1
© Infopop Corporation, 1999-2000
Deutsche Übersetzung von thinkfactory.

Threads } #end QueryToSetPW sub EnterStyles { &ValidatePW; $PageTitle = "Darstellungs-Optionen"; &HEADERHTML; if ($CopyrightTextColor eq "") { $CopyrightTextColor = "#C0C0C0"; } if ($TextSize eq "") { $TextSize = "2"; } if ($FontFace eq "") { $FontFace = "Verdana, Arial"; } if ($TextColor eq "") { $TextColor = "#000000"; } if ($LinkColor eq "") { $LinkColor = "#000080"; } if ($VisitedLinkColor eq "") { $VisitedLinkColor = "#808000"; } if ($TableStripTextColor eq "") { $TableStripTextColor = "#000080"; } if ($GBTitlePic eq "") { $GBTitlePic = "ugb.jpg"; } if ($AddEntryPic eq "") { $AddEntryPic = "addentry.jpg"; } if ($TableWidth eq "") { $TableWidth = "95%"; } if ($PostedByColor eq "") { $PostedByColor = "#800000"; } if ($BGColor eq "") { $BGColor = "#FFFFFF"; } else { if ($BGColor =~ /=/) { ($junk, $BGColor) = split (/=/, $BGColor); chomp($BGColor); } } if ($TableColorStrip eq "") { $TableColorStrip = ""; } else { if ($TableColorStrip =~ /=/) { ($junk, $TableColorStrip) = split (/=/, $TableColorStrip); chomp($TableColorStrip); } } print< Hier können Sie die Darstellung Ihres UGBs verändern, wie z.B. andere Farben und/oder Grafiken verwenden.
Für alle Farb-Angaben empfehlen wir die Eingabe eines hexadezimalen Codes (wie z.B.  #FFFFFF für "white" usw.).
Hinweis: Die Darstellungs-Optionen gelten nicht für den Administrations-Bereich.

Farb-Optionen
  Hintergrund-Farbe
Format - #FFFFFF
  Text-Farbe
  Farbe eines Links
  Farbe eines besuchten Links
  Tabellenkopf - Farbe der Schrift
  Tabellen Kopf - Farbe des Hintergrunds
  Erste Zeilenfarbe in Tabellen
  Zweite Zeilenfarbe in Tabellen
  Farbe des Copyright-Hinweises
  "Erstellt am" - Textfarbe
  Farbe der Tabellenränder
Möchten Sie keine farbigen Tabellenränder, lassen Sie dieses Feld bitte leer.
Zusätzliche Darstellungs-Optionen
  Schriftart (z.B.Verdana,Arial)
Wir empfehlen die Angabe von mindestens zwei Schriftarten, falls ein Benutzer die primäre Schriftart nicht installiert hat, wird die sekundäre verwendet.

  Breite der Tabellen
Sie können hier exakte Pixel- oder Prozentangaben verwenden, wir empfehlen entweder 600 Pixel oder 90%
  Schrift-Größe
Wir empfehlen die Schriftgröße 2.
  Hintergrund-Grafik
Nicht empfohlen! Sie können eine Bilddatei in Ihr nonCGI-Verzeichnis legen und diese dann hier als Hintergrund angeben (z.B. hintergrund.gif).

Grafiken

Empfohlene Größen für eigene Grafiken:

  • Titel/Logo-Grafik - 500 x 105 Pixel (B x H)
  • Eintrag hinzufügen - Grafik - 155 x 75 Pixel (B x H)

Hinweis: Selbsterstellte Grafiken müssen in dem nonCGI-Verzeichnis abgelegt werden.
  Titel/Logo - Grafik:
  Eintrag hinzufügen - Grafik:

Identifizieren Sie sich:
Kennwort 1
Kennwort 2



Ultimate Guestbook v1.1
© Infopop Corporation, 1999-2000
Deutsche Übersetzung von thinkfactory.
Style12 } # end EnterStyles sr sub Colors { print< Neue Farbe auswählen?