#!/usr/local/bin/perl ########################################################################################################## # Guestzilla v 2.01 # (c) 2001 by Martin Stemberg # # http://www.worldwidewaiting.de # webmaster@worldwidewaiting.de # # Stand: August 2001 # # Dieser Code darf verändert und angepasst werden, solange dieser Copyright-Header intakt bleibt. # Bei Aenderungen und Modifikationen wird keine Gewährleistung fuer das ordnungsgemässe # Funktionieren und des Scripts übernommen - modify at your own risk!!! # # ########################################################################################################## # KONFIGURATIONSSEKTION: ############################################### # Konfiguration #use CGI::Carp qw(fatalsToBrowser); # Standard-Scriptname, falls Fehler auftauchen $scriptname="Stempelgeheimnis Gästebuch"; # Standardname-Guestbook, falls Fehler auftauchen $website_title="Stempelgeheimnis Gästebuch"; # URL-Pfad zum Bilderverzeichnis (ohne abschliessenden /) $imageurl="http://stempelgeheimnis.de/guestzilla/grafix"; #Volle URL zum Script $scripturl="http://www.stempelgeheimnis.de/cgi-bin/guestzilla.cgi"; # Vollständiger Pfad (real, nicht URL!) ins Message-Verzeichnis (mit (!!!) abschliessendem /) $messagepath="/home/stempdba/www.stempelgeheimnis.de/cgi-bin/messages/"; #URL zur Eingabe-HTML-Seite, falls Schnell-HTML benutzt werden soll $formular="http://www.stempelgeheimnis.de/addentry.html"; #File-Locking benutzen ? (Muss vom System unterstuetzt werden) 1=JA, 0=NEIN $Lock=0; ############################################ # AB HIER MUSS NICHTS MEHR VERAENDERT WERDEN! ############################################ # Input lesen &read_input; #Properties einlesen open(LOG,"<$messagepath"."guestzillaproperties.txt") || &adminerror("File wurde nicht gefunden:
'guestzillaproperties.txt'"); $properties=; close(LOG); ($adminpwd, $scriptname, $website_title,$signway,$badwordfilter,$allowhtml,$entriesperpage,$usefasthtm,$timediff,$translateemote,$previewon,$wordlength,$moderated,$code,$popwidth,$popheigth) = split(/\|\%\%\|/, $properties); $adminpwd=(reverse $adminpwd); $adminpwd =~ tr/c-zab/a-z/; $adminpwd =~ tr/b-za/a-z/; #Output einlesen open(OUTPUT,"<$messagepath"."guestzillaoutput.txt") || &adminerror("File wurde nicht gefunden:
'guestzillaoutput.txt'"); $output=; close(OUTPUT); ($font,$font2,$font3,$font4, $header, $footer, $template,$quickjump,$mailprefix,$mailsuffix,$URLprefix,$URLsuffix,$tablebgcolor,$thankyoumessage,$messageorpage,$thankyoupage,$icqonline,$header2,$deletegif,$editgif,$font5,$commentheading,$previewpic,$commentpic,$adminbgcolor,$codehelp,$htmlyesgif,$htmlnogif,$smileyhelp,$nohomepagename,$nohomepage,$urlashomepage) = split(/\|\%\%\|/, $output); #Mailprobs einlesen open(MAILPROP,"<$messagepath"."guestzillaemail.txt") || &adminerror("File wurde nicht gefunden:
'guestzillaemail.txt'"); $mailprops=; close(MAILPROP); ($sendvisitor,$sendowner,$ownermail,$mailprog) = split(/\|\%\%\|/, $mailprops); #erste Seite $ViewPage=1; ############################################### # Formulardaten Variablen zuweisen $login = "$FORM{'login'}"; $action = "$FORM{'action'}"; $password = "$FORM{'password'}"; $page="$FORM{'page'}"; $preview="$FORM{'preview'}"; ############################################### # Daten auswerten if ($page ne "") { $ViewPage = "$FORM{'page'}"; &view; } if ($preview ne "") { &preview; } if ($login eq "admin") { if ($FORM{'adminpwd'} ne "") { $pwdadmin = "$FORM{'adminpwd'}"; } else { $pwdadmin = "$FORM{'password'}"; } $loginsucces = "0"; if ($pwdadmin ne "$adminpwd") { &adminerror("Falsches Passwort! Bitte erneut versuchen."); } else { $loginsucces = "1"; } if ($action eq "login") { &login; } elsif ($action eq "login") { &login; } elsif ($action eq "inputfield") { &inputfield; } elsif ($action eq "inputfield2"){ &inputfield2; } elsif ($action eq "general") { &general; } elsif ($action eq "general2") { &general2; } elsif ($action eq "posts2") { &posts2; } elsif ($action eq "posts3") { &posts3; } elsif ($action eq "posts4") { &posts4; } elsif ($action eq "posts5") { &posts5; } elsif ($action eq "output") { &output; } elsif ($action eq "output2") { &output2; } elsif ($action eq "output3") { &output3; } elsif ($action eq "output4") { &output4; } elsif ($action eq "output5") { &output5; } elsif ($action eq "output6") { &output6; } elsif ($action eq "output7") { &output7; } elsif ($action eq "output8") { &output8; } elsif ($action eq "delete") { &delete; } elsif ($action eq "delete2") { &delete2; } elsif ($action eq "badword") { &badword; } elsif ($action eq "updatebadword") { &updatebadword; } elsif ($action eq "editposting") { &editposting; } elsif ($action eq "mailprops") { &mailprops; } elsif ($action eq "mailprops2") { &mailprops2; } elsif ($action eq "picopts2") { &picopts2; } elsif ($action eq "picopts") { &picopts; } elsif ($action eq "mailprops3") { &mailprops3; } elsif ($action eq "mailprops4") { &mailprops4; } elsif ($action eq "emoticon") { &emoticon; } elsif ($action eq "emoticon2") { &emoticon2; } elsif ($action eq "accesscontrol") { &accesscontrol; } elsif ($action eq "accesscontrol2") { &accesscontrol2; } elsif ($action eq "accesscontrol3") { &accesscontrol3; } elsif ($action eq "deletemorethanone") { &deletemorethanone; } elsif ($action eq "deletemorethanone2") { &deletemorethanone2; } elsif ($action eq "freischalten") { &freischalten; } elsif ($action eq "freischalten2") { &freischalten2; } else { &login; } } elsif ($action ne "") { if ($action eq "view") { &view; } elsif ($action eq "admin") { &admin; } elsif ($action eq "write") { &write; } elsif ($action eq "write2") { &write2; } elsif ($action eq "instantdelete") { &instantdelete; } elsif ($action eq "instantedit") { &instantedit; } elsif ($action eq "up") { &upload; } elsif ($action eq "codehelp") { &codehelp; } elsif ($action eq "smileyhelp") { &smileyhelp; } else { &view; } } else { &webmaster; } ############################################### # Subroutine: KEINE AKTION ANGEGEBEN sub webmaster { &adminheader; print "
"; print "Keine Aktion angegeben.

"; print "

  • Gästebuch ansehen.
    "; print "
  • Eintrag ins Gästebuch.
    "; print "
  • Administrator-Login.
    "; print "
  • "; &adminfooter; } ############################################### # Subroutine: INPUT LESEN sub read_input { $buffer = ""; if (($ENV{'QUERY_STRING'} eq "") || ($ENV{'QUERY_STRING'} eq " ")) { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); } else { $buffer = "$ENV{'QUERY_STRING'}"; @pairs = split(/&/, $buffer); } foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $FORM{$name} = $value; } } ############################################### # Subroutine: LOGIN sub login { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "

    $font Willkommen bei der $website_title - Administration.

    "; print ""; print ""; &adminfooter; } ############################################### # Subroutine: WRITE sub write { # Erlaubte Domain ? open(CONTROL,"<$messagepath"."accesscontrol.txt") || &adminerror("File wurde nicht gefunden:
    'accesscontrol.txt'"); $controlparams=; close(CONTROL); ($usedomaincheck) = split(/\|\%\%\|/, $controlparams); if ($usedomaincheck eq "1") { open(LOG,"<$messagepath"."accessallowed.txt"); @domains=; close(LOG); $referer = $ENV{'SERVER_NAME'}; if ($referer eq "") { &error("
    Zugriff nicht erlaubt.

    "); exit; } $referer =~ s/http\:\/\///gi; # Remove http:// $referer = "www.".$ENV{'SERVER_NAME'}; @temp = split(/\//, $referer); $refer_domain = $temp[0]; # Get the server name # In @domains aufgelistet ? $okay = 0; foreach $domain (@domains) { if ($refer_domain =~ /$domain/i) { $okay = 1; } if ($okay == 0) { &error("
    Zugriff von Server $refer_domain nicht erlaubt.

    "); exit; } } } #####Gebannte IP-Adresse ? $ip=$ENV{"REMOTE_ADDR"}; $banuser=0; $output="IP: $ip"; $ip=~s/\n//g; $ip=~s/\r//g; open(LOG,"<$messagepath"."bannedip.txt"); @banned=; close(LOG); @splitip=split(/\./,$ip); foreach $item (@banned){ @bannedip=split(/\./,$item); $pass=0; $cntit=0; foreach $wert (@bannedip){ if ($wert ne '*' && $wert != $splitip[$cntit]){ $pass=1; break; } $cntit=$cntit+1; } if ($pass==0){ $banuser=1; break; } } if ($banuser eq "1") { &error("
    Die IP-Adresse $ip wurde gebannt.

    "); } #### HTML-Seite zum Eintragen ? if (($usefasthtm eq "1") & ($allowhtml eq "1")) { print "Location: $formular\n\n"; } print "Content-Type: text/html\n\n"; &header; $output=""; open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror2("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); ($bezeichnung_name,$bezeichnung_email,$bezeichnung_city,$bezeichnung_URL,$bezeichnung_Homepagename,$bezeichnung_Strasse,$bezeichnung_plz,$bezeichnung_bundesland,$bezeichnung_country,$bezeichnung_phone,$bezeichnung_sex,$bezeichnung_icq,$bezeichnung_cust1,$bezeichnung_cust2,$bezeichnung_cust3,$bezeichnung_cust4,$bezeichnung_cust5,$bezeichnung_kommentar,$bezeichnung_uploadfile,$bezeichnung_datum,$bezeichnung_ip,$bezeichnung_banner,$bezeichnung_status) = split(/\|\%\%\|/, $log); open(LOG,"<$messagepath"."eingabefelder_required.txt") || &adminerror2("File wurde nicht gefunden:
    'eingabefelder_required.txt'"); $log=; close(LOG); ($require_name,$require_email,$require_city,$require_URL,$require_Homepagename,$require_Strasse, $require_plz, $require_bundesland, $require_country,$require_phone,$require_sex,$require_icq,$require_cust1,$require_cust2,$require_cust3,$require_cust4,$require_cust5,$require_kommentar,$require_uploadfile,$require_banner) = split(/\|\%\%\|/, $log); if ($require_name eq "2") { $stern_name="*"; } if ($require_email eq "2") { $stern_email="*"; } if ($require_URL eq "2") { $stern_URL="*"; } if ($require_Homepagename eq "2") { $stern_Homepagename="*"; } if ($require_icq eq "2") { $stern_icq="*"; } if ($require_phone eq "2") { $stern_phone="*"; } if ($require_Strasse eq "2") { $stern_Strasse="*"; } if ($require_plz eq "2") { $stern_plz="*"; } if ($require_city eq "2") { $stern_city="*"; } if ($require_bundesland eq "2") { $stern_bundesland="*"; } if ($require_country eq "2") { $stern_country="*"; } if ($require_sex eq "2") { $stern_sex="*"; } if ($require_cust1 eq "2") { $stern_cust1="*"; } if ($require_cust2 eq "2") { $stern_cust2="*"; } if ($require_cust3 eq "2") { $stern_cust3="*"; } if ($require_cust4 eq "2") { $stern_cust4="*"; } if ($require_cust5 eq "2") { $stern_cust5="*"; } if ($require_uploadfile eq "2") { $stern_uploadfile="*"; } if ($require_kommentar eq "2") { $stern_kommentar="*"; } if ($require_banner eq "2") { $stern_banner="*"; } $output .= "
    "; $output .= ""; $output .= ""; $error = "0"; if ($require_name) { $output .= ""; } if ($require_email) { $output .= ""; } if ($require_URL) { $output .= ""; } if ($require_Homepagename) { $output .= ""; } if ($require_icq) { $output .= ""; } if ($require_phone) { $output .= ""; } if ($require_Strasse) { $output .= ""; } if (($require_plz) && ($require_city)) { $output .= ""; } elsif ($require_plz) { $output .= ""; } elsif ($require_city) { $output .= ""; } print ""; print ""; if (($code eq "1") && ($translateemote eq "1")) { $yescode= "

    $font4 >>Code
    >>Smileys"; } elsif ($code eq "1"){ $yescode="

    $font4 >>Code"; } elsif ($translateemote eq "1"){ $yescode="

    $font4 >>Smileys"; } else { $yescode=""; } print ""; if ($allowhtml eq "1") { $htmlallowedhint= "

    $font4 HTML: "; } else { $htmlallowedhint= "

    $font4 HTML: "; } if ($require_bundesland) { $output .= ""; } if ($require_country) { $output .= ""; } if ($require_sex) { $output .= ""; } if ($require_cust1) { $output .= ""; } if ($require_cust2) { $output .= ""; } if ($require_cust3) { $output .= ""; } if ($require_cust4) { $output .= ""; } if ($require_cust5) { $output .= ""; } if ($require_uploadfile) { $output .= ""; } if ($require_kommentar) { $output .= ""; } if ($require_banner) { $output .= ""; } if ($code eq "1") { $output .=""; } $output .=""; $output .=""; if ($previewon eq "1") { $output .=""; } $output .= "
    $font3 $bezeichnung_name $stern_name:
    $font3 $bezeichnung_email $stern_email:
    $font3 $bezeichnung_URL $stern_URL:$font4 (Mit 'http://' bitte.)
    $font3 $bezeichnung_Homepagename $stern_Homepagename:
    $font3 $bezeichnung_icq $stern_icq:$font4 (ohne #)
    $font3 $bezeichnung_phone $stern_phone:
    $font3 $bezeichnung_Strasse $stern_Strasse:
    $font3 $bezeichnung_plz $stern_plz,
    $bezeichnung_city $stern_city:
    $font3 $bezeichnung_plz $stern_plz:
    $font3 $bezeichnung_city $stern_city:
    $font3 $bezeichnung_bundesland $stern_bundesland:
    $font3 $bezeichnung_country $stern_country:
    $font3 $bezeichnung_sex $stern_sex:$font3 weiblich
    $font3 männlich
    $font3 $bezeichnung_cust1 $stern_cust1:
    $font3 $bezeichnung_cust2 $stern_cust2:
    $font3 $bezeichnung_cust3 $stern_cust3:
    $font3 $bezeichnung_cust4 $stern_cust4:
    $font3 $bezeichnung_cust5 $stern_cust5:
    $font3 $bezeichnung_uploadfile $stern_uploadfile: $font3 Ich will ein Bild auf den Server laden.
    $font3$bezeichnung_kommentar $stern_kommentar:".$yescode.$htmlallowedhint; } if ($require_kommentar) { $output .="$font
    $font3$bezeichnung_banner $stern_banner:$font4 (Mit 'http://' bitte.)
    \"Fettdruck\""; $output .="\"Italic\""; $output .="\"Unterstrichen\""; $output .="\"Hyperlink\""; $output .="\"EMail\""; $output .="
    $font4 *: Feld muss ausgefüllt werden.

    "; $output .= "
    "; print $output; &footer; } ############################################### # Subroutine: FREISCHALTEN2 sub freischalten2 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Einträge freischalten)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Einträge freischalten:

    "; @usedValues = split(/\s/,$FORM{'usedValues'}); foreach $usedValue (@usedValues) { if ($FORM{'free'.$usedValue}) { push(@free, $usedValue); } } foreach $tofree (@free) { $ext = '.guestlog'; open(GUEST,"<$messagepath$tofree$ext") || &adminerror2("File wurde nicht gefunden:
    '$tofree'"); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepagename,$strasse,$plz,$bundesland,$country,$phone,$sex,$icq,$cust1,$cust2,$cust3,$cust4,$cust5,$comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); &LockFile(GUEST); open(GUEST,">$messagepath$tofree$ext"); print GUEST "$name|%%|$email|%%|$city|%%|$URL|%%|$homepagename|%%|$strasse|%%|$plz|%%|$bundesland|%%|$country|%%|$phone|%%|$sex|%%|$icq|%%|$cust1|%%|$cust2|%%|$cust3|%%|$cust4|%%|$cust5|%%|$comment|%%|$uploadfile|%%|$date|%%|$ip|%%|$banner|%%|ON"; close(GUEST); &UnLockFile(GUEST); print "$font Nachricht $tofree wurde freigeschaltet.
    "; } print "$font
    Update erfolgreich.

    "; &adminfooter; } ############################################### # Subroutine: FREISCHALTEN sub freischalten { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Einträge freischalten)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Einträge freischalten:

    "; $ext = '.guestlog'; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); @lines=; close(GUEST); print "
    "; print ""; print ""; print ""; $ext=".guestlog"; print ""; foreach $line (@lines) { if ($line ne "") { $msnname = "$line"; $msnname =~ s/\n//g; open(GUEST,"<$messagepath$msnname$ext") || &adminerror2("File wurde nicht gefunden:
    '$msnname'"); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepagename,$strasse,$plz,$bundesland,$country,$phone,$sex,$icq,$cust1,$cust2,$cust3,$cust4,$cust5,$comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); if ($status eq "OFF") { push(@usedValues,$msnname); print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; if ($banner eq "") { print ""; } else { print ""; } print ""; print ""; } } } print "
    $font4"; print ""; print "Freischalten "; print "
    $font4 ID: $msnname
    "; print "
    $font4 vom $date"; print "
    $font2$font2 Verfasser: $name
    $font2 Text: $comment

    $font2 Bild-Upload:
    $uploadfile

    $font2 Banner:
    $font2 Kein Banner vorhanden
    $font2 Banner:

    "; print "




    "; print " \n"; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: EDITIEREN sub editposting { $ext = '.guestlog'; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); @lines=; close(GUEST); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Eintrag editieren)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Einträge editieren:

    "; print "
    "; print ""; print ""; print ""; print "$font Welchen Eintrag editieren?

    "; print ""; print ""; print "

    "; if ($nonfree ne 0) { print "
    Es befinden sich $nonfree nicht freigeschaltete Nachrichten in der Datenbank.
    "; print "
    Die Nachrichten freischalten.

    ."; } print ""; print ""; &adminfooter; } ############################################### # Subroutine: EDITIEREN2 sub posts2 { $ext = '.guestlog'; $path2 = "$messagepath$FORM{'private'}$ext"; open(GUEST,"<$path2") || &error("Nachricht nicht gefunden: \"FORM{'private'}\"."); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepage, $street, $plz, $bundesland, $country, $phone, $sex, $icq, $cust1, $cust2, $cust3, $cust4, $cust5, $comment,$uploadfile,$date,$IP,$banner,$status) = split(/\|\%\%\|/, $guest); $comment =~ s/\
    //g; $msnname=$FORM{'private'}; print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Eintrag editieren)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; if ($status eq "OFF"){ print "

    $fontDiese Nachricht ist noch nicht freigeschaltet.

    "; print "

    "; } else { print "

    $fontDiese Nachricht ist freigeschaltet.

    "; print "

    "; } print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; if ($uploadfile eq "") { print ""; } else { print ""; } print ""; print ""; if ($banner eq "") { print ""; } else { print ""; } print ""; print ""; print "
    $font3 Name:
    $font3 EMail:
    $font3 URL:
    $font3 Homepage:
    $font3 ICQ:
    $font3 Telefon:
    $font3 Strasse:
    $font3 PLZ:
    $font3 Stadt:
    $font3 Bundesland:
    $font3 Land:
    $font3 Geschlecht:
    $font3 Custom 1:
    $font3 Custom 2:
    $font3 Custom 3:
    $font3 Custom 4:
    $font3 Custom 5:
    $font3 Bild-URL:
    $font3 Bild: $font3 Kein Bild vorhanden
    $font3 Bild: $uploadfile
    $font4 Bild löschen
    $font3 Kommentar:
    $font3 Banner-URL:
    $font3 Banner: $font3 Kein Banner vorhanden
    $font3 Banner:
    $font3 IP: $font3 $IP
    $font3 Datum:
    "; print ""; print "
    "; print "\"Kommentar"; &adminfooter; } ############################################### # Subroutine: EDITIEREN4 sub posts4 { $ext = '.guestlog'; $path2 = "$messagepath$FORM{'private'}$ext"; open(GUEST,"<$path2") || &error("Nachricht nicht gefunden: \"FORM{'private'}\"."); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepage, $street, $plz, $bundesland, $country, $phone, $sex, $icq, $cust1, $cust2, $cust3, $cust4, $cust5, $comment,$uploadfile,$date,$IP,$banner, $status) = split(/\|\%\%\|/, $guest); $comment2=$comment; $comment =~ s/
    //g; $comment3="

    "; $comment3=$comment3.$comment; $comment3 =$comment3."EndeComment"; $msnname=$FORM{'private'}; $comment=$comment3; $comment =~ s/\"/"/g; print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Eintrag editieren)"; print ""; print ""; print ""; print "

    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "$font Nachricht von $name:"; print "
    $font $comment2


    "; print "$font Kommentar:


    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: EDITIEREN5 sub posts5 { $comments = "$FORM{'comments'}"; $platz="EndeComment"; $comments=~ s/$platz/<\/P>/g; #if($commentheading ne "") { #$comments=$comments."$font5
    $commentheading"; #} $comments=$comments."$font5"; $comments=$comments."$FORM{'owncomments'}

    "; $comments =~ s/\n/
    /g; $ext = '.guestlog'; open(GUEST,">$messagepath$FORM{'msnname'}$ext"); &LockFile(GUEST); print GUEST "$FORM{'name'}|%%|$FORM{'email'}|%%|$FORM{'city'}|%%|$FORM{'URL'}|%%|$FORM{'homepage'}|%%|$FORM{'street'}|%%|$FORM{'plz'}|%%|$FORM{'bundesland'}|%%|$FORM{'country'}|%%|$FORM{'phone'}|%%|$FORM{'sex'}|%%|$FORM{'icq'}|%%|$FORM{'cust1'}|%%|$FORM{'cust2'}|%%|$FORM{'cust3'}|%%|$FORM{'cust4'}|%%|$FORM{'cust5'}|%%|$comments|%%|$FORM{'uploadfile'}|%%|$FORM{'date'}|%%|$FORM{'ipnummer'}|%%|$FORM{'banner'}|%%|$FORM{'status'}"; close(GUEST); &UnLockFile(GUEST); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Eintrag editieren)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "$font Kommentar hinzugefügt.

    "; &adminfooter; } ############################################### # Subroutine: EDITIEREN3 sub posts3 { if ($FORM{'deluploadfile'}) { $uploadfile=$FORM{'uploadfile'}; open(UPLOAD,"<$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); $uploading=; close(UPLOAD); ($imgdir,$ext1,$ext2,$maxkb,$maxfiles,$namebase,$fileurl,$scaleimage,$scalewidth, $scaleheight,$border) = split(/\|\%\%\|/, $uploading); $uploadfile =~ s!^.*(\\|\/)!!; $length = (length($uploadfile)); $length=$length-1; $uploadfile=(substr($uploadfile,0,$length)); $gif=".gif"; $uploadfilepos=(index $uploadfile,$gif); if ($uploadfilepos eq "-1") { $jpg=".jpg"; $uploadfilepos=(index $uploadfile,$jpg); } $uploadfile=(substr($uploadfile,0,$uploadfilepos+4)); unlink ("$imgdir/$uploadfile"); $FORM{'uploadfile'}=""; } if ($FORM{'status'} eq "Nicht freischalten") { $status="OFF"; } else { $status="ON"; } $comments = "$FORM{'comments'}"; $comments =~ s/\n/
    /g; $ext = '.guestlog'; open(GUEST,">$messagepath$FORM{'msnname'}$ext"); &LockFile(GUEST); print GUEST "$FORM{'name'}|%%|$FORM{'email'}|%%|$FORM{'city'}|%%|$FORM{'URL'}|%%|$FORM{'homepage'}|%%|$FORM{'street'}|%%|$FORM{'plz'}|%%|$FORM{'bundesland'}|%%|$FORM{'country'}|%%|$FORM{'phone'}|%%|$FORM{'sex'}|%%|$FORM{'icq'}|%%|$FORM{'cust1'}|%%|$FORM{'cust2'}|%%|$FORM{'cust3'}|%%|$FORM{'cust4'}|%%|$FORM{'cust5'}|%%|$comments|%%|$FORM{'uploadfile'}|%%|$FORM{'date'}|%%|$FORM{'ipnummer'}|%%|$FORM{'banner'}|%%|$status"; close(GUEST); &UnLockFile(GUEST); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Eintrag editieren)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "$font Nachricht wurde editiert.
    "; if ($FORM{'deluploadfile'}) { print "$font Bild $uploadfile wurde gelöscht.

    "; } &adminfooter; } ############################################### # Subroutine: WRITE2 sub write2 { $output=""; open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); ($bezeichnung_name,$bezeichnung_email,$bezeichnung_city,$bezeichnung_URL,$bezeichnung_Homepagename,$bezeichnung_Strasse,$bezeichnung_plz,$bezeichnung_bundesland,$bezeichnung_country,$bezeichnung_phone,$bezeichnung_sex,$bezeichnung_icq,$bezeichnung_cust1,$bezeichnung_cust2,$bezeichnung_cust3,$bezeichnung_cust4,$bezeichnung_cust5,$bezeichnung_kommentar,$bezeichnung_uploadfile,$bezeichnung_datum,$bezeichnung_ip,$bezeichnung_banner,$bezeichnung_status) = split(/\|\%\%\|/, $log); open(LOG,"<$messagepath"."eingabefelder_required.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder_required.txt'"); $log=; close(LOG); ($require_name,$require_email,$require_city,$require_URL,$require_Homepagename,$require_Strasse, $require_plz, $require_bundesland, $require_country,$require_phone,$require_sex,$require_icq,$require_cust1,$require_cust2,$require_cust3,$require_cust4,$require_cust5,$require_kommentar,$require_uploadfile,$require_banner) = split(/\|\%\%\|/, $log); #Mailprobs einlesen open(MAILPROP,"<$messagepath"."guestzillaemail.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaemail.txt'"); $mailprops=; close(MAILPROP); ($sendvisitor,$sendowner,$ownermail,$mailprog,$include) = split(/\|\%\%\|/, $mailprops); if ($FORM{'URL'} eq "http://") { $FORM{'URL'}=""; } if ($FORM{'banner'} eq "http://") { $FORM{'banner'}=""; } if ($require_email eq "2") { &checkmail("$FORM{'email'}"); } if ("$FORM{'email'}" ne "") { &checkmail("$FORM{'email'}"); } if ($require_name eq "2") { if ($FORM{'name'} eq "") { $output .= "
  • $bezeichnung_name"; $error = "1"; } } if ($require_email eq "2") { if ($FORM{'email'} eq "") { $output .= "
  • $bezeichnung_email"; $error = "1"; } } if ($require_URL eq "2") { if ($FORM{'URL'} eq "") { $output .= "
  • $bezeichnung_URL"; $error = "1"; } } if ($require_city eq "2") { if ($FORM{'city'} eq "") { $output .= "
  • $bezeichnung_city"; $error = "1"; } } if ($require_icq eq "2") { if ($FORM{'sex'} eq "") { $output .= "
  • $bezeichnung_icq"; $error = "1"; } } if ($require_Strasse eq "2") { if ($FORM{'street'} eq "") { $output .= "
  • $bezeichnung_Strasse"; $error = "1"; } } if ($require_banner eq "2") { if ($FORM{'banner'} eq "") { $output .= "
  • $bezeichnung_banner"; $error = "1"; } } if ($require_bundesland eq "2") { if ($FORM{'bundesland'} eq "") { $output .= "
  • $bezeichnung_bundesland"; $error = "1"; } } if ($require_plz eq "2") { if ($FORM{'plz'} eq "") { $output .= "
  • $bezeichnung_plz"; $error = "1"; } } if ($require_country eq "2") { if ($FORM{'country'} eq "") { $output .= "
  • $bezeichnung_country"; $error = "1"; } } if ($require_phone eq "2") { if ($FORM{'phone'} eq "") { $output .= "
  • $bezeichnung_phone"; $error = "1"; } } if ($require_sex eq "2") { if ($FORM{'sex'} eq "") { $output .= "
  • $bezeichnung_sex"; $error = "1"; } } if ($require_icq eq "2") { if ($FORM{'icq'} eq "") { $output .= "
  • $bezeichnung_icq"; $error = "1"; } } if ($require_cust1 eq "2") { if ($FORM{'cust1'} eq "") { $output .= "
  • $bezeichnung_cust1"; $error = "1"; } } if ($require_cust2 eq "2") { if ($FORM{'cust2'} eq "") { $output .= "
  • $bezeichnung_cust2"; $error = "1"; } } if ($require_cust3 eq "2") { if ($FORM{'cust3'} eq "") { $output .= "
  • $bezeichnung_cust3"; $error = "1"; } } if ($require_cust4 eq "2") { if ($FORM{'cust4'} eq "") { $output .= "
  • $bezeichnung_cust4"; $error = "1"; } } if ($require_cust5 eq "2") { if ($FORM{'cust5'} eq "") { $output .= "
  • $bezeichnung_cust5"; $error = "1"; } } if ($require_uploadfile eq "2") { if ($FORM{'uploadfile'} eq "") { $output .= "
  • $bezeichnung_uploadfile"; $error = "1"; } } if ($require_Homepagename eq "2") { if ($FORM{'homepage'} eq "") { $output .= "
  • $bezeichnung_Homepagename"; $error = "1"; } } if ($require_kommentar eq "2") { if ($FORM{'message'} eq "") { $output .= "
  • $bezeichnung_kommentar"; $error = "1"; } } $previewschritt="$FORM{'previewschritt'}"; $comments = "$FORM{'message'}"; if ($previewschritt eq "1") { $comments =~ s/\n//g; $comments =~ s/"/\"/g; $previewschritt=""; } else { $comments =~ s/\n/
    /g; } $wordlength++; if ($comments =~/\w{$wordlength}/) { $output="Kommentar enthält ein zu langes Wort!"; &missingfields; } $counttagright=0; while ($comments =~/>/g) { $counttagright++; } $counttagleft=0; while ($comments =~/>$path2"); print HTML "$mydate\n"; close(HTML); } else { $path2 = "$messagepath"."entrylogs.txt"; open(HTML, "<$path2"); &LockFile(HTML); @info=; close(HTML); &UnLockFile(HTML); &LockFile(HTML); open(HTML, ">$path2"); print HTML "$mydate\n"; foreach $line (@info) { print HTML "$line"; } close(HTML); &UnLockFile(HTML); } if ($moderated eq "ON"){ $status="OFF"; } else { $status="ON"; } $ext = '.guestlog'; open(GUEST,">$messagepath$mydate$ext"); print GUEST "$FORM{'name'}|%%|$FORM{'email'}|%%|$FORM{'city'}|%%|$FORM{'URL'}|%%|$FORM{'homepage'}|%%|$FORM{'street'}|%%|$FORM{'plz'}|%%|$FORM{'bundesland'}|%%|$FORM{'country'}|%%|$FORM{'phone'}|%%|$FORM{'sex'}|%%|$FORM{'icq'}|%%|$FORM{'cust1'}|%%|$FORM{'cust2'}|%%|$FORM{'cust3'}|%%|$FORM{'cust4'}|%%|$FORM{'cust5'}|%%|$comments|%%|$FORM{'uploadfile'}|%%|$FORM{'date'}|%%|$ENV{'REMOTE_ADDR'}|%%|$FORM{'banner'}|%%|$status"; close(GUEST); if (($sendvisitor eq "1") && ($FORM{'email'})) { open(LOG,"<$messagepath"."guestzillathx.txt"); @gbmail_1=; close(LOG); open(MAIL,"|$mailprog -t") || &error("$font Mailprogramm konnte nicht geöffnet werden."); print MAIL "From: $ownermail\n"; print MAIL "To: $FORM{'email'}\n"; print MAIL "Subject: $website_title\n\n"; foreach $line (@gbmail_1) { #if ($FORM{'email'}) { $comments =~ s/[email]/\$FORM{'email'}/g; } #if ($FORM{'name'}) { $comments =~ s/[name]/\$FORM{'name'}/g; } print MAIL "$line"; } print MAIL "\n"; close (MAIL); } if (($sendowner eq "1") && ($ownermail)) { open(LOG,"<$messagepath"."guestzillanotify.txt"); @gbmail_1=; close(LOG); open(MAIL,"|$mailprog -t") || &error("$font Mailprogramm konnte nicht geöffnet werden."); print MAIL "From: $ownermail\n"; print MAIL "To: $ownermail\n"; print MAIL "Subject: $website_title\n\n"; foreach $line (@gbmail_1) { #if ($FORM{'email'}) { $comments =~ s/[email]/\$FORM{'email'}/g; } #if ($FORM{'name'}) { $comments =~ s/[name]/\$FORM{'name'}/g; } print MAIL "$line"; } if ($include eq "1") { print MAIL "------------\n"; print MAIL "Eintrag von: $FORM{'name'}\n"; if ($FORM{'email'} eq "") { $FORM{'email'}="Keine EMail-Adresse angegeben."; } print MAIL "Mail-Adresse: $FORM{'email'}\n"; print MAIL "Kommentar:\n$comments\n"; print MAIL "\n"; if ($moderated eq "ON") { print MAIL "Moderatoren-Modus ist eingeschaltet.\n"; print MAIL "Der Eintrag muss freigeschaltet werden.\n\n"; print "\n"; } print MAIL "Nachricht loeschen:"; print MAIL "\n"; print MAIL "$scripturl?action=delete2&login=admin&password=$adminpwd"; print MAIL "&delete=$mydate\n"; print MAIL "\n"; print MAIL "Nachricht editieren:"; print MAIL "\n"; print MAIL "$scripturl?action=posts2&login=admin&password=$adminpwd"; print MAIL "&private=$mydate\n"; } print MAIL "\n"; close (MAIL); } if ($messageorpage eq "1") { if ($moderated ne "ON") { print "Content-Type: text/html\n\n"; } $output = ""; $output .= "
    $font $thankyoumessage

    $website_title
    "; if ($moderated eq "ON") { $output .="
    $font Der Moderatoren-Modus ist eingeschaltet.
    Die Nachricht muss erst freigeschaltet werden.

    "; } print $output; &footer; } else { print"Location: $thankyoupage\n\n"; } } else { $comments =~ s/"/"/gi; ######################### UPLOAD ? ######### ######### print "Content-Type: text/html\n\n"; &header; print <<"EOM";
    $font3Bild Uploader
    $fontBild:

    $font Deine Eingabe:
    EOM &footer; } } ############################################### # Subroutine: UPLOAD sub upload { open(UPLOAD,"<$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); $uploading=; close(UPLOAD); ($imgdir,$ext1,$ext2,$maxkb,$maxfiles,$namebase,$fileurl,$scaleimage,$scalewidth, $scaleheight,$border,$scalefactor,$exceedbreite,$exceedhoehe,$andor,$firstfactor,$secondfactor) = split(/\|\%\%\|/, $uploading); #Mailprobs einlesen open(MAILPROP,"<$messagepath"."guestzillaemail.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaemail.txt'"); $mailprops=; close(MAILPROP); ($sendvisitor,$sendowner,$ownermail,$mailprog,$include) = split(/\|\%\%\|/, $mailprops); use CGI qw(:standard); use CGI; my $req = new CGI; $file = $req->param("upfile"); $filesize = (stat($file))[7]; #auslesen der Dateigrösse $name= $req->param("name"); $email= $req->param("email"); $homepage= $req->param("homepage"); $icq= $req->param("icq"); $URL= $req->param("URL"); $street=$req->param("street"); $phone= $req->param("phone"); $plz= $req->param("plz"); $city= $req->param("city"); $bundesland= $req->param("bundesland"); $country= $req->param("country"); $sex= $req->param("sex"); $cust1= $req->param("cust1"); $cust2= $req->param("cust2"); $cust3= $req->param("cust3"); $cust4= $req->param("cust4"); $cust5= $req->param("cust5"); $banner= $req->param("banner"); $comments= $req->param("message"); $numberfile = "$messagepath/uploadcounter.txt"; if ($file ne "") { my $fileName = $file; $fileName =~ s!^.*(\\|\/)!!; $newmain = $fileName; $extension = (lc(substr($newmain,length($newmain) - 4,4))); # file-extension auslesen $filenotgood = "kacka"; # ggf 'yes' wieder löschen (aus voriger Schleife) if (($extension ne $ext1) && ($extension ne $ext2)) { $filenotgood = "yes"; } &getnumber; $dateiname = "$namebase$number$extension"; if (($filesize / 1000) > $maxkb) { &error("
    File ist zu gross!
    "); } if ($number >= $maxfiles) { &error("
    Zu viele Files auf dem Server!
    "); } if ($filenotgood eq "yes") { &error("
    Filetyp nicht unterstützt!
    "); } } else { error ("
    $font Kein File angegeben.
    "); } open (OUTFILE, ">$imgdir/$dateiname"); while (my $bytesread = read($file, my $buffer, 1024)) { print OUTFILE $buffer; } close (OUTFILE); $number++; &putnumber; $file="$imgdir/$dateiname"; if ($extension eq $ext1) { &gifsize("$file"); } elsif ($extension eq $ext2) { &jpegsize("$file"); } else { unlink("$file"); &error_invalid_file_type; } if ($scaleimage eq "1") { $FORM{'uploadfile'}=""; } elsif ($scaleimage eq "2"){ $percentwidth=$width/100; $percentheight=$height/100; $endwidth=$percentwidth*$scalefactor; $endheight=$percentheight*$scalefactor; $width=int($endwidth); $height=int($endheight); $FORM{'uploadfile'}=""; } elsif ($scaleimage eq "3"){ if ($andor eq "0") { if (($width > $exceedbreite) && ($height > $exceedhoehe)) { $percentwidth=$width/100; $percentheight=$height/100; $endwidth=$percentwidth*$firstfactor; $endheight=$percentheight*$firstfactor; $width=int($endwidth); $height=int($endheight); $secondfactor=100-$secondfactor; while(($width > $exceedbreite) || ($height > $exceedhoehe)) { $percentwidth=$width/100; $percentheight=$height/100; $endwidth=$percentwidth*$secondfactor; $endheight=$percentheight*$secondfactor; $width=int($endwidth); $height=int($endheight); } } } elsif ($andor eq "1") { if (($width > $exceedbreite) || ($height > $exceedhoehe)) { $percentwidth=$width/100; $percentheight=$height/100; $endwidth=$percentwidth*$firstfactor; $endheight=$percentheight*$firstfactor; $width=int($endwidth); $height=int($endheight); $secondfactor=100-$secondfactor; while(($width > $exceedbreite) || ($height > $exceedhoehe)) { $percentwidth=$width/100; $percentheight=$height/100; $endwidth=$percentwidth*$secondfactor; $endheight=$percentheight*$secondfactor; $width=int($endwidth); $height=int($endheight); } } } $FORM{'uploadfile'}=""; } else { $FORM{'uploadfile'}=""; } @days = ('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'); @months = ('1','2','3','4','5','6','7','8','9','10','11','12'); ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6]; $hour2=$hour+$timediff; $time = sprintf("%02d:%02d:%02d",$hour2,$min,$sec); $year += 1900; $FORM{'date'} = "$mday.$months[$mon].$year"; if ($mon eq "12") { $mon = "1"; } else { ++$mon; } ($hour, $min) = split(/\:/, $time, 2); $mydate = "$mday$mon$year$hour2$min"; $mydate =~ s/://g; if ($signway eq "bottom") { $path2 = "$messagepath"."entrylogs.txt"; open(HTML, ">>$path2"); &LockFile(HTML); print HTML "$mydate\n"; close(HTML); &UnLockFile(HTML); } else { $path2 = "$messagepath"."entrylogs.txt"; open(HTML, "<$path2"); &LockFile(HTML); @info=; close(HTML); &UnLockFile(HTML); open(HTML, ">$path2"); &LockFile(HTML); print HTML "$mydate\n"; foreach $line (@info) { print HTML "$line"; } close(HTML); &UnLockFile(HTML); } if ($moderated eq "ON"){ $status="OFF"; } else { $status="ON"; } $ext = '.guestlog'; open(GUEST,">$messagepath$mydate$ext"); print GUEST "$name|%%|$email|%%|$city|%%|$URL|%%|$homepage|%%|$street|%%|$plz|%%|$bundesland|%%|$country|%%|$phone|%%|$sex|%%|$icq|%%|$cust1|%%|$cust2|%%|$cust3|%%|$cust4|%%|$cust5|%%|$comments|%%|$FORM{'uploadfile'}|%%|$FORM{'date'}|%%|$ENV{'REMOTE_ADDR'}|%%|$banner|%%|$status"; close(GUEST); if (($sendvisitor eq "1") && ($email ne "")) { open(LOG,"<$messagepath"."guestzillathx.txt"); @gbmail_1=; close(LOG); open(MAIL,"|$mailprog -t") || &error("$font Mailprogramm konnte nicht geöffnet werden."); print MAIL "From: $ownermail\n"; print MAIL "To: $email\n"; print MAIL "Subject: $website_title\n\n"; foreach $line (@gbmail_1) { #if ($FORM{'email'}) { $comments =~ s/[email]/\$FORM{'email'}/g; } #if ($FORM{'name'}) { $comments =~ s/[name]/\$FORM{'name'}/g; } print MAIL "$line"; } print MAIL "\n"; close (MAIL); } if (($sendowner eq "1") && ($ownermail)) { open(LOG,"<$messagepath"."guestzillanotify.txt"); @gbmail_1=; close(LOG); open(MAIL,"|$mailprog -t") || &error("$font Mailprogramm konnte nicht geöffnet werden."); print MAIL "From: $ownermail\n"; print MAIL "To: $ownermail\n"; print MAIL "Subject: $website_title\n\n"; foreach $line (@gbmail_1) { #if ($FORM{'email'}) { $comments =~ s/[email]/\$FORM{'email'}/g; } #if ($FORM{'name'}) { $comments =~ s/[name]/\$FORM{'name'}/g; } print MAIL "$line"; } if ($include eq "1") { print MAIL "------------\n"; print MAIL "Eintrag von: $name\n"; if ($email eq "") { $email="Keine EMail-Adresse angegeben."; } print MAIL "Mail-Adresse: $email\n"; print MAIL "Kommentar:\n$comments\n"; print MAIL "\n"; if ($moderated eq "ON") { print MAIL "Moderatoren-Modus ist eingeschaltet.\n"; print MAIL "Der Eintrag muss freigeschaltet werden.\n\n"; print "\n"; } print MAIL "Nachricht loeschen:"; print MAIL "\n"; print MAIL "$scripturl?action=delete2&login=admin&password=$adminpwd"; print MAIL "&delete=$mydate\n"; print MAIL "\n"; print MAIL "Nachricht editieren:"; print MAIL "\n"; print MAIL "$scripturl?action=posts2&login=admin&password=$adminpwd"; print MAIL "&private=$mydate\n"; print MAIL "\n"; } print MAIL "\n"; close (MAIL); } if ($moderated ne "ON") { } &header; if ($messageorpage eq "1") { $output = ""; $output .= "
    $font $thankyoumessage

    $website_title
    "; if ($moderated eq "ON") { $output .="

    $font Danke!

    Sobald ich wieder online bin, setze ich Ihren Eintrag in das Gästebuch ein.
    "; } print $output; &footer; } else { print "

    $font Danke!

    Sobald ich wieder online bin, setze ich Ihren Eintrag in das Gästebuch ein.
  • "; } } ############################################################################ # File gegen gemeinsamen Zugriff schützen ############################################################################ sub LockFile { local(*DATEI=@_) ; if ($lock==1) { flock(DATEI,2); } } sub UnLockFile { local(*DATEI=@_) ; if ($Lock==1) { flock(DATEI,8); } } sub getnumber { open (NUMBERGET, "<$numberfile") || die "$numberfile nicht gefunden oder keine Berechtigung\n"; $number=; close (NUMBERGET); } sub gifsize { local($filename) = @_; open(GIF, "<$filename") || &error_invalid_file_type; read(GIF, $type, 6); $type =~ /GIF8[7,9]a/ || &error_invalid_file_type; read(GIF, $s, 4) == 4 || &error_invalid_file_type; close(GIF); ($a,$b,$c,$d)=unpack("C"x4,$s); # join ("", 'WIDTH=', $b<<8|$a, ' HEIGHT=', $d<<8|$c); $width = $b<<8|$a; $height = $d<<8|$c; } # jpegsize : gets the width and height (in pixels) of a jpeg file # Andrew Tong, werdna@ugcs.caltech.edu February 14, 1995 # modified slightly by alex@ed.ac.uk sub jpegsize { open ( JPEG, $file ); binmode ( JPEG ); my($done)=0; my($c1,$c2,$ch,$s,$length, $dummy)=(0,0,0,0,0,0); my($a,$b,$c,$d); if( read(JPEG, $c1, 1) && read(JPEG, $c2, 1) && ord($c1) == 0xFF && ord($c2) == 0xD8 ){ while (ord($ch) != 0xDA && !$done) { # Find next marker (JPEG markers begin with 0xFF) # This can hang the program!! while (ord($ch) != 0xFF) { return(0,0) unless read(JPEG, $ch, 1); } # JPEG markers can be padded with unlimited 0xFF's while (ord($ch) == 0xFF) { return(0,0) unless read(JPEG, $ch, 1); } # Now, $ch contains the value of the marker. if ((ord($ch) >= 0xC0) && (ord($ch) <= 0xC3)) { return(0,0) unless read (JPEG, $dummy, 3); return(0,0) unless read(JPEG, $s, 4); ($a,$b,$c,$d)=unpack("C"x4,$s); $width = $c<<8|$d; $height = $a<<8|$b; # return ($c<<8|$d, $a<<8|$b ); } else { # We **MUST** skip variables, since FF's within variable names are # NOT valid JPEG markers return(0,0) unless read (JPEG, $s, 2); ($c1, $c2) = unpack("C"x2,$s); $length = $c1<<8|$c2; last if (!defined($length) || $length < 2); read(JPEG, $dummy, $length-2); } } } return (0,0); } sub putnumber { open (NUMBERPUT, ">$numberfile") || die "$numberfile nicht gefunden oder keine Berechtigung\n"; print NUMBERPUT "$number"; close(NUMBERPUT); } sub error_invalid_file_type { &error("
    $font Upload ist fehlgeschlagen.
    Es können nur Dateien des Typs GIF oder JPG verwendet werden.

    "); exit; } ############################################### # Subroutine: CHECKMAIL sub checkmail { local($email) = @_; if ($email !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/) { &error("

    $font Bitte eine gültige EMail-Adresse angeben.
    "); &footer; exit; } } ############################################### # Subroutine: Fehlende Felder sub missingfields { print "Content-Type: text/html\n\n"; &header; print "
    $font $output
    "; &footer; exit; } ############################################### # Subroutine: Instant Delete sub instantdelete { print "Content-Type: text/html\n\n"; &header; print "
    $font Nachricht $FORM{'number'} l\&\#246;schen.
    "; print "
    "; print ""; print ""; print ""; print "$font Bitte Passwort eingeben: "; print ""; print "

    "; &footer; exit; } ############################################### # Subroutine: Instant Edit sub instantedit { print "Content-Type: text/html\n\n"; &header; print "
    $font Nachricht $FORM{'number'} editieren.
    "; print "
    "; print ""; print ""; print ""; print "$font Bitte Passwort eingeben: "; print ""; print "

    "; &footer; exit; } ############################################### # Subroutine: Error sub error { print "Content-Type: text/html\n\n"; &header; local($e) = @_; print "$font $e "; &footer; exit; } ############################################### # Subroutine: INPUTFIELD sub inputfield { open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); ($bezeichnung_name,$bezeichnung_email,$bezeichnung_city,$bezeichnung_URL,$bezeichnung_Homepagename,$bezeichnung_Strasse,$bezeichnung_plz,$bezeichnung_bundesland,$bezeichnung_country,$bezeichnung_phone,$bezeichnung_sex,$bezeichnung_icq,$bezeichnung_cust1,$bezeichnung_cust2,$bezeichnung_cust3,$bezeichnung_cust4,$bezeichnung_cust5,$bezeichnung_kommentar,$bezeichnung_uploadfile,$bzeichnung_datum,$bezeichnung_ip,$bezeichnung_banner) = split(/\|\%\%\|/, $log); open(LOG,"<$messagepath"."eingabefelder_required.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder_required.txt'"); $log=; close(LOG); ($require_name,$require_email,$require_city,$require_URL,$require_Homepagename,$require_Strasse, $require_plz, $require_bundesland, $require_country,$require_phone,$require_sex,$require_icq,$require_cust1,$require_cust2,$require_cust3,$require_cust4,$require_cust5,$require_kommentar,$require_uploadfile,$require_banner) = split(/\|\%\%\|/, $log); if ($require_name eq "0") { $radio_name_0 = "checked"; } elsif ($require_name eq "1") { $radio_name_1 = "checked"; } elsif ($require_name eq "2") { $radio_name_2 = "checked"; } else { $radio_name_1 = "checked"; } if ($require_banner eq "0") { $radio_banner_0 = "checked"; } elsif ($require_banner eq "1") { $radio_banner_1 = "checked"; } elsif ($require_banner eq "2") { $radio_banner_2 = "checked"; } else { $radio_banner_1 = "checked"; } if ($require_email eq "0") { $radio_email_0 = "checked"; } elsif ($require_email eq "1") { $radio_email_1 = "checked"; } elsif ($require_email eq "2") { $radio_email_2 = "checked"; } else { $radio_email_1 = "checked"; } if ($require_city eq "0") { $radio_city_0 = "checked"; } elsif ($require_city eq "1") { $radio_city_1 = "checked"; } elsif ($require_city eq "2") { $radio_city_2 = "checked"; } else { $radio_city_1 = "checked"; } if ($require_URL eq "0") { $radio_URL_0 = "checked"; } elsif ($require_URL eq "1") { $radio_URL_1 = "checked"; } elsif ($require_URL eq "2") { $radio_URL_2 = "checked"; } else { $radio_URL_1 = "checked"; } if ($require_Homepagename eq "0") { $radio_Homepagename_0 = "checked"; } elsif ($require_Homepagename eq "1") { $radio_Homepagename_1 = "checked"; } elsif ($require_Homepagename eq "2") { $radio_Homepagename_2 = "checked"; } else { $radio_Homepagename_1 = "checked"; } if ($require_Strasse eq "0") { $radio_Strasse_0 = "checked"; } elsif ($require_Strasse eq "1") { $radio_Strasse_1 = "checked"; } elsif ($require_Strasse eq "2") { $radio_Strasse_2 = "checked"; } else { $radio_Strasse_1 = "checked"; } if ($require_plz eq "0") { $radio_plz_0 = "checked"; } elsif ($require_plz eq "1") { $radio_plz_1 = "checked"; } elsif ($require_plz eq "2") { $radio_plz_2 = "checked"; } else { $radio_plz_1 = "checked"; } if ($require_bundesland eq "0") { $radio_bundesland_0 = "checked"; } elsif ($require_bundesland eq "1") { $radio_bundesland_1 = "checked"; } elsif ($require_bundesland eq "2") { $radio_bundesland_2 = "checked"; } else { $radio_bundesland_1 = "checked"; } if ($require_country eq "0") { $radio_country_0 = "checked"; } elsif ($require_country eq "1") { $radio_country_1 = "checked"; } elsif ($require_country eq "2") { $radio_country_2 = "checked"; } else { $radio_country_1 = "checked"; } if ($require_phone eq "0") { $radio_phone_0 = "checked"; } elsif ($require_phone eq "1") { $radio_phone_1 = "checked"; } elsif ($require_phone eq "2") { $radio_phone_2 = "checked"; } else { $radio_phone_1 = "checked"; } if ($require_sex eq "0") { $radio_sex_0 = "checked"; } elsif ($require_sex eq "1") { $radio_sex_1 = "checked"; } elsif ($require_sex eq "2") { $radio_sex_2 = "checked"; } else { $radio_sex_1 = "checked"; } if ($require_icq eq "0") { $radio_icq_0 = "checked"; } elsif ($require_icq eq "1") { $radio_icq_1 = "checked"; } elsif ($require_icq eq "2") { $radio_icq_2 = "checked"; } else { $radio_icq_1 = "checked"; } if ($require_cust1 eq "0") { $radio_cust1_0 = "checked"; } elsif ($require_cust1 eq "1") { $radio_cust1_1 = "checked"; } elsif ($require_cust1 eq "2") { $radio_cust1_2 = "checked"; } else { $radio_cust1_1 = "checked"; } if ($require_cust2 eq "0") { $radio_cust2_0 = "checked"; } elsif ($require_cust2 eq "1") { $radio_cust2_1 = "checked"; } elsif ($require_cust2 eq "2") { $radio_cust2_2 = "checked"; } else { $radio_cust2_1 = "checked"; } if ($require_cust3 eq "0") { $radio_cust3_0 = "checked"; } elsif ($require_cust3 eq "1") { $radio_cust3_1 = "checked"; } elsif ($require_cust3 eq "2") { $radio_cust3_2 = "checked"; } else { $radio_cust3_1 = "checked"; } if ($require_cust4 eq "0") { $radio_cust4_0 = "checked"; } elsif ($require_cust4 eq "1") { $radio_cust4_1 = "checked"; } elsif ($require_cust4 eq "2") { $radio_cust4_2 = "checked"; } else { $radio_cust4_1 = "checked"; } if ($require_cust5 eq "0") { $radio_cust5_0 = "checked"; } elsif ($require_cust5 eq "1") { $radio_cust5_1 = "checked"; } elsif ($require_cust5 eq "2") { $radio_cust5_2 = "checked"; } else { $radio_cust5_1 = "checked"; } if ($require_uploadfile eq "0") { $radio_uploadfile_0 = "checked"; } elsif ($require_uploadfile eq "1") { $radio_uploadfile_1 = "checked"; } elsif ($require_uploadfile eq "2") { $radio_uploadfile_2 = "checked"; } else { $radio_uploadfile_1 = "checked"; } if ($require_kommentar eq "0") { $radio_kommentar_0 = "checked"; } elsif ($require_kommentar eq "1") { $radio_kommentar_1 = "checked"; } elsif ($require_kommentar eq "2") { $radio_kommentar_2 = "checked"; } else { $radio_kommentar_1 = "checked"; } print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Definition Eingabefelder)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Definition der Eingabefelder:

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "
    $font Eingabefeld     $font Nein $font Optional $font Verlangt     $font Bezeichnung
                     
    $font Name         $font
    $font EMail         $font
    $font URL         $font
    $font Homepagename         $font
    $font Strasse         $font
    $font Stadt         $font
    $font PLZ         $font
    $font Bundesland         $font
    $font Land         $font
    $font Telefon         $font
    $font ICQ         $font
    $font Geschlecht         $font
    $font Custom1         $font
    $font Custom2         $font
    $font Custom3         $font
    $font Custom4         $font
    $font Custom5         $font
    $font Bild-Upload         $font
    $font Kommentar         $font
    $font Banner         $font

    "; print "$font"; print "
    "; &adminfooter; } ############################################### # Subroutine: INPUTFIELD2 sub inputfield2 { open(LOG,">$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); print LOG "$FORM{'bezeichnung_name'}|%%|$FORM{'bezeichnung_email'}|%%|$FORM{'bezeichnung_city'}|%%|$FORM{'bezeichnung_URL'}|%%|$FORM{'bezeichnung_Homepagename'}|%%|$FORM{'bezeichnung_Strasse'}|%%|$FORM{'bezeichnung_plz'}|%%|$FORM{'bezeichnung_bundesland'}|%%|$FORM{'bezeichnung_country'}|%%|$FORM{'bezeichnung_phone'}|%%|$FORM{'bezeichnung_sex'}|%%|$FORM{'bezeichnung_icq'}|%%|$FORM{'bezeichnung_cust1'}|%%|$FORM{'bezeichnung_cust2'}|%%|$FORM{'bezeichnung_cust3'}|%%|$FORM{'bezeichnung_cust4'}|%%|$FORM{'bezeichnung_cust5'}|%%|$FORM{'bezeichnung_kommentar'}|%%|$FORM{'bezeichnung_uploadfile'}|%%|$FORM{'Datum'}|%%|$FORM{'ip'}|%%|$FORM{'bezeichnung_banner'}|%%|$FORM{'status'}"; close(LOG); open(LOG,">$messagepath"."eingabefelder_required.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder_required.txt'"); print LOG "$FORM{'q_name'}|%%|$FORM{'q_email'}|%%|$FORM{'q_city'}|%%|$FORM{'q_URL'}|%%|$FORM{'q_Homepagename'}|%%|$FORM{'q_Strasse'}|%%|$FORM{'q_plz'}|%%|$FORM{'q_bundesland'}|%%|$FORM{'q_country'}|%%|$FORM{'q_phone'}|%%|$FORM{'q_sex'}|%%|$FORM{'q_icq'}|%%|$FORM{'q_cust1'}|%%|$FORM{'q_cust2'}|%%|$FORM{'q_cust3'}|%%|$FORM{'q_cust4'}|%%|$FORM{'q_cust5'}|%%|$FORM{'q_kommentar'}|%%|$FORM{'q_uploadfile'}|%%|$FORM{'q_banner'}"; close(LOG); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Definition Eingabefelder)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font Eingabefelder aktualisiert!
    "; &adminfooter; } ############################################### # Subroutine: PICOPTS sub picopts { open(UPLOAD,"<$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); $uploading=; close(UPLOAD); ($imgdir,$ext1,$ext2,$maxkb,$maxfiles,$namebase,$fileurl,$scaleimage,$scalewidth, $scaleheight,$border,$scalefactor,$exceedbreite,$exceedhoehe,$andor,$firstfactor,$secondfactor) = split(/\|\%\%\|/, $uploading); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Bild-Upload)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Allgemeine Einstellungen:

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "
    $font3 Maschinenpfad zum
    Upload-Verzeichnis:


    $font3 Erlaubte Filetypen: $font3 $ext1 , $ext2

    $font3 Maximale Filegrösse: $font3 KB

    $font3 Max. Anzahl von Files im
    Vezeichnis:


    $font3 Bilder werden umbenannt in:
    $font4(Bild=Bild1,Bild2...)


    $font3 URL zum Upload-Verzeichnis:

    $font3 Bilder automatisch skalieren?"; if ($scaleimage eq "1") { $radio_scale_0 = "checked"; } elsif ($scaleimage eq "2") { $radio_scale_2 = "checked"; } elsif ($scaleimage eq "3") { $radio_scale_3 = "checked"; } elsif ($scaleimage eq "o") { $radio_scale_1 = "checked"; } else { $radio_scale_1 = "checked"; } if ($andor eq "0") { $andoron_0 = "checked"; } elsif ($andor eq "1") { $andoron_1 = "checked"; } else { $andoron_0 = "checked"; } print "$font3 Nicht skalieren
    $font3 Skalieren auf Pixel Breite, Pixel Höhe
    "; print "$font3 Skalieren auf Prozent
    "; print "
    $font3 Skalieren, wenn Bild
      breiter als Pixel"; print "
      und oder
      höher als Pixel ist."; print "
      Skalieren einmalig um Prozent und dann in - Prozent-Schritten, bis Bild passend.
    "; print "

    $font3 Umrandung : $font3 Pixel


    "; print "$font"; print "
    "; &adminfooter; } ############################################### # Subroutine: PICOPTS2 sub picopts2 { open(LOG,">$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); print LOG "$FORM{'imgdir'}|%%|$FORM{'ext1'}|%%|$FORM{'ext2'}|%%|$FORM{'maxkb'}|%%|$FORM{'maxfiles'}|%%|$FORM{'namebase'}|%%|$FORM{'fileurl'}|%%|$FORM{'scale'}|%%|$FORM{'width'}|%%|$FORM{'height'}|%%|$FORM{'border'}|%%|$FORM{'factor'}|%%|$FORM{'exceedbreite'}|%%|$FORM{'exceedhoehe'}|%%|$FORM{'andor'}|%%|$FORM{'firstfactor'}|%%|$FORM{'secondfactor'}"; close(LOG); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Bild-Upload)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font Einstellungen aktualisiert!
    "; &adminfooter; } ############################################### # Subroutine: GENERAL sub general { open(LOG,"<$messagepath"."guestzillaproperties.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaproperties.txt'"); $properties=; close(LOG); ($adminpwd, $scriptname, $website_title,$signway,$badwordfilter,$allowhtml,$entriesperpage,$usefasthtm,$timediff,$translateemote,$previewon,$wordlength,$moderated,$code,$popwidth,$popheigth) = split(/\|\%\%\|/, $properties); $adminpwd=(reverse $adminpwd); $adminpwd =~ tr/c-zab/a-z/; $adminpwd =~ tr/b-za/a-z/; print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Allgemeine Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Allgemeine Einstellungen:

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; print ""; if ($badwordfilter eq "1") { $radio_badword_0 = "checked"; } elsif ($badwordfilter eq "0") { $radio_badword_1 = "checked"; } else { $radio_badword_1 = "checked"; } print ""; if ($allowhtml eq "1") { $radio_html_0 = "checked"; } elsif ($allowhtml eq "0") { $radio_html_1 = "checked"; } elsif ($allowhtml eq "2") { $radio_html_2 = "checked"; } else { $radio_html_1 = "checked"; } print ""; print ""; if ($usefasthtm eq "1") { $radio_fast_0 = "checked"; } elsif ($usefasthtm eq "0") { $radio_fast_1 = "checked"; } else { $radio_fast_1 = "checked"; } print ""; print ""; if ($translateemote eq "1") { $radio_translate_0 = "checked"; } elsif ($translateemote eq "0") { $radio_translate_1 = "checked"; } else { $radio_translate_1 = "checked"; } print ""; if ($moderated eq "ON") { $radio_moderate_0 = "checked"; } elsif ($moderated eq "OFF") { $radio_moderate_1 = "checked"; } else { $radio_moderate_1 = "checked"; } print ""; if ($code eq "1") { $radio_code_0 = "checked"; } elsif ($code eq "0") { $radio_code_1 = "checked"; } else { $radio_code_1 = "checked"; } print ""; print ""; if ($previewon eq "1") { $radio_pre_0 = "checked"; } elsif (previewon eq "0") { $radio_pre_1 = "checked"; } else { $radio_pre_1 = "checked"; } print ""; ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6]; $time = sprintf("%02d:%02d:%02d",$hour,$min,$sec); ($sec2,$min2,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6]; $hour2=$hour+$timediff; $time2 = sprintf("%02d:%02d:%02d",$hour2,$min2,$sec2); print "
    "; print ""; print "
    $font3 Passwort:

    $font3 Titel des Gästebuchs:

    $font3 Wo werden neue Einträge eingefügt?"; if ($signway eq "top") { $radio_signway_0 = "checked"; } elsif ($signway eq "bottom") { $radio_signway_1 = "checked"; } else { $radio_signway_1 = "checked"; } print "$font3 Oberhalb des letzten Eintrags
    $font3 Unterhalb des letzten Eintrags

    $font3 Badwordfilter an/aus?"; print "$font3 AN
    $font3 AUS

    $font3 HTML in Einträgen zulassen?"; print "$font3 HTML darf verwendet werden
    $font3 HTML-Tags werden wie normaler Text behandelt
    $font3 HTML-Tags werden gelöscht

    $font3 Wie viele Einträge auf einer Seite?

    $font3 Maximale Länge eines Wortes im Kommentar?

    $font3 Schnell-HTML benutzen?

    $font4 (nur sinnvoll, wenn HTML in Einträgen zugelassen wird und ein externes Formular zur Verfügung steht)

    "; print "
    $font3 Schnell-HTML verwenden
    $font3 Schnell-HTML nicht verwenden

    $font3 Emoticons in Grafiken übersetzen? ( :-) = z.B. )"; print "$font3 Ja, übersetzen
    $font3 Nein

    $font3 Moderator-Modus einschalten?"; print "$font3 ON
    $font3 OFF

    $font3 Guestzilla-Code verwenden?"; print "$font3 Ja, einschalten
    $font3 Ausschalten

    $font3 PopUp-Fenster für die Userhilfe
    bzgl. Code und Smileys:
    $font3 Breite des PopUp-Fensters: "; print "
    $font3 Höhe des PopUp-Fensters:

    $font3 Vorschaumöglichkeit aktivieren?"; print "$font3 Ja
    $font3 Nein

    $font3 Aktuelle Serverzeit: $time $font3 Unterschied zu Ortszeit: Stunden -
    Ortszeit: $time2

    "; print "$font"; print "
    "; &adminfooter; } ############################################### # Subroutine: GENERAL2 sub general2 { $password=$FORM{'password'}; $password =~ tr/a-z/b-za/; $password =~ tr/a-z/c-zab/; $password=(reverse $password); open(LOG,">$messagepath"."guestzillaproperties.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaproperties.txt'"); print LOG "$password|%%|$FORM{'scriptname'}|%%|$FORM{'title'}|%%|$FORM{'signway'}|%%|$FORM{'badword'}|%%|$FORM{'html'}|%%|$FORM{'entries'}|%%|$FORM{'fast'}|%%|$FORM{'timediff'}|%%|$FORM{'translate'}|%%|$FORM{'pre'}|%%|$FORM{'wordlength'}|%%|$FORM{'moderate'}|%%|$FORM{'code'}|%%|$FORM{'popwidth'}|%%|$FORM{'popheigth'}"; close(LOG); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Allgemeine Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font Einstellungen aktualisiert!
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT sub output { #Output einlesen open(OUTPUT,"<$messagepath"."guestzillaoutput.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaoutput.txt'"); $output=; close(OUTPUT); ($font,$font2,$font3,$font4, $header, $footer, $template,$quickjump,$mailprefix,$mailsuffix,$URLprefix,$URLsuffix,$tablebgcolor,$thankyoumessage,$messageorpage,$thankyoupage,$icqonline,$header2,$deletegif,$editgif,$font5,$commentheading,$previewpic,$commentpic,$adminbgcolor,$codehelp,$htmlyesgif,$htmlnogif,$smileyhelp,$nohomepagename,$nohomepage,$urlashomepage) = split(/\|\%\%\|/, $output); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Ausgabeoptionen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Ausgabe-Optionen:

    "; print "
    "; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; if ($urlashomepage eq "1") { $radio_urlhome_0 = "checked"; } elsif ($urlashomepage eq "0") { $radio_urlhome_1 = "checked"; } else { $radio_urlhome_1 = "checked"; } print ""; print ""; if ($quickjump eq "1") { $radio_quick_0 = "checked"; } elsif ($quickjump eq "0") { $radio_quick_1 = "checked"; } else { $radio_quick_1 = "checked"; } print ""; if ($icqonline eq "1") { $radio_online_0 = "checked"; } elsif ($icqonline eq "0") { $radio_online_1 = "checked"; } else { $radio_online_1 = "checked"; } print ""; if ($messageorpage eq "1") { $radio_thanx_0 = "checked"; } elsif ($messageorpage eq "0") { $radio_thanx_1 = "checked"; } else { $radio_thanx_0 = "checked"; } print ""; print ""; print ""; print "
    $font3 Hintergrundfarbe Admin-Bereich:

    $font4 (als HTML Angabe,zB $adminbgcolor)




    $font3 Standardschriftart:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Kleine Standardschriftart:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Standardschriftart in Tabellen:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Kleine Standardschriftart in Tabellen:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Schriftart für Kommentare:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Kommentarüberschrift:

    $font4 (als HTML-Tags ohne \"\")




    $font3 Header-Template:



    $font3 Header-Template 2:



    $font3 Footer-Template:


    $font3 Mittel-Template:



    $font3 Codehelp-Template:



    $font3 Smileyhelp-Template:



    $font3 Löschen-Bild:

    $font4 (als URL ohne \"\")




    $font3 Editieren-Bild:

    $font4 (als URL ohne \"\")




    $font3 \"HTML-YES\"-Bild:

    $font4 (als URL ohne \"\")




    $font3 \"HTML-NO\"-Bild:

    $font4 (als URL ohne \"\")




    $font3 Platzhalter Vorschau bei Bild-Upload:

    $font4 (als URL ohne \"\")




    $font3 \"Kommentar abgeben\"-Bild:

    $font4 (als URL ohne \"\")




    $font3 Mailprefix:

    $font4 (als HTML-Tag ohne \"\")



    $font3 Mailsuffix:

    $font4 (als HTML-Tag ohne \"\")




    $font3 URLprefix:

    $font4 (als HTML-Tag ohne \"\")




    $font3 URLsuffix:

    $font4 (als HTML-Tag ohne \"\")




    $font3 Falls kein Homepagename angegeben,
    folgendes auswerfen:




    $font3 Falls keine Homepage angegeben,
    folgendes auswerfen:




    $font3 URL als Homepagename auswerfen?

    $font4 (zB: Homepage: www.domain.de)"; print "
    $font3 Ja
    $font3 Nein



    $font3 Tabellenhintergrundfarbe:

    $font4 (Hex mit # etwa #CCCCCC)




    $font3 Quickjump aktivieren?"; print "$font3 Quickjump aktivieren
    $font3 Quickjump de-aktivieren



    $font3 Online-Status mit Link zu Communication Panel oder nur UIN bei ICQ zeigen?"; print "$font3 Online-Status
    $font3 Nur UIN



    $font3 Einfache Dankeschön-Message
    oder Extra-Seite aufrufen?"; print "
    $font3 Nur Nachricht
    $font3 Extra-Seite



    $font3 Dankeschönnachricht:


    $font3 Dankeschön-Seite (URL ohne \"\", mit http://):




    "; print "$font"; print "
    "; print "
    $font$font HEADER-Template:

    "; open(LOG,"<$messagepath"."$header"); @header=; close(LOG); if (!-e "$messagepath"."$header") { @header = "Kein Header-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font HEADER 2-Template:

    "; open(LOG,"<$messagepath"."$header2"); @header2=; close(LOG); if (!-e "$messagepath"."$header2") { @header = "Kein Header 2-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font MIDDLE-Template:

    "; open(LOG,"<$messagepath"."$template"); @template=; close(LOG); if (!-e "$messagepath"."$template") { @template = "Kein Middle-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font FOOTER-Template:

    "; open(LOG,"<$messagepath"."$footer"); @footer=; close(LOG); if (!-e "$messagepath"."$footer") { @footer = "Kein FOOTER-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font $codehelp-Template:

    "; open(LOG,"<$messagepath"."$codehelp"); @codehelp=; close(LOG); if (!-e "$messagepath"."$codehelp") { @codehelp = "Kein Codehelp-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font $smileyhelp-Template:

    "; open(LOG,"<$messagepath"."$smileyhelp"); @smileyhelp=; close(LOG); if (!-e "$messagepath"."$smileyhelp") { @codehelp = "Kein Smileyhelp-Template"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT2 sub output2 { open(LOG,">$messagepath"."guestzillaoutput.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaoutput.txt'"); print LOG "$FORM{'font'}|%%|$FORM{'font2'}|%%|$FORM{'font3'}|%%|$FORM{'font4'}|%%|$FORM{'header'}|%%|$FORM{'footer'}|%%|$FORM{'template'}|%%|$FORM{'quickjump'}|%%|$FORM{'mailprefix'}|%%|$FORM{'mailsuffix'}|%%|$FORM{'urlprefix'}|%%|$FORM{'urlsuffix'}|%%|$FORM{'tablecolor'}|%%|$FORM{'thanxmessage'}|%%|$FORM{'thanx'}|%%|$FORM{'thankyoupage'}|%%|$FORM{'online'}|%%|$FORM{'header2'}|%%|$FORM{'deletegif'}|%%|$FORM{'editgif'}|%%|$FORM{'commentfont'}|%%|$FORM{'commentheading'}|%%|$FORM{'previewpic'}|%%|$FORM{'commentpic'}|%%|$FORM{'adminbgcolor'}|%%|$FORM{'codehelp'}|%%|$FORM{'htmlyesgif'}|%%|$FORM{'htmlnogif'}|%%|$FORM{'smileyhelp'}|%%|$FORM{'nohomepagename'}|%%|$FORM{'nohomepage'}|%%|$FORM{'urlhome'}"; close(LOG); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Ausgabe-Optionen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font Einstellungen aktualisiert!
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT3 sub output3 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($header)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$header"); print LOG "$FORM{'header'}"; close(LOG); print "$font Update $header erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT6 sub output6 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($header)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$header2"); print LOG "$FORM{'header2'}"; close(LOG); print "$font Update $header2 erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT7 sub output7 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($codehelp)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$codehelp"); print LOG "$FORM{'codehelp'}"; close(LOG); print "$font Update $codehelp erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT8 sub output8 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($smileyhelp)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$smileyhelp"); print LOG "$FORM{'smileyhelp'}"; close(LOG); print "$font Update $smileyhelp erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT4 sub output4 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($template)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$template"); print LOG "$FORM{'template'}"; close(LOG); print "$font Update $template erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: OUTPUT5 sub output5 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title ($footer)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."$footer"); print LOG "$FORM{'footer'}"; close(LOG); print "$font Update $footer erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: BADWORD sub badword { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Badword-Liste)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,"<$messagepath"."badword.txt"); @banned=; close(LOG); if (!-e "$messagepath"."badword.txt") { @banned = "Fuck=F**ck"; } print "
    $font$font Badword-Liste:

    "; print "
    "; print ""; print ""; print ""; print "$font Sollte jemand Kraftsausdrücke benutzen, so können diese automatisch 'entschäft' werden!"; print "

    "; print "$font Welche Wörter willst Du automatisch ersetzen (Funktion ist nicht 'case sensitive') ?
    "; print "Beispiel:
    "; print "$font   fuck=f**ck
    "; print "$font   Arschloch=nicht so nette Person.

    "; print ""; print "

    "; print ""; print "

    "; &adminfooter; } ############################################### # Subroutine: BADWORD2 sub updatebadword { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Badword-Liste)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."badword.txt"); print LOG "$FORM{'banned'}"; close(LOG); print "$font Update der Badword-Liste erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: Emoticon sub emoticon { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Emoticon-Übersetzer)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(MOTE,"<$messagepath"."emoticons.txt"); @emote=; close(MOTE); if (!-e "$messagepath"."emoticons.txt") { @emote = ":-)=http://www.deinedomain.de/smile.gif"; } print "
    $font$font Emoticon-Übersetzer:

    "; print "
    "; print ""; print ""; print ""; print "$font Hier kannst Du festlegen, in welche Grafiken Emoticons übersetzt werden,
    wenn dieses Feature eingeschaltet ist."; print "
    (Bitte nur die URL zum Bild angeben, ohne Anführungszeichen.)

    "; print ""; print "

    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: EMOTICON2 sub emoticon2 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Emoticon-Übersetzer)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."emoticons.txt"); print LOG "$FORM{'emotes'}"; close(LOG); print "$font Update des Emoticon-Übersetzers erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: DELETE sub delete { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Einträge löschen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font$font Einträge löschen:

    "; print "
    $font2Mehr als einen Eintrag löschen
    "; print "
    $font Welche Nachricht löschen ?
    "; $ext = '.guestlog'; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); @lines=; close(GUEST); print "
    "; print ""; print ""; print ""; print ""; print ""; print "


    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: DELETE sub delete2 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Einträge löschen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; $ext = '.guestlog'; open(GUEST,"<$messagepath$FORM{'delete'}$ext") || &adminerror("File wurde nicht gefunden:
    '$msnname'"); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepagename,$strasse,$plz,$bundesland,$country,$phone,$sex,$icq,$cust1,$cust2,$cust3,$cust4,$cust5,$comment,$uploadfile,$date) = split(/\|\%\%\|/, $guest); open(UPLOAD,"<$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); $uploading=; close(UPLOAD); ($imgdir,$ext1,$ext2,$maxkb,$maxfiles,$namebase,$fileurl,$scaleimage,$scalewidth, $scaleheight,$border) = split(/\|\%\%\|/, $uploading); $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); &LockFile(GUEST); @lines=; close(GUEST); &UnLockFile(GUEST); $ext = '.guestlog'; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); &LockFile(GUEST); @lines=; &UnLockFile(GUEST); close(GUEST); unlink ("$messagepath$FORM{'delete'}$ext"); $newlines = ""; foreach $line (@lines) { if ($line ne "$FORM{'delete'}\n") { $newlines .= "$line"; } } open(GUEST,">$path2"); &LockFile(GUEST); print GUEST "$newlines"; close(GUEST); &UnLockFile(GUEST); print "$font Nachricht ($FORM{'delete'}) wurde gelöscht.
    "; if ($uploadfile ne"") { $uploadfile =~ s!^.*(\\|\/)!!; $length = (length($uploadfile)); $length=$length-1; $uploadfile=(substr($uploadfile,0,$length)); $gif=".gif"; $uploadfilepos=(index $uploadfile,$gif); if ($uploadfilepos eq "-1") { $jpg=".jpg"; $uploadfilepos=(index $uploadfile,$jpg); } $uploadfile=(substr($uploadfile,0,$uploadfilepos+4)); unlink ("$imgdir/$uploadfile"); } &adminfooter; } ############################################### # Subroutine: MEHR ALS EINEN EINTRAG LÖSCHEN sub deletemorethanone { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Löschen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    "; print ""; print ""; print ""; print "
    $font Mehr als einen Eintrag löschen:

    "; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); @lines=; close(GUEST); print ""; print ""; print ""; print ""; $ext=".guestlog"; print ""; foreach $line (@lines) { if ($line ne "") { $msnname = "$line"; $msnname =~ s/\n//g; open(GUEST,"<$messagepath$msnname$ext") || &adminerror("File wurde nicht gefunden:
    '$msnname'"); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepagename,$strasse,$plz,$bundesland,$country,$phone,$sex,$icq,$cust1,$cust2,$cust3,$cust4,$cust5,$comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); push(@usedValues,$msnname); print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; if ($banner eq "") { print ""; } else { print ""; } print ""; print ""; } } print "
    $font4"; print ""; print "Löschen "; print "
    $font4 ID: $msnname
    "; print "
    $font4 vom $date"; print "
    $font2$font2 Verfasser: $name
    $font2 Text: $comment

    $font2 Bild-Upload:
    $uploadfile

    $font2 Banner:
    $font2 Kein Banner vorhanden
    $font2 Banner:

    "; print ""; print "$font2 IP bannen
    ( $ip )




    "; print " \n"; print ""; print ""; &adminfooter; } ############################################### # Subroutine: MEHR ALS EINEN EINTRAG LÖSCHEN2 sub deletemorethanone2 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Löschen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; @usedValues = split(/\s/,$FORM{'usedValues'}); open(BAN,"<$messagepath"."bannedip.txt"); @BAN=; close(BAN); foreach $usedValue (@usedValues) { if ($FORM{'remove'.$usedValue}) { push(@REMOVE, $usedValue); } if ($FORM{'ban'.$usedValue}) { push(@BAN, $FORM{'ban'.$usedValue}); } } foreach $delete (@REMOVE) { $ext = '.guestlog'; open(GUEST,"<$messagepath$delete$ext") || &adminerror("File wurde nicht gefunden:
    '$delete'"); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepagename,$strasse,$plz,$bundesland,$country,$phone,$sex,$icq,$cust1,$cust2,$cust3,$cust4,$cust5,$comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); open(UPLOAD,"<$messagepath"."uploadconfig.txt") || &adminerror("File wurde nicht gefunden:
    'uploadconfig.txt'"); $uploading=; close(UPLOAD); ($imgdir,$ext1,$ext2,$maxkb,$maxfiles,$namebase,$fileurl,$scaleimage,$scalewidth, $scaleheight,$border) = split(/\|\%\%\|/, $uploading); $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); &LockFile(GUEST); @lines=; close(GUEST); &UnLockFile(GUEST); $ext = '.guestlog'; $path2 = "$messagepath"."entrylogs.txt"; open(GUEST,"<$path2"); &LockFile(GUEST); @lines=; &UnLockFile(GUEST); close(GUEST); unlink ("$messagepath$delete$ext"); $newlines = ""; foreach $line (@lines) { if ($line ne "$delete\n") { $newlines .= "$line"; } } open(GUEST,">$path2"); &LockFile(GUEST); print GUEST "$newlines"; close(GUEST); &UnLockFile(GUEST); if ($uploadfile ne"") { $uploadfile =~ s!^.*(\\|\/)!!; $length = (length($uploadfile)); $length=$length-1; $uploadfile=(substr($uploadfile,0,$length)); $gif=".gif"; $uploadfilepos=(index $uploadfile,$gif); if ($uploadfilepos eq "-1") { $jpg=".jpg"; $uploadfilepos=(index $uploadfile,$jpg); } $uploadfile=(substr($uploadfile,0,$uploadfilepos+4)); unlink ("$imgdir/$uploadfile"); } print "$font Nachricht $delete wurde gelöscht.
    "; } unlink("$messagepath/bannedip.txt"); open(BAN,">>$messagepath"."bannedip.txt"); foreach $banned (@BAN) { $banned =~ s/\n//g; print BAN "$banned\n"; } close(BAN); print "$font Update erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: MAILPROPS sub mailprops { #Mailprobs einlesen open(MAILPROP,"<$messagepath"."guestzillaemail.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaemail.txt'"); $mailprops=; close(MAILPROP); ($sendvisitor,$sendowner,$ownermail,$mailprog,$include) = split(/\|\%\%\|/, $mailprops); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (EMail-Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    "; print ""; print ""; print ""; print "
    $font Allgemeine EMail-Einstellungen:

    "; print ""; if ($sendvisitor eq "1") { $radio_send_0 = "checked"; } elsif ($sendvisitor eq "0") { $radio_send_1 = "checked"; } else { $radio_send_1 = "checked"; } print ""; if ($sendowner eq "1") { $radio_own_0 = "checked"; } elsif ($sendowner eq "0") { $radio_own_1 = "checked"; } else { $radio_own_0 = "checked"; } print ""; if ($include eq "1") { $radio_include_0 = "checked"; } elsif ($include eq "0") { $radio_include_1 = "checked"; } else { $radio_include_0 = "checked"; } print ""; print ""; print ""; print "
    $font3 Per Mail für Einträge bedanken?"; print "$font3 Ja
    $font3 Nein

    $font3 Benachrichtigung bei neuen Einträgen?"; print "$font3 Ja
    $font3 Nein

    $font3 Inhalt des Eintrags (Name, EMail, Kommentar) an die Mail anhängen?"; print "$font3 Ja
    $font3 Nein

    $font3 Admin-Mail:
    $font3 Pfad zum Sendmail-Programm:

    "; print "$font"; print "
    "; print "
    $font$font Dankeschönnachricht:

    "; open(LOG,"<$messagepath"."guestzillathx.txt"); @thanx=; close(LOG); if (!-e "$messagepath"."guestzillathx.txt") { @thanx = "Keine Nachricht vorhanden"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font Admin-Benachrichtigung:

    "; open(LOG,"<$messagepath"."guestzillanotify.txt"); @notify=; close(LOG); if (!-e "$messagepath"."guestzillanotify.txt") { @thanx = "Keine Nachricht vorhanden"; } print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: MAILPROPS3 sub mailprops3 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (EMail-Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."guestzillathx.txt"); print LOG "$FORM{'thanx'}"; close(LOG); print "$font Update der Dankeschönnachricht erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: MAILPROPS4 sub mailprops4 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (EMail-Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."guestzillanotify.txt"); print LOG "$FORM{'notify'}"; close(LOG); print "$font Update der Adminbenachrichtigung erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: MAILPROPS2 sub mailprops2 { open(LOG,">$messagepath"."guestzillaemail.txt") || &adminerror("File wurde nicht gefunden:
    'guestzillaemail.txt'"); print LOG "$FORM{'send'}|%%|$FORM{'own'}|%%|$FORM{'ownermail'}|%%|$FORM{'mailprog'}|%%|$FORM{'includecomment'}"; close(LOG); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (EMail-Einstellungen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; print "
    $font Einstellungen aktualisiert!
    "; &adminfooter; } ############################################### # Subroutine: PREVIEW sub preview { $output=""; $previewschritt="1"; open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); ($bezeichnung_name,$bezeichnung_email,$bezeichnung_city,$bezeichnung_URL,$bezeichnung_Homepagename,$bezeichnung_Strasse,$bezeichnung_plz,$bezeichnung_bundesland,$bezeichnung_country,$bezeichnung_phone,$bezeichnung_sex,$bezeichnung_icq,$bezeichnung_cust1,$bezeichnung_cust2,$bezeichnung_cust3,$bezeichnung_cust4,$bezeichnung_cust5,$bezeichnung_kommentar,$bezeichnung_uploadfile,$bezeichnung_datum,$bezeichnung_ip,$bezeichnung_banner) = split(/\|\%\%\|/, $log); open(LOG,"<$messagepath"."eingabefelder_required.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder_required.txt'"); $log=; close(LOG); ($require_name,$require_email,$require_city,$require_URL,$require_Homepagename,$require_Strasse, $require_plz, $require_bundesland, $require_country,$require_phone,$require_sex,$require_icq,$require_cust1,$require_cust2,$require_cust3,$require_cust4,$require_cust5,$require_kommentar,$require_uploadfile,$require_banner) = split(/\|\%\%\|/, $log); if ($FORM{'URL'} eq "http://") { $FORM{'URL'}=""; } if ($FORM{'banner'} eq "http://") { $FORM{'banner'}=""; } if ($require_email eq "2") { &checkmail("$FORM{'email'}"); } if ("$FORM{'email'}" ne "") { &checkmail("$FORM{'email'}"); } if ($require_name eq "2") { if ($FORM{'name'} eq "") { $output .= "
  • $bezeichnung_name"; $error = "1"; } } if ($require_email eq "2") { if ($FORM{'email'} eq "") { $output .= "
  • $bezeichnung_email"; $error = "1"; } } if ($require_URL eq "2") { if ($FORM{'URL'} eq "") { $output .= "
  • $bezeichnung_URL"; $error = "1"; } } if ($require_banner eq "2") { if ($FORM{'banner'} eq "") { $output .= "
  • $bezeichnung_banner"; $error = "1"; } } if ($require_icq eq "2") { if ($FORM{'sex'} eq "") { $output .= "
  • $bezeichnung_icq"; $error = "1"; } } if ($require_Strasse eq "2") { if ($FORM{'street'} eq "") { $output .= "
  • $bezeichnung_Strasse"; $error = "1"; } } if ($require_bundesland eq "2") { if ($FORM{'bundesland'} eq "") { $output .= "
  • $bezeichnung_bundesland"; $error = "1"; } } if ($require_plz eq "2") { if ($FORM{'plz'} eq "") { $output .= "
  • $bezeichnung_plz"; $error = "1"; } } if ($require_country eq "2") { if ($FORM{'country'} eq "") { $output .= "
  • $bezeichnung_country"; $error = "1"; } } if ($require_phone eq "2") { if ($FORM{'phone'} eq "") { $output .= "
  • $bezeichnung_phone"; $error = "1"; } } if ($require_sex eq "2") { if ($FORM{'sex'} eq "") { $output .= "
  • $bezeichnung_sex"; $error = "1"; } } if ($require_icq eq "2") { if ($FORM{'icq'} eq "") { $output .= "
  • $bezeichnung_icq"; $error = "1"; } } if ($require_cust1 eq "2") { if ($FORM{'cust1'} eq "") { $output .= "
  • $bezeichnung_cust1"; $error = "1"; } } if ($require_cust2 eq "2") { if ($FORM{'cust2'} eq "") { $output .= "
  • $bezeichnung_cust2"; $error = "1"; } } if ($require_cust3 eq "2") { if ($FORM{'cust3'} eq "") { $output .= "
  • $bezeichnung_cust3"; $error = "1"; } } if ($require_cust4 eq "2") { if ($FORM{'cust4'} eq "") { $output .= "
  • $bezeichnung_cust4"; $error = "1"; } } if ($require_cust5 eq "2") { if ($FORM{'cust5'} eq "") { $output .= "
  • $bezeichnung_cust5"; $error = "1"; } } if ($require_uploadfile eq "2") { if ($FORM{'uploadfile'} eq "") { $output .= "
  • $bezeichnung_uploadfile"; $error = "1"; } } if ($require_Homepagename eq "2") { if ($FORM{'homepage'} eq "") { $output .= "
  • $bezeichnung_Homepagename"; $error = "1"; } } if ($require_kommentar eq "2") { if ($FORM{'message'} eq "") { $output .= "
  • $bezeichnung_kommentar"; $error = "1"; } } @days = ('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'); @months = ('1','2','3','4','5','6','7','8','9','10','11','12'); ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6]; $hour2=$hour+$timediff; $time = sprintf("%02d:%02d:%02d",$hour2,$min,$sec); $year += 1900; $FORM{'date'} = "$mday.$months[$mon].$year"; $comments = "$FORM{'message'}"; $comments =~ s/\n/\
    /g; #$comments =~ s/\>/>/g; #$comments =~ s/\Kommentar enthält ein zu langes Wort!"; &missingfields; } if ($error eq "1") { $pr = ""; $pr .= "
    Es wurden ein oder mehrere Felder nicht ausgefüllt, die benötigt werden (s.unten).
    Bitte drücke den 'Back'-Button Deines Browsers, um das nachzuholen.

    "; $pr2 = "$output"; $output = "$pr"; $output .= "$pr2"; &missingfields; } $ext = '.guestlog'; #Wie viele Eingabefelder ? open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); @fields = split(/\|\%\%\|/, $log); $FieldsCount=0; foreach (@fields) { $FieldsCount++; } print "Content-Type: text/html\n\n"; &header; print "$font

    Vorschau:

    "; print "
    "; print ""; print <<"EOM"; EOM @TheEntry=($FORM{'name'},$FORM{'email'},$FORM{'city'},$FORM{'URL'},$FORM{'homepage'},$FORM{'street'},$FORM{'plz'},$FORM{'bundesland'},$FORM{'country'},$FORM{'phone'},$FORM{'sex'},$FORM{'icq'},$FORM{'cust1'},$FORM{'cust2'},$FORM{'cust3'},$FORM{'cust4'},$FORM{'cust5'},$comments,$FORM{'uploadfile'},$FORM{'date'},$ENV{'REMOTE_ADDR'},$FORM{'banner'});; $comments =~ s/"/\"/g; $comment=$comments; for ($i = 0; $i < $FieldsCount; $i++) { $entry{$fields[$i]} = $TheEntry[$i]; } open(LOG,"<$messagepath"."badword.txt"); @banned=; close(LOG); open(EMOTE,"<$messagepath"."emoticons.txt"); @emoticons=; close(EMOTE); $comment2 = ""; $comment3 = ""; if ($badwordfilter eq "1") { foreach $line ($comment) { foreach $ban (@banned) { ($word1, $word2) = split(/\=/, $ban); $word1 =~ s/\n//g; $word2 =~ s/\n//g; $word1 =~ tr/[A-Z]/[a-z]/; $word2 =~ tr/[A-Z]/[a-z]/; $templine=$line; $templine =~ tr/[A-Z]/[a-z]/; if ($templine =~ /$word1/) { #$line =~ tr/[A-Z]/[a-z]/; $line =~ s/$word1/$word2/gi; } } $comment2 .= "$line"; } } else { $comment2 = ""; foreach $line ($comment) { $comment2 .= "$line"; } $comment2 .= "$line"; } if ($allowhtml eq "0") { $comment2 =~ s/
    /LINEBREAK/g; $comment2 =~ s/\&/&/g; $comment2 =~ s/\>/>/g; $comment2 =~ s/\/g; } if ($allowhtml eq "2") { $comment2 =~ s/
    /LINEBREAK/g; $comment2 =~ s/\&/&/g; $comment2 =~ s/\"/"/g; $comment2 =~ s/\<(.+?)\>//gmi; $comment2 =~ s/LINEBREAK/
    /g; } #$comment2 =~ s/\n/
    /; #$comment2 =~ s/\<br>/\
    /g; #$comment2 =~ s/\<BR>/\
    /g; if ($translateemote eq "1") { ########## EMOTICONS ÜBERSETZEN foreach $emoticon (@emoticons) { $changed2=""; $changed2.= ""; $comment2 =~ s/\Q$real\E/$changed2/g; } } ###########Guestzilla-Code if ($code eq "1") { $comment2 =~ s/\[b\](.+?)\[\/b\]/\$1\<\/B\>/gmi; $comment2 =~ s/\[i\](.+?)\[\/i\]/\$1\<\/I\>/gmi; $comment2 =~ s/\[u\](.+?)\[\/u\]/\$1\<\/u\>/gmi; $comment2 =~ s/\[url\]www.(.+?)\[\/url\]/www.$1<\/a>/gmi; $comment2 =~ s/\[url=www.(.+?)\]//gmi; $comment2 =~ s/\[url\]http:\/\/www.(.+?)\[\/url\]/www.$1<\/a>/gmi; $comment2 =~ s/\[url=http:\/\/www.(.+?)\]//gmi; $comment2 =~ s/\[url=(.+?)\]//gmi; $comment2 =~ s/\[url\]http:\/\/(.+?)\[\/url\]/$1<\/a>/gmi; $comment2 =~ s/\[\/url\]/<\/a>/gmi; $comment2 =~ s/\[email\](.+?)\@(.+?)\[\/email\]/$1\@$2<\/a>/gmi; $comment2 =~ s/\[email=(.+?)\]//gmi; $comment2 =~ s/\[\/email\]/<\/a>/gmi; } if ($FORM{'uploadfile'} eq "on") { $entry{$fields[18]} = "
    Platzhalter"; } if ($badwordfilter eq "1"){ $entry{$fields[17]}="$comment2"; } if ($allowhtml ne "1") { $entry{$fields[17]}="$comment2"; } #ICQ if ($entry{$fields[11]} ne "") { if ($icqonline eq "0") { $entry{$fields[11]}="#"."$entry{$fields[11]}"; } elsif ($icqonline eq "1") { $entry{$fields[11]}="
    "."#$entry{$fields[11]}"; } } if ($entry{$fields[21]} ne "") { $entry{$fields[21]}=""; } #KEINE URL ? if ($entry{$fields[3]} eq "") { $entry{$fields[4]}=$nohomepage; } #URL als Homepagename ? if (($entry{$fields[3]} ne "") &&($urlashomepage eq "1")){ $entry{$fields[4]}=$entry{$fields[3]}; } open (HELPER,"$messagepath"."$template") || &adminerror("File wurde nicht gefunden:
    '$template'"); @TMPLT=; close (HELPER); foreach $templ (@TMPLT) { for ($i = 0; $i < $FieldsCount; $i++) { $platzhalter[$i]=$entry{$fields[$i]}; #Mail-Adresse vorhanden ? if ($platzhalter[1] ne ""){ #wenn ja, Mailprefix,Mailsuffix hinzufuegen $templ =~ s/\[$fields[$i]\]/$mailprefix$entry{$fields[$i]}$mailsuffix/gi; $platzhalter[1]=""; #URL ? } elsif ($platzhalter[3] ne ""){ #wenn ja, URLprefix,URLsuffix hinzufuegen $templ =~ s/\[$fields[$i]\]/$URLprefix$entry{$fields[$i]}$URLsuffix/gi; $platzhalter[3]=""; $URLVORHANDEN="1" } elsif (($platzhalter[4] eq "") & ($URLVORHANDEN eq "1")){ #wenn ja, ergänzen $templ =~ s/\[$fields[$i]\]/$nohomepagename/gi; $platzhalter[4]=""; $URLVORHANDEN="0" } else { #normal schreiben $templ =~ s/\[$fields[$i]\]/$entry{$fields[$i]}/gi; $templ =~ s/\[DELETE\]/Löschen/gi; $templ =~ s/\[MODIFY\]/Editieren/gi; } } print "$templ"; } print "
    "; print ""; &footer; exit; } ############################################### # Subroutine: ADMIN sub admin { &adminheader; print "
    "; print ""; print ""; print "Administrator-Login: "; print ""; print "

    "; &adminfooter; } ############################################### # Subroutine: VIEW sub view { $ext = '.guestlog'; #Wie viele Eingabefelder ? open(LOG,"<$messagepath"."eingabefelder.txt") || &adminerror("File wurde nicht gefunden:
    'eingabefelder.txt'"); $log=; close(LOG); @fields = split(/\|\%\%\|/, $log); $FieldsCount=0; foreach (@fields) { $FieldsCount++; } #Wie viele Zeilen ? $howmanylines = 0; $displayzaehler=0; open (INFO, "$messagepath"."entrylogs.txt"); @slammie = ; close(INFO); foreach $slammie (@slammie) { $msnname = "$slammie"; $msnname =~ s/\n//g; open(GUEST,"<$messagepath$msnname$ext") || &adminerror("Kann Nachricht nicht öffnen: \"$msnname\"."); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepage, $street, $plz, $bundesland, $country, $phone, $sex, $icq, $cust1, $cust2, $cust3, $cust4, $cust5, $comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); if ($status ne "OFF") { $display[$displayzaehler]=$slammie; $displayzaehler++; } $howmanylines++; } print "Content-Type: text/html\n\n"; &header; &header2; #Welche Seite, Eintrag ? $linecount = 0; $howmanylines=$displayzaehler; @information = @display; $StartLine = ($ViewPage * $entriesperpage) - $entriesperpage; $EndLine = $StartLine + $entriesperpage; #Quickjump? if ($quickjump) { &quickjump; } else { print "
    $font2
    "; print "

    "; } if ($ViewPage > 1) { foreach $information (@information) { if ($linecount < $StartLine) { $linecount++; next; } elsif ($linecount < $EndLine) { &GetEntry; $linecount++; } } } { foreach $information (@information) { if ($linecount < $entriesperpage) { &GetEntry; $linecount++; } } } &GenerateRemaining; &footer; exit; } ############################################### # Subroutine: ACCESSCONTROL sub accesscontrol { open(LOG,"<$messagepath"."accessallowed.txt"); @allowed=; close(LOG); open(CONTROL,"<$messagepath"."accesscontrol.txt") || &adminerror("File wurde nicht gefunden:
    'accesscontrol.txt' "); $controlparams=; close(CONTROL); print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Access-Restriktionen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; ($usedomaincheck) = split(/\|\%\%\|/, $controlparams); open(BAN,"<$messagepath"."bannedip.txt"); @bannedip=; close(BAN); if ($usedomaincheck eq "1") { $radio_checkdomain_0 = "checked"; } elsif ($usedomaincheck eq "0") { $radio_checkdomain_1 = "checked"; } else { $radio_checkdomain_1 = "checked"; } print "$font Domain-Check durchführen?"; print "
    "; print "$font Ja$font Nein

    "; print "
    $font$font Diese Domains dürfen auf das Script zugreifen:

    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; print "
    $font$font Diese IP-Adressen sind gebanned:
    "; print "
    $font2 (Wildcards sind erlaubt (*))

    "; print "
    "; print ""; print ""; print ""; print ""; print "

    "; print ""; print "
    "; &adminfooter; } ############################################### # Subroutine: Accesscontrol2 sub accesscontrol2 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Access-Restriktionen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."accesscontrol.txt") || &adminerror("File wurde nicht gefunden:
    'accesscontrol.txt'"); print LOG "$FORM{'domaincheck'}|%%|"; close(LOG); open(LOG,">$messagepath"."accessallowed.txt"); print LOG "$FORM{'allowed'}"; close(LOG); print "$font Update der erlaubten Domains erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: Accesscontrol3 sub accesscontrol3 { print "Content-Type: text/html\n\n"; print ""; print ""; print "$scriptname - Administration von $website_title (Access-Restriktionen)"; print ""; print ""; print ""; print "
    "; print "

    \"Guestzilla-Logo\"

    "; print ""; print "\"Eingabefelder\""; print ""; print "\"Allgemeine"; print ""; print "\"Ausgabeoptionen\""; print ""; print "\"Einträge"; print ""; print "\"Einträge"; print ""; print "\"Badword-Liste\""; print ""; print "\"Bild-Upload\""; print ""; print "\"EMail-Optionen\""; print ""; print "\"Access-Restriktionen\""; print ""; print "\"Emoticon-Übersetzer\"

    "; open(LOG,">$messagepath"."bannedip.txt"); print LOG "$FORM{'bannedip'}"; close(LOG); print "$font Update der gesperrten IPs erfolgreich.
    "; &adminfooter; } ############################################### # Subroutine: ADMINHEADER sub adminheader { print "Content-Type: text/html\n\n"; print <<"EOM"; $scriptname - Administration

    Guestzilla-Administration

     


    EOM } ############################################### # Subroutine: ADMINFOOTER sub adminfooter { print <<"EOM";

    $scriptname - Copyright 2001 by Martin Stemberg

    EOM } ############################################### # Subroutine: ADMINERROR sub adminerror { local($e) = @_; &adminheader; print "
    $website_title - Error

    "; print "
    $e

    "; &adminfooter; exit; } ############################################### # Subroutine: ADMINERROR2 sub adminerror2 { local($e) = @_; print "
    $website_title - Error

    "; print "
    $e

    "; &adminfooter; exit; } ############################################### # Subroutine: Codehelp sub codehelp { print "Content-Type: text/html\n\n"; open(SITEHEAD,"$messagepath"."$codehelp")|| &adminerror2("File wurde nicht gefunden:
    '$codehelp'"); @Sitehead=; close(SITEHEAD); foreach $Sitehead (@Sitehead) { print "$Sitehead\n"; } } ############################################### # Subroutine: Smileyhelp sub smileyhelp { print "Content-Type: text/html\n\n"; open(SITEHEAD,"$messagepath"."$smileyhelp")|| &adminerror2("File wurde nicht gefunden:
    '$smileyhelp'"); open(EMOTE,"<$messagepath"."emoticons.txt"); @emoticons=; close(EMOTE); $smileyout=""; $smileyout .=""; foreach $emoticon (@emoticons) { ($real, $changed) = split(/=/, $emoticon); $smileyout .=""; } $smileyout .="
    $font $real$font ergibt:
    "; @Sitehead=; close(SITEHEAD); foreach $Sitehead (@Sitehead) { $Sitehead =~ s/\[SMILEYS\]/$font $smileyout/g; print "$Sitehead\n"; } } ############################################### # Subroutine: HEADER sub header { if ($header) { open(SITEHEAD,"$messagepath"."$header")|| &adminerror("File wurde nicht gefunden:
    '$header'"); @Sitehead=; close(SITEHEAD); foreach $Sitehead (@Sitehead) { print "$Sitehead\n"; } } } ############################################### # Subroutine: HEADER2 sub header2 { open(SITEHEAD2,"$messagepath"."$header2")|| &adminerror("File wurde nicht gefunden:
    '$header'"); @Sitehead2=; close(SITEHEAD2); foreach $Sitehead2 (@Sitehead2) { print "$Sitehead2\n"; } } ############################################### # Subroutine: FOOTER sub footer { if ($footer) { open(SITEFOOT,"$messagepath"."$footer")|| &adminerror("File wurde nicht gefunden:
    '$footer'"); @Sitefoot=; close(SITEFOOT); foreach $Sitefoot (@Sitefoot) { print "$Sitefoot"; } } } ############################################### # Subroutine: GET ENTRY sub GetEntry { if ($information ne "") { $msnname = "$information"; $msnname =~ s/\n//g; } open(GUEST,"<$messagepath$msnname$ext") || &adminerror("impossible to open message \"$msnname\"."); $guest=; close(GUEST); @TheEntry= split(/\|\%\%\|/, $guest); for ($i = 0; $i < $FieldsCount; $i++) { $entry{$fields[$i]} = $TheEntry[$i]; } &HtmlMiddle; } ############################################### # Subroutine: HTML MIDDLE sub HtmlMiddle { open(LOG,"<$messagepath"."badword.txt"); @banned=; close(LOG); open(EMOTE,"<$messagepath"."emoticons.txt"); @emoticons=; close(EMOTE); open(GUEST,"<$messagepath$msnname$ext") || &adminerror("Kann Nachricht nicht öffnen: \"$msnname\"."); $guest=; close(GUEST); ($name, $email, $city, $URL, $homepage, $street, $plz, $bundesland, $country, $phone, $sex, $icq, $cust1, $cust2, $cust3, $cust4, $cust5, $comment,$uploadfile,$date,$ip,$banner,$status) = split(/\|\%\%\|/, $guest); $comment2 = ""; $comment3 = ""; if ($badwordfilter eq "1") { foreach $line ($comment) { foreach $ban (@banned) { ($word1, $word2) = split(/\=/, $ban); $word1 =~ s/\n//g; $word2 =~ s/\n//g; $word1 =~ tr/[A-Z]/[a-z]/; $word2 =~ tr/[A-Z]/[a-z]/; $templine=$line; $templine =~ tr/[A-Z]/[a-z]/; if ($templine =~ /$word1/) { #$line =~ tr/[A-Z]/[a-z]/; $line =~ s/$word1/$word2/gi; } } $comment2 .= "$line"; } } else { $comment2 = ""; foreach $line ($comment) { $comment2 .= "$line"; } $comment2 .= "$line"; } if ($allowhtml eq "0") { $comment2 =~ s/\&/&/g; $comment2 =~ s/\>/>/g; $comment2 =~ s/\/LINEBREAK/g; $comment2 =~ s/\&/&/g; $comment2 =~ s/\"/"/g; $comment2 =~ s/\<(.+?)\>//gmi; $comment2 =~ s/LINEBREAK/
    /g; } $comment2 =~ s/\n/
    /; $comment2 =~ s/\<br>/\
    /g; $comment2 =~ s/\<BR>/\
    /g; if ($translateemote eq "1") { ########## EMOTICONS ÜBERSETZEN foreach $emoticon (@emoticons) { $changed2=""; $changed2.= ""; $comment2 =~ s/\Q$real\E/$changed2/g; } } ###########Guestzilla-Code if ($code eq "1") { $comment2 =~ s/\[b\](.+?)\[\/b\]/\$1\<\/B\>/gmi; $comment2 =~ s/\[i\](.+?)\[\/i\]/\$1\<\/I\>/gmi; $comment2 =~ s/\[u\](.+?)\[\/u\]/\$1\<\/u\>/gmi; $comment2 =~ s/\[url\]www.(.+?)\[\/url\]/www.$1<\/a>/gmi; $comment2 =~ s/\[url=www.(.+?)\]//gmi; $comment2 =~ s/\[url\]http:\/\/www.(.+?)\[\/url\]/www.$1<\/a>/gmi; $comment2 =~ s/\[url=http:\/\/www.(.+?)\]//gmi; $comment2 =~ s/\[url=(.+?)\]//gmi; $comment2 =~ s/\[url\]http:\/\/(.+?)\[\/url\]/$1<\/a>/gmi; $comment2 =~ s/\[\/url\]/<\/a>/gmi; $comment2 =~ s/\[email\](.+?)\@(.+?)\[\/email\]/$1\@$2<\/a>/gmi; $comment2 =~ s/\[email=(.+?)\]//gmi; $comment2 =~ s/\[\/email\]/<\/a>/gmi; } if ($badwordfilter eq "1"){ $entry{$fields[17]}="$comment2"; } if ($allowhtml ne "1") { $entry{$fields[17]}="$comment2"; } #ICQ if ($entry{$fields[11]} ne "") { if ($icqonline eq "0") { $entry{$fields[11]}="#"."$entry{$fields[11]}"; } elsif ($icqonline eq "1") { $entry{$fields[11]}="\"$name"."#$entry{$fields[11]}"; } } if ($entry{$fields[21]} ne "") { $entry{$fields[21]}=""; } #KEINE URL ? if ($entry{$fields[3]} eq "") { $entry{$fields[4]}=$nohomepage; } #URL als Homepagename ? if (($entry{$fields[3]} ne "") &&($urlashomepage eq "1")){ $entry{$fields[4]}=$entry{$fields[3]}; } open (HELPER,"$messagepath"."$template") || &adminerror("File wurde nicht gefunden:
    '$template'"); @TMPLT=; close (HELPER); foreach $templ (@TMPLT) { for ($i = 0; $i < $FieldsCount; $i++) { $platzhalter[$i]=$entry{$fields[$i]}; #Mail-Adresse vorhanden ? if ($platzhalter[1] ne ""){ #wenn ja, Mailprefix,Mailsuffix hinzufuegen $templ =~ s/\[$fields[$i]\]/$mailprefix$entry{$fields[$i]}$mailsuffix/gi; $platzhalter[1]=""; #URL ? } elsif ($platzhalter[3] ne ""){ #wenn ja, URLprefix,URLsuffix hinzufuegen $templ =~ s/\[$fields[$i]\]/$URLprefix$entry{$fields[$i]}$URLsuffix/gi; $platzhalter[3]=""; $URLVORHANDEN="1" #URL ohne Namen ? } elsif (($platzhalter[4] eq "") & ($URLVORHANDEN eq "1")){ #Homepagename auf Ausdruck fuer "Kein Homepagename angegeben setzen." $templ =~ s/\[$fields[$i]\]/$nohomepagename/gi; $platzhalter[4]=""; $URLVORHANDEN="0" } else { #normal schreiben $templ =~ s/\[$fields[$i]\]/$entry{$fields[$i]}/gi; $templ =~ s/\[DELETE\]/Löschen<\/a>/gi; $templ =~ s/\[MODIFY\]/Editieren<\/a>/gi; } } print "$templ"; } } ############################################### # Subroutine: GENERATE REMAINING sub GenerateRemaining { $Remaining = ($howmanylines - $linecount) / $entriesperpage; #if that integer is 1 or greater if ($Remaining >= 1) { ($PagesRemain,$TheDecimal) = split(/\./,$Remaining); if ($TheDecimal) { $PagesRemain++; } } elsif (($Remaining > 0) && ($Remaining < 1)) { $PagesRemain = 1; } else { $PagesRemain = 0; } $TotalPages = ($PagesRemain + $ViewPage); print "

    $font2 \n"; if ($ViewPage > 1) { $BackPage = $ViewPage - 1; print "Zur Seite $BackPage\n"; } if (($ViewPage > 1) && ($PagesRemain > 0)) { print " \| \n"; } if ($PagesRemain > 0) { $NextPage = $ViewPage + 1; print "Zur Seite $NextPage.\n"; } print "
    \n"; } ############################################### # Subroutine: GENERATE QUICKJUMP sub quickjump { $Remaining = ($howmanylines - $linecount) / $entriesperpage; #if that integer is 1 or greater if ($Remaining >= 1) { ($PagesRemain,$TheDecimal) = split(/\./,$Remaining); if ($TheDecimal) { $PagesRemain++; } } if ($PagesRemain>0) { print "

    "; for ($i=1;$i <=$PagesRemain;$i++) { if ($ViewPage eq $i) { print "$i "; }else { print "$i "; } } print "

    "; } elsif ($PagesRemain<=0) { print "
    $font2 Nur eine Seite vorhanden.
    "; print "

    "; } }