#!/usr/bin/perl -w # ### PRIMARY UBB SCRIPT ## # # Ultimate Bulletin Board is copyright Infopop Corporation, 1998-2000. # # ------------ ubbmisc.cgi ------------- # # This file contains miscellaneous functionality for the UBB. # # Infopop Corporation offers no # warranties on this script. The owner/licensee of the script is # solely responsible for any problems caused by installation of # the script or use of the script, including messages that may be # posted on the BB. # # All copyright notices regarding the Ultimate Bulletin Board # must remain intact on the scripts and in the HTML # for the scripts. # # For more info on the Ultimate BB, # see http://www.UltimateBB.com # ############################################################### # #If you are running UBB on IIS, #you may need to add the following line #if so, just remove the "#" sign before the print line below #print "HTTP/1.0 200 OK\n"; eval { ($0 =~ m,(.*)/[^/]+,) && unshift (@INC, "$1"); # Get the script location: UNIX / or Windows / ($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1"); # Get the script location: Windows \ #substitute all require files here for the file require "UltBB.setup"; require "Date.pl"; require "mods.file"; require "mail-lib.pl"; require "Styles.file"; require "ubb_library.pl"; require "ubb_library2.pl"; }; if ($@) { print ("Content-type: text/html\n\n"); print "Fehler beim Aufruf der Datei(en): $@\n"; print "Stellen Sie sicher, daß diese Datei(en) vorhanden ist/sind, die Zugriffsrechte und Systempfade korrekt eingestellt sind."; exit; } use Socket; &ReadParse; foreach $row(@in) { ($Name, $Value) = split ("=", $row); $Name = &decodeURL($Name); $Value = &decodeURL($Value); if ($Name eq "forum") { $Forum = $Value; $Forum =~ s/\/\\//g; $ForumCoded = &HTMLIFY($Forum); $ForumCoded =~ tr/ /+/; $Forum = &UNHTMLIFY($Forum); } if ($Name eq "TopicSubject") { $TopicSubject = $Value; $TopicSubject =~ s/<.+?>//g; $TopicSubject =~ s/); $BorderBottom = qq( ); } else { $TableWidth2 = $TableWidth; $BorderTop = ""; $BorderBottom = ""; } if ($BBStatus eq "OFF") { print ("Content-type: text/html\n\n"); &StandardHTML($BBClosedMessage); exit; } $ReplyMessage = $in{'ReplyMessage'}; $Message = $in{'Message'}; $SubjectCoded = &HTMLIFY($TopicSubject); $SubjectCoded =~ tr/ /+/; if ($in{'action'} eq "findthread") { &FindThread; } print ("Content-type: text/html\n\n"); if ($in{'action'} eq "clearcookies") { &ClearCookies; } if ($in{'action'} eq "sockettest") { &SocketTest; } if ($in{'action'} eq "getannounce") { &GetAnnounce; } if ($in{'action'} eq "getbio") { &GetBio; } if ($in{'action'} eq "sendthread") { &SendThreadForm; } if ($in{'action'} eq "SubmitThreadEmail") { &SubmitThreadEmail; } if ($in{'action'} eq "editbio") { &EditBio; } if ($in{'action'} eq "setprefs") { &SetPrefs; } if ($in{'action'} eq "PrefsSubmit") { &PrefsSubmit; } if ($in{'action'} eq "getip") { &GetIP; } if ($in{'action'} eq "checkbioid") { &CheckBioID; } if ($in{'action'} eq "modifybio") { &ModifyBio; } if ($in{'action'} eq "RegSubmit") { &RegSubmit; } if ($in{'action'} eq "pwrequest") { &PWRequest; } if ($in{'action'} eq "showcoppaform") { &PrintCOPPARegistrationHTML; } sub ClearCookies { print< $HeaderInsert $Header

Vielen Dank. Alle Cookies für dieses System wurden gelöscht. Sie sollten jetzt Ihre Voreinstellungen erneut vornehmen.

Voreinstellungen vornehmen.

Zurück zu den Foren

$Footer COOKIES } sub FindThread { @thisfor = &GetForumRecord($number); my $LWA = $thisfor[6]; $DIRPW = $thisfor[7]; my $PrivateMax = $thisfor[13]; chomp($PrivateMax); if (-e "$ForumsPath/$in{'forum'}/forum$number.threads") { open(THREADLIST, "$ForumsPath/$in{'forum'}/forum$number.threads"); my @thisthreadlist = ; close(THREADLIST); if ($in{'go'} eq "older") { @threadlist = reverse(@thisthreadlist); } else { @threadlist = @thisthreadlist; } my $Next = "false"; FINDIT: foreach $uno(@threadlist) { @topicarray = split(/\|\^\|/, $uno); if ($Next eq "true") { $RetrieveTopic = "$topicarray[1]"; last FINDIT; } if ($topicarray[1] eq "$in{'thisthread'}") { $Next = "true" } } if ($RetrieveTopic ne "") { if (($LWA eq "private") && ($PrivateMax eq "yes")) { &get_cookie; #retrieves all current cookies $PasswordPrivate = "$cookie{PasswordPrivate}"; $UserNamePrivate = "$cookie{UserNamePrivate}"; $NumbersPrivate = "$cookie{ForumNumberPrivate}"; &VerifyID; if ($ProceedNow ne "true") { print ("Content-type: text/html\n\n"); &StandardHTML("Dies ist ein privates Forum, für welches Sie nicht autorisiert sind."); exit; } $GoTo = "$CGIURL/forumdisplay.cgi?action=displayprivate&number=$number&topic=$RetrieveTopic"; } else { $GoTo = "$NonCGIURL/$in{'forum'}/HTML/$RetrieveTopic.html"; } print "Location: $GoTo\n\n"; exit; } else { print ("Content-type: text/html\n\n"); &StandardHTML("Es sind keine weiteren Beiträge verfügbar. Benutzen Sie den Zurück-Button Ihres Browser um zurückzukehren."); exit; } } else { print ("Content-type: text/html\n\n"); &StandardHTML("Der nächste Beitrag kann nicht ermittelt werden"); exit; } } sub GetBio { $ProfileNumber = &GetUserNumber($UserName); if ($ProfileNumber eq "") { &StandardHTML("Der Benutzer ($UserName) ist in unserem System nicht (mehr) registriert. Es sind keine Profil-Informationen verfügbar."); exit; } @thisprofile = &OpenProfile("$ProfileNumber.cgi"); $EmailView = $thisprofile[11]; $Signature = $thisprofile[12]; my $TheEmail = $thisprofile[2]; if (($EmailBlock eq "ON") || ($EmailView eq "no")) { $EmailField = "Nicht verfügbar."; } else { $EmailField = qq($TheEmail); } &ViewBioHTML; } ## END GET BIO sr sub CheckBioID { if (($in{'UserName'} eq "") || ($in{'Password'} eq "")) { &StandardHTML("Sie haben nicht alle Pflichtfelder ausgefüllt - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } else { $NameFound = "no"; $ProfileNumber = &GetUserNumber($UserName); if ($ProfileNumber ne "") { $NameFound = "yes"; } else { $NameFound = "no"; } if ($NameFound eq "yes") { #Check Password Now @thisprofile = &OpenProfile("$ProfileNumber.cgi"); if ($in{'Password'} eq "$thisprofile[1]") { $pwmatch = "true"; $Password = $thisprofile[1]; $Email = $thisprofile[2]; $URL = $thisprofile[3]; $Occupation = $thisprofile[5]; $Location = $thisprofile[6]; $Interests = $thisprofile[9]; $Status = $thisprofile[8]; $TotalPosts = $thisprofile[7]; $Permissions = $thisprofile[4]; $DateRegistered = $thisprofile[10]; $EmailView = $thisprofile[11]; $Signature = $thisprofile[12]; $ICQnumber = $thisprofile[13]; $AllowMassMail = $thisprofile[14]; chomp($AllowMassMail); &ProcessEdit; } } ## END IF MEMBER = Username.cgi condition if ($NameFound ne "yes") { &StandardHTML("Der angegebene Benutzername existiert nicht - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } if (($NameFound eq "yes") && ($pwmatch ne "true")) { &StandardHTML("Das eingegebene Kennwort ist nicht korrekt - versuchen Sie es erneut, bitte nutzen Sie die Zurück-Funktion Ihres Browsers."); } } # end check for missing fields } ## END CheckBioID SR ### sub ModifyBio { if (($Email eq "") || ($in{'NewPassword'} eq "") || ($Email !~ /\S+\@\S+\.\S+/)) { &StandardHTML("Sie haben entweder nicht alle Pflichtfelder ausgefüllt oder eine eMail-Adresse mit falschem Format angegeben - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } else { ## Confirm UserName and Password to prevent hacking $ProfileNumber = &GetUserNumber($UserName); @profileinfo = &OpenProfile("$ProfileNumber.cgi"); $CurrentEmail = "$profileinfo[2]"; chomp($CurrentEmail); $Permissions = "$profileinfo[4]"; chomp($Permissions); $TotalPosts = "$profileinfo[7]"; $Status = "$profileinfo[8]"; $DateRegistered = "$profileinfo[10]"; if ($profileinfo[1] eq "$in{'Password'}") { ## check for duplicate email addresses, if applicable &GetMemberListArray; $GetEmails; if ($EmailCheck eq "true") { ### members, EmailList arrays... #Check For Duplicate Email my $duplicate = ""; $RegEmail = lc($Email); $CurrEmail = lc($CurrentEmail); #only check if email is being changed if ($RegEmail ne "$CurrEmail") { $UpdateEmailFile = "true"; &CheckBans; if (-e "$MembersPath/temp.file") { &StandardHTML("Zur Zeit wird ein Update der Mitglieder-Daten durchgeführt - bitte versuchen Sie es später noch einmal!"); exit; } unless ($Permissions =~ /Write/) { &StandardHTML("Die Änderung Ihres Profils kann aus folgendem Grund nicht durchgeführt werden:

Mitglieder, denen keine Berechtigung zum Erstellen von Beiträgen gestattet ist, können ihre eMail-Adresse nicht ändern."); exit; } CHECKEMAIL: for $thisemail(@EmailList) { ($theemail, $junk) = split(/\?\?/, $thisemail); $checkemail = lc($theemail); if ($RegEmail eq "$checkemail") { $duplicate = "yes"; last CHECKEMAIL; } #end if regemail } # end foreach } #end regemail/curremail compare } #END if Email check eq TRUE if ($duplicate eq "yes") { &StandardHTML("Die von Ihnen angegebene eMail-Adresse wird bereits von einem anderen registrierten Mitglied verwendet."); } else { # if email verify is on, then we can't let users change # email address without sending a new password generated # by system to them $Password = "$in{'NewPassword'}"; $ModifyWarning = ""; if (($CurrentEmail ne "$Email") && ($UseEmail eq "ON") && ($EmailVerify eq "ON")){ #generate new password $NewPassword = &GeneratePassword; $sendto = "$Email"; $from = "$BBEmail"; $subject = "$BBName Registration - Registrierung - Ihr neues Kennwort!"; $message = "Hallo!\n\r\nSie haben Ihre eMail-Adresse im System $BBName geändert, wir senden Ihnen hiermit ein neues Kennwort. Im folgenden finden Sie Ihre Registrierungs-Informationen, inkl. Ihrem neuem Passwort. Sie benötigen diese Informationen, um Beiträge in unseren Foren erstellen zu können.\n\r\nIhr Benutzername: $UserName\nIhr Kennwort: $NewPassword\nIhre neue eMail-Adresse: $Email"; $Password = "$NewPassword"; $ModifyWarning = "HINWEIS: Sie haben Ihre eMail-Adresse geändert. Wir prüfen, ob Ihre eMail-Adresse gültig ist, indem wir Ihnen das neue Kennwort an die eMail-Adresse $Email senden. Sie können Ihr Kennwort ändern. Ändern Sie jedoch nicht gleichzeitig Ihre eMail-Adresse und Ihr Kennwort. Vielen Dank!"; if ($SMTPEmail eq "On") { &SendEmail; } else { &send_mail("$BBEmail", "$sendto", "$subject", "$message"); } } @amend = @blank; if ($UpdateEmailFile eq "true") { open (EMAILFILE, "$MembersPath/emailfile.cgi"); my @emailsfile = ; close (EMAILFILE); $CurrEmail =~ s/([\.|\@])/\\$1/isg; foreach $checker(@emailsfile) { chomp($checker); if ($checker =~ m/^$CurrEmail\|\|/i) { ($junk, $thisnum) = split(/\|\|/, $checker); $NewLine = "$RegEmail||$thisnum"; push(@amend, $NewLine); } else { push(@amend, $checker); } } &Lock("lock.file"); open(EMAILFILE, ">$MembersPath/emailfile.cgi"); foreach $dos(@amend) { chomp($dos); print EMAILFILE "$dos\n"; } close(EMAILFILE); &Unlock("lock.file"); chmod (0666, "$MembersPath/emailfile.cgi"); } $Signature = "$in{'Signature'}"; $Signature =~ s/()//isg; $Signature =~ s//>/g; $Signature =~ s/\s+$//g; $Signature = &ConvertReturns("$Signature"); if ($AllowSignatureImage eq 'no'){ $OverrideImages = "yes"; } else { $OverrideImages = "no"; $UBBImages = 'ON'; } $Signature = &UBBCode("$Signature"); $in{'ICQnum'} =~ s/\D//g; # rem non numbers @filter_these = ("Occupation","Location","URL","Interests","RegEmail"); # rem HTML and unclosed tags foreach(@filter_these){ $$_ =~ s/<.+?>//g; $$_ =~ s/$MembersPath/$ProfileNumber.cgi") || die(&StandardHTML("Das Mitglieder-Verzeichnis kann nicht geöffnet werden - hier der Fehler: $!") ); print MEMBERSHIP ("$profileinfo[0]\n"); print MEMBERSHIP ("$Password\n"); print MEMBERSHIP ("$Email\n"); print MEMBERSHIP ("$URL\n"); print MEMBERSHIP ("$Permissions\n"); print MEMBERSHIP ("$Occupation\n"); print MEMBERSHIP ("$Location\n"); print MEMBERSHIP ("$TotalPosts\n"); print MEMBERSHIP ("$Status\n"); print MEMBERSHIP ("$Interests\n"); print MEMBERSHIP ("$DateRegistered\n"); print MEMBERSHIP ("$in{'EmailView'}\n"); print MEMBERSHIP ("$Signature\n"); print MEMBERSHIP ("$in{'ICQnum'}\n"); print MEMBERSHIP ("$in{'AllowMassMail'}\n"); close (MEMBERSHIP); &Unlock("lock.file"); #confirm processing to user, provide links to other places &BioModifyConfirmHTML; } } else { &StandardHTML("Anscheinend versuchen Sie, daß Profil eines anderen Benutzers zu verändern. Zur Veränderung des Profils muß Ihnen das Kennwort bekannt sein."); exit; } } } ## END Modify Bio SR sub GetAnnounce { $ForumNumber = $in{'ForumNumber'}; @thisforum = &GetForumRecord($ForumNumber); if ($thisforum[6] eq "private") { $ExactPath = "Forum$ForumNumber/private-$thisforum[7]"; } else { $ExactPath = "Forum$ForumNumber"; } opendir (GETANNC, "$ForumsPath/$ExactPath/ANNC"); my @forummsgs = readdir(GETANNC); closedir (GETANNC); my @announcements = grep(/annc/, @forummsgs); #now we have all announcements in the forum my $announce = ""; foreach $announce(@announcements) { my ($start, $end, $trash) = split("-", $announce); &DateCompare("$start", "$end"); if ($Live eq "true") { $sortline = ("$StartJulian|$announce"); push(@livelist, $sortline); } } #end foreach $announce $listtotal = @livelist; @sortlist = sort(@livelist); #the sorted list of announcements @sortlist = reverse(@sortlist); #now we need to print the announcements $Moderator = ("Forum" . "$ForumNumber" . "Moderator"); $Moderator = $$Moderator; @mods = split(/\|\|\^\|\|/, $Moderator); foreach $unomod(@mods) { chomp($unomod); $ModNumber = &GetUserNumber($unomod); if ($ModNumber ne "") { @theprofile = &OpenProfile("$ModNumber.cgi"); $ModeratorEmail = "$theprofile[2]"; if ($ModeratorLine ne "") { $ModeratorLine .= qq(, $unomod); } else { $ModeratorLine = qq($unomod); } } } $Forum = $thisforum[1]; $CustomTitle = $thisforum[9]; chomp($CustomTitle); if ($CustomTitle eq "") { $CustomTitle = "$BBTitle"; } $ForumCoded = &HTMLIFY($Forum); $ForumCoded =~ tr/ /+/; &AnnounceTopHTML; $AltColor = "$AltColumnColor1"; #print each announcement foreach $liveannounce(@sortlist) { ($StartCheck, $anncfile) = split(/\|/, $liveannounce); open (ANNC, "$ForumsPath/$ExactPath/ANNC/$anncfile"); @anncinfo = ; close (ANNC); #format end date ($startdate, $enddate, $trash2) = split("-", $anncfile); my $StartMonth = substr($startdate, 0, 2); my $StartDay = substr($startdate, 2, 2); my $StartYear = substr($startdate, 4, 4); my $EndMonth = substr($enddate, 0, 2); my $EndDay = substr($enddate, 2, 2); my $EndYear = substr($enddate, 4, 4); $DateStart = "$StartMonth-$StartDay-$StartYear"; $DateEnd = "$EndMonth-$EndDay-$EndYear"; if ($DateFormat eq "US") { $FormatStart = $DateStart; $FormatEnd = $DateEnd; } elsif ($DateFormat eq "Euro") { $FormatStart = &DateFormat("$DateStart", "Euro"); $FormatEnd = &DateFormat("$DateEnd", "Euro"); } elsif ($DateFormat eq "USX") { $FormatStart = &DateFormat("$DateStart", "USExpanded"); $FormatEnd = &DateFormat("$DateEnd", "USExpanded"); } else { $FormatStart = &DateFormat("$DateStart", "EuroExpanded"); $FormatEnd = &DateFormat("$DateEnd", "EuroExpanded"); } my $Author = $anncinfo[0]; my $Subject = $anncinfo[1]; my $Status = $anncinfo[2]; my $ForumList = $anncinfo[3]; my $Message = $anncinfo[4]; chomp($Author); chomp($Subject); chomp($Status); chomp($ForumList); chomp($Message); $StartCheck = ($StartCheck + .99); if ($StartCheck >= $in{'Session'}) { $NewGIF = "\"Neue"; } else { $NewGIF = "\"Ankündigung!\""; } print< $Subject $NewGIF erstellt von: $Author     (gültig vom $FormatStart bis $FormatEnd)


$Message
LINE if ($AltColor eq "$AltColumnColor1") { $AltColor = "$AltColumnColor2" } else { $AltColor = "$AltColumnColor1" } } #end foreach $liveannounce print < Neue Ankündigung  Neue Ankündigung! (seit Ihrem letzten Besuch)
Ankündigung!  Alte Ankündigung!


ALMOSTBOTTOM &PageBottomHTML; #in ubb_library.pl } #end GetAnnounce sr ## HTML CODE #### sub EditBio { print< $BBName - Profil editieren $HeaderInsert $Header
Änderung Ihres Profils

Sie sind dafür verantwortlich, daß Ihre persönlichen Daten immer auf dem aktuellsten Stand sind.
Für die Änderung Ihrer persönlichen Daten ist nicht der Administrator zuständig.


Um Ihre persönlichen Daten zu ändern, identifizieren Sie sich bitte:

Benutzername:
Kennwort:
Kennwort vergessen?  
 
$Footer EDITbioHTML } ##END EDIT BIO SR sub BioModifyConfirmHTML { &GetCookieInfo; if ($SetCookies eq "DirectorySpecific") { $ExtraInfo = qq(domain=$TheDomain;path=/$ThePath;); } else { $ExtraInfo = ""; } print< Modifikation Ihres Profils - Identitäts-Bestätigung $HeaderInsert $Header

Vielen Dank, $UserName. Ihr Profil wurde erfolgreich verändert.

$ModifyWarning

Zurück zu: Übersicht der Foren
Profil editieren
Hilfe

$Footer HTML } ## END Bio Modify Confirmation sr sub SetPrefs { &get_cookie; #retrieves all current cookies $CurrentDaysPrune = "$cookie{DaysPrune}"; $CurrentNS = "$cookie{NameStorage}"; if ($CurrentNS eq "yes") { $NSOn = "CHECKED"; $NSOff = ""; } elsif ($CurrentNS eq "no") { $NSOff = "CHECKED"; $NSOn = ""; } else { $NSOn = "CHECKED"; $NSOff = ""; } if ($CurrentDaysPrune eq "1") { $DP1On = "SELECTED"; } elsif ($CurrentDaysPrune eq "2") { $DP2On = "SELECTED"; } elsif ($CurrentDaysPrune eq "5") { $DP5On = "SELECTED"; } elsif ($CurrentDaysPrune eq "10") { $DP10On = "SELECTED"; } elsif ($CurrentDaysPrune eq "20") { $DP20On = "SELECTED"; } elsif ($CurrentDaysPrune eq "30") { $DP30On = "SELECTED"; } elsif ($CurrentDaysPrune eq "45") { $DP45On = "SELECTED"; } elsif ($CurrentDaysPrune eq "60") { $DP60On = "SELECTED"; } elsif ($CurrentDaysPrune eq "75") { $DP75On = "SELECTED"; } elsif ($CurrentDaysPrune eq "100") { $DP100On = "SELECTED"; } elsif ($CurrentDaysPrune eq "365") { $DP365On = "SELECTED"; } elsif ($CurrentDaysPrune eq "1000") { $DP1000On = "SELECTED"; } else { $DP1On = "SELECTED"; } if ($DisplayRegistration eq "NO") { $StoreNameWording = qq(); $NameOption = ""; $NSCookieSlot = ""; } else { $StoreNameWording = qq% Soll Ihr Benutzername und Passwort im Browser für 1 Jahr gespeichert werden (wählen Sie 'nein', wenn Sie bei jedem Aufruf des Forums Ihren Benutzernamen und Ihr Passwort eingeben wollen)

Ja Nein
%; $NameOption = qq%
  • Die Option, Ihren Benutzernamen und Ihr Passwort für ein Jahr in Ihrem Browser zu speichern (Sie müssen in diesem Jahr Ihren Benutzernamen und Ihr Passwort nicht jedesmal neu eingeben). Wählen Sie nein, dann wird Ihre Benutzername und Ihr Passwort für diese Sitzung im Speicher abgelegt, beim erneuten Aufruf Ihres Browsers und des Forums müssen Sie Ihre Daten dann erneut eingeben.%; $NSCookieSlot = qq%if (NameStorage == "yes") { document.PREFS.NameStorage[0].checked = true; } else { document.PREFS.NameStorage[1].checked = true; }%; } print< $BBName Ihre Voreinstellungen $HeaderInsert $Header
    Ihre Voreinstellungen

    Wir benutzen Cookies um Ihre Voreinstellungen in Ihrem Browser zu speichern. Es kann passieren, daß die Cookies in Ihrem Browser beschädigt oder gelöscht werden. Sie haben die Möglichkeit, die Cookies (welche durch dieses Forum gesetzt wurden) zu löschen. Klicken Sie hier, um alle Cookies zu löschen, welche durch dieses Forum gesetzt wurden!

    $BorderTop $StoreNameWording
    Sie können für dieses System verschiedene Voreinstellungen speichern. Im folgenden Ihre Optionen:
      $NameOption
    • Standardanzeige für Beiträge

    Standardanzeige der Beiträge:
    $BorderBottom



    Hinweis: Ihre Voreinstellungen werden als Cookie in Ihrem Browser gespeichert. Um diese Funktion nutzen zu können, müssen Sie einen Browser benutzen, der Cookies unterstützt (Netscape und Microsoft Internet Explorer unterstützen Cookies). Sollte Ihr Browser keine Cookies unterstützen oder sollten Sie diese Funktion in Ihrem Browser abgeschalten haben, dann werden Ihre Voreinstellungen nicht gespeichert. Ihre Voreinstellungen werden nur für ein Jahr gespeichert. Nach diesem Jahr müssen Sie Ihre Voreinstellungen erneut setzen.


    $Footer
    PrefsHTML } ## END Set Prefs SR ## sub PrefsSubmit { &GetCookieInfo; if ($SetCookies eq "DirectorySpecific") { $ExtraInfo = qq(domain=$TheDomain;path=/$ThePath;); } else { $ExtraInfo = ""; } print< $HeaderInsert $Header

    $Footer CONFIRMHTML } sub ViewBioHTML { if ($thisprofile[3] eq "") { $thisprofile[3] = " "; } if ($thisprofile[5] eq "") { $thisprofile[5] = " "; } if ($thisprofile[6] eq "") { $thisprofile[6] = " "; } if ($thisprofile[7] eq "") { $thisprofile[7] = " "; } if ($thisprofile[9] eq "") { $thisprofile[9] = " "; } if ($thisprofile[10] eq "") { $DateRegistered = "-"; } else { $DateRegistered = "$thisprofile[10]"; #format date----------------------------------- if ($DateFormat eq "US") { $DateRegistered = $DateRegistered; } elsif ($DateFormat eq "Euro") { $DateRegistered = &DateFormat("$DateRegistered", "Euro"); } elsif ($DateFormat eq "USX") { $DateRegistered = &DateFormat("$DateRegistered", "USExpanded"); } else { $DateRegistered = &DateFormat("$DateRegistered", "EuroExpanded"); } } #end if/else thisprofile[10] if ($thisprofile[8] eq "Administrator") { $ThisStatus = "$AdminTitle"; } elsif ($thisprofile[8] eq "Moderator") { $ThisStatus = "$ModeratorTitle"; } elsif ($thisprofile[8] eq "Member") { $ThisStatus = "$MemberTitle"; } else { $ThisStatus = "$JrMemberTitle"; } $ICQline = "$thisprofile[13]"; if ($ICQline eq "") { $ICQline = " "; } $SearchName = "$thisprofile[0]"; $SearchName = &HTMLIFY($SearchName); $SearchName =~ tr/ /+/; # remove all HTML code from display fields of profile $profile_index = 0; foreach(@thisprofile){ $thisprofile[$profile_index] =~ s/<.+?>//g; $profile_index++; } $ICQline =~ s/<.+?>//g; print < $HeaderInsert $Header
    Profil von $thisprofile[0]

    Suchen: Alle Beiträge für diesen registrierten Benutzer.

    $BorderTop
    Datum der Registration: $DateRegistered
    Status: $ThisStatus
    Erstellte Beiträge: $thisprofile[7]
    eMail-Adresse: $EmailField
    Homepage: $thisprofile[3]
    Beruf: $thisprofile[5]
    Wohnort: $thisprofile[6]
    Hobbies: $thisprofile[9]
    ICQ-Nummer: $ICQline
    $BorderBottom

    $YourCopyrightNotice



    $infopopcopy
    Ultimate Bulletin Board $Version



    $Footer BioHTML } ## END View BIO HTML sr sub ProcessEdit { if ($EmailView eq "no") { $EVno = "CHECKED"; } else { $EVyes = "CHECKED"; } if ($Status eq "Administrator") { $Status = "$AdminTitle"; } elsif ($Status eq "Moderator") { $Status = "$ModeratorTitle"; } elsif ($Status eq "Member") { $Status = "$MemberTitle"; } else { $Status = "$JrMemberTitle"; } if (($UseEmail eq "ON") && ($EmailVerify eq "ON")) { $WarningHTML = "ACHTUNG: Wir prüfen, ob Ihre eMail-Adresse gültig ist. Wenn Sie Ihre eMail-Adresse ändern, bekommen Sie automatisch ein neues Passwort an die neue e-Mail Adresse gesandt. Ändern Sie Ihre eMail-Adresse also erst, wenn Ihre neue e-Mail Adresse für den Empfang von e-Mails eingerichtet ist."; } else { $WarningHTML = ""; } $Signature = &EditUBBConvert("$Signature"); $Signature =~ s/

    /\n\r\n/isg; $Signature =~ s/
    /\n/isg; if ($AllowSignature eq "YES") { $SigStatus = "aktiviert"; }else { $SigStatus = "deaktiviert"; } unless ($AllowSignatureImage eq 'YES') { $SigImageAllowed = 'HINWEIS: UBB-Image-Code ist deaktiviert.' } if ($AllowMassMail eq "no") { $AllowMailNo = "CHECKED"; $AMM = qq(); } elsif ($AllowMassMail eq "") { $AllowMailYes = "CHECKED"; $AMM = qq(); } else { $AllowMailYes = "CHECKED"; $AMM = qq(); } print< $HeaderInsert $Header
    Verändern Sie Ihr Profil!

    Vielen Dank! Ihre Identität wurde bestätigt, $UserName ($Status)

    Sie können jetzt Ihr persönliches Profil ändern.


    $WarningHTML

    $AMM $BorderTop
    eMail-Adresse:
    Kennwort:
    Homepage:
    Beruf:
    Land, PLZ, Ort:
    Hobbies:
    ICQ-Nummer:
    Hinweis: Sollten Sie kein ICQ benutzen, lassen Sie dieses Feld bitte leer.

    Signatur
    Hinweis: Die Signatur-Funktion dieses Systems ist derzeit $SigStatus. Sie können UBB-Code in diesem Feld benutzen, jedoch keinen HTML-Code. $SigImageAllowed

    Erlauben Sie dem Forum-Administrator und Moderator Ihnen e-Mails zu senden?
    Ja     Nein
    Soll Ihre eMail-Adresse für andere Benutzer in Ihren Nachrichten einsehbar sein?
    Ja Nein
    $BorderBottom

    $Footer EditHTML } ##END Process Edit SR sub AnnounceTopHTML { print< $BBName - Ankündigungen $HeaderInsert $Header

    $Forum
    (moderiert von: $ModeratorLine)
      $BBName
      $Forum


    Profil | Registrieren | Voreinstellungen | Hilfe | Suchen
    Aktuelle Ankündigungen: $listtotal
    HINWEIS: Ankündigungen können ausschießlich Forum-Administratoren und Moderatoren erstellen. Sie können keine Antworten schreiben.
    TOP } #end AnnounceTopHTML sr sub RegSubmit { &HackChecker; if ($SuspendRegister eq "true") { &StandardHTML("Zur Zeit ist keine Registration möglich - bitte versuchen Sie es später noch einmal!"); exit; } #get user's IP number: my $IPNumber = $ENV{'REMOTE_ADDR'}; unless (-e "$MembersPath/emailfile.cgi") { &StandardHTML("Zur Zeit wird ein Update unserer Software durchgeführt, deswegen sind derzeit leider keine Registrationen möglich, bitte versuchen Sie es später noch einmal, Vielen Dank!"); exit; } if (-e "$MembersPath/temp.file") { &StandardHTML("Zur Zeit wird die Datenbank unserer Mitglieder vom System gepflegt, bitte versuchen Sie es später noch einmal, vielen Dank!"); exit; } if (-e "$NonCGIPath/temp.file") { &StandardHTML("Zur Zeit wird die Datenbank unserer Mitglieder vom System gepflegt, bitte versuchen Sie es später noch einmal, vielen Dank!"); exit; } #Check Email Ban List-- &CheckBans; ## Check to make sure censored words are not used in username if ($Censor eq "ON") { @censored = split(/ /, $censorwords); $BadWord = "false"; CHECKCENSORLIST: for (@censored) { if (m/({)(.*)(})/) { $_ = ("$2"); } if ($UserName =~ /$_/i) { $BadWord = "true"; $CensorWord = $_; last CHECKCENSORLIST; } } #end for checkcensorlist if ($BadWord eq "true") { $RejectUserName = "true"; &StandardHTML("Sie haben einen Benutzernamen benutzt, der das Wort (\"$CensorWord\") enthält. Dieses Wort ist durch unser System zensiert, bitte wählen Sie einen anderen Benutzernamen."); } } #end if censor is on if (($BannedEmail ne "true") && ($RejectUserName ne "true")){ if (($UseEmail eq "ON") && ($EmailVerify eq "ON")) { if ( ($UserName eq "") || ($Email !~ /\S+\@\S+\.\S+/) ) { &StandardHTML("Sie haben nicht alle Pflichtfelder ausgefüllt! Stellen Sie sicher, daß Sie eine gültige eMail-Adresse angegeben haben - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } else { &GoAhead; } } else { if ( ($UserName eq "") || ($Email !~ /\S+\@\S+\.\S+/) || ($in{'Password'} eq "") || ($PasswordConfirm eq "") ) { &StandardHTML("Sie haben nicht alle Pflichtfelder ausgefüllt! Stellen Sie sicher, daß Sie eine gültige eMail-Adresse angegeben haben - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } else { if ($in{'Password'} eq "$PasswordConfirm") { &GoAhead; } else { &StandardHTML("Registration fehlgeschlagen!

    Sie müssen Ihr Kennwort korrekt wiederholen - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } } } } # end if banned email ne true } ## END RegSubmit SR ## sub GoAhead { #check for illegal (non alphanumeric characters) if (($UserName =~ m/^\s/) || ($UserName =~ m/\ /) || ($UserName =~ m/\s$/) || ($UserName =~ m/\s{2,}/) || ($UserName =~ m/\|\!/) || ($UserName =~ m/\|\|/) || ($UserName =~ m/\|$/) || ($UserName =~ m/^\|/) || ($UserName =~ m/\"/) || ($Email =~ m/\s/) || ($UserName =~ m/>|

    1. Der Benutzername darf nicht mit einem Leerzeichen beginnen und/oder enden.

    2. Sie dürfen keine zwei Leerzeichen in Folge verwenden.

    3. Verwenden Sie keinen Benutzernamen mit einem Ausrufungszeichen.

    4. Sie dürfen im einem Benutzernamen keine Pipes verwenden.

    5. Sie dürfen in einem Benutzernamen keine Anführungszeichen benutzen.

    6. Ihre eMail-Adresse darf keine Leerschritte enthalten.

    7. Der Benutzername darf die Zeichen < und/oder a > nicht enthalten.

    8. Sie dürfen keinen Benutzernamen verwenden, der die Begriffe 'memberslist' oder 'emailfile' enthält.

    9. Der Benutzernamee muß am Anfang und am Ende einen Buchstaben, eine Zahl oder eines der folgenden Symbole besitzen: !, ?, #, $, @, *, &, ^, +, -, ~, :, ], [, '.

    10. Sie dürfen im Benutzernamen kein Semikolon benutzen.

    Bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!
    "); exit; } else { #check to make sure Username is unique #determine EmailList array, members array & LastNumber $UserName =~ s/\s+/ /g; $Email =~ s/\s+//g; &GetMemberListArray; &GetEmails; # LastNumber = last number used in members file my $LastNum = $LastNumber; $AddOne = $LastNum + 1; $NextNumber = sprintf("%8d", $AddOne); $NextNumber =~ tr/ /0/; $duplicate = "no"; $LCusername = lc($UserName); CHECKDUPES: for $checkthis(@members) { $LCcheckthis = lc($checkthis); if ($LCcheckthis eq "$LCusername") { $duplicate = "yes"; &StandardHTML("Der Benutzername existiert bereits - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); last CHECKDUPES; } } #CHECK to make sure email isn't a duplicate too $RegEmail = lc($Email); if (($duplicate ne "yes") && ($EmailCheck eq "true")) { # @EmailList contains all registered emails CHECKEMAIL: foreach $thisemail(@EmailList) { ($theemail, $junk) = split(/\?\?/, $thisemail); $checkemail = lc($theemail); if ($RegEmail eq "$checkemail") { $duplicate = "yes"; &StandardHTML("Die von Ihnen angegebene eMail-Adresse wird bereits durch einen Benutzer verwendet - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); last CHECKEMAIL; } } } #END if duplicate ne yes if ($duplicate ne "yes") { if (($UseEmail eq "ON") && ($EmailVerify eq "ON")) { #generate password $Password = &GeneratePassword; } else { $Password = "$in{'Password'}"; } # Get Today's Date so we can log the date of registration &GetDateTime; #Prepare Signature - prevent HTML, strip returns, do UBB Code @censored = split(/ /, $censorwords); $Signature = &CensorCheck("$in{'Signature'}"); $Signature =~ s/()//isg; $Signature =~ s//>/g; $SignatureHTML = &ConvertReturns("$Signature"); if ($AllowSignatureImage eq 'no'){ $OverrideImages = "yes"; } else { $OverrideImages = "no"; $UBBImages = 'ON'; } $SignatureHTML = &UBBCode("$SignatureHTML"); $in{'ICQnum'} =~ s/\D//sg; # rem non numbers @filter_these = ("Occupation","Location","URL","Interests","RegEmail"); # rem HTM and unclosed tags foreach(@filter_these){ $$_ =~ s/<.+?>//sg; $$_ =~ s/$MembersPath/$NextNumber.cgi") or die("Das Verzeichnis Members kann nicht geöffnet werden."); print MEMBERSHIP ("$UserName\n"); print MEMBERSHIP ("$Password\n"); print MEMBERSHIP ("$RegEmail\n"); print MEMBERSHIP ("$URL\n"); print MEMBERSHIP ("$WritePermission\n"); print MEMBERSHIP ("$Occupation\n"); print MEMBERSHIP ("$Location\n"); print MEMBERSHIP ("0\n"); print MEMBERSHIP ("Junior Member\n"); print MEMBERSHIP ("$Interests\n"); print MEMBERSHIP ("$HyphenDate\n"); print MEMBERSHIP ("$in{'EmailView'}\n"); print MEMBERSHIP ("$SignatureHTML\n"); print MEMBERSHIP ("$in{'ICQnum'}\n"); print MEMBERSHIP ("$in{'AllowMassMail'}\n"); close (MEMBERSHIP); &Unlock ("lock.file"); chmod (0777, "$MembersPath/$NextNumber.cgi"); ## APPEND NEW REGISTRATION TO REG FILE &Lock ("lock.file"); open (LIST, ">>$MembersPath/memberslist.cgi"); print LIST "$UserName|!!|$NextNumber\n"; close (LIST); &Unlock ("lock.file"); chmod (0666, "$MembersPath/memberslist.cgi"); &Lock ("lock.file"); open (LIST, ">>$MembersPath/emailfile.cgi"); print LIST "$RegEmail||$NextNumber\n"; close (LIST); &Unlock ("lock.file"); chmod (0666, "$MembersPath/emailfile.cgi"); if ($UseEmail eq "ON") { ### EMAIL VERIFY 'ON' section # standard email verification -> send new user a password if ( ($ModerateRegs eq 'OFF') && ($EmailVerify eq "ON") ){ $sendto = "$Email"; $from = "$RegsAdminEmail"; $subject = "$BBName Registration - Ihr Kennwort"; $message = "Hallo!\n\r\nVielen Dank für die Registration bei $BBName ($CGIURL/Ultimate.cgi). Ihre Registrierung war erfolgreich. Sie benötigen die folgenden Informationen, um neue Beiträge in unserem Forum ($CGIURL/Ultimate.cgi) schreiben zu können.\n\r\nIhr Benutzername: $UserName\nIhr Kennwort: $Password\nIhre eMail-Adresse lautet: $RegEmail\n\r\nBeachten Sie, daß Sie Ihr Kennwort online im Menüpunkt \"Profil\" unseres Forums ändern sollten. Sollten Sie Ihre eMail-Adresse ändern, erhalten Sie automatisch ein neues Kennwort, um Ihre eMail-Adresse prüfen zu können.\n\r\nNochmals vielen Dank für Ihre Registrierung."; $RegWording1 = "Sie haben Ihren Benutzernamen $UserName erfolgreich bei $BBName registriert! "; $RegWording2 = "Ihr Kennwort wird Ihnen an folgende eMail-Adresse gesandt: $Email"; } # standard email verification but no posting until approval -> send adult user a password elsif ( ($ModerateRegs eq 'ON') && ($EmailVerify eq "ON") && ($in{'regtype'} ne 'COPPA') ) { $sendto = "$Email"; $from = "$RegsAdminEmail"; $subject = "$BBName Registrationsanfrage"; $message = "Hallo!\n\r\nVielen Dank für die Registration bei $BBName ($CGIURL/Ultimate.cgi). \n\r\nHINWEIS: Ihre Registration muß durch einen Administrator geprüft und freigeschaltet werden, bitte gedulden Sie sich. Im Folgenden die Details Ihrer Registration bei $CGIURL/Ultimate.cgi .\n\r\nIhr Benutzername: $UserName\nIhr Kennwort: $Password\nIhre eMail-Adresse: $RegEmail\n\r\nSollten Sie die in unserem System gespeicherte eMail-Adresse ändern, erhalten Sie aus Sicherheitsgründen ein neues Kennwort an die neue eMail-Adresse zugesandt.\n\r\nVielen Dank für die Registration.\n\r\nBei Fragen zur Registration senden Sie uns an die Adresse $RegsAdminEmail eine eMail.\n\r\n"; $RegWording1 = "Sie haben sich den Benutzernamen $UserName bei $BBName erfolgreich registriert."; $RegWording2 = "Ihr Kennwort wird Ihnen an folgende eMail-Adresse gesandt: $Email"; } # standard email verification but no posting until approval -> send COPPA user a password elsif ( ($ModerateRegs eq 'ON') && ($EmailVerify eq "ON") && ($in{'regtype'} eq 'COPPA') ) { $sendto = "$Email"; $from = "$RegsAdminEmail"; $subject = "$BBName Registrationsanfrage"; $instructions = $COPPAInstructions; $instructions =~ s/"/"/ig; $instructions =~ s/
    /\n/ig; $instructions =~ s/

    /\n\n/ig; $message = "Hallo!\n\r\nVielen Dank für die Registrationsanfrage bei $BBName ($CGIURL/Ultimate.cgi).\n\r\nDie folgenden Daten wurden für Sie reserviert:\n\r\nIhr Benutzername: $UserName\nIhr Kennwort: $Password\n\r\nDa Sie ein Alter von bis zu 13 Jahren angegeben haben, muß Ihr Registrationsantrag von den Eltern oder Erziehungsberechtigten geprüft werden, bevor Sie Beiträge in unserem System erstellen können. Der Freischaltungsantrag muß an uns gesandt werden, andernfalls werden die Daten Ihrer Registration gelöscht.\n\r\nDrucken Sie die folgende Bestätigung aus:\n\r\n$instructions \n\r\nBei Fragen zur Registration senden Sie uns an die Adresse $RegsAdminEmail eine eMail.\n\r\n"; $RegWording1 = "Sie haben den Benutzernamen $UserName bei $BBName erfolgreich reserviert. "; $RegWording2 = "Ihr Kennwort wird Ihnen an folgende eMail-Adresse gesandt: $Email"; } if ($EmailVerify eq "ON") { $BBEmail = $RegsAdminEmail; if ($SMTPEmail eq "On") { &SendEmail; } else { &send_mail("$BBEmail", "$sendto", "$subject", "$message"); } } ### EMAIL VERIFY 'OFF' section # This is an ADULT request elsif ( ($ModerateRegs eq 'ON') && ($EmailVerify eq "OFF") && ($in{'regtype'} ne 'COPPA') ) { $RegWording1 = "Sie haben sich den Benutzernamen $UserName bei $BBName erfolgreich registriert."; $RegWording2 = "$Password"; } # This is a COPPA request elsif ( ($ModerateRegs eq 'ON') && ($EmailVerify eq "OFF") && ($in{'regtype'} eq 'COPPA') ) { $RegWording1 = "Hallo!\n\r\nVielen Dank für die Registrationsanfrage bei $BBName ($CGIURL/Ultimate.cgi).\n\r\nDie folgenden Daten wurden für Sie reserviert:\n\r\nIhr Benutzername: $UserName\nIhr Kennwort: $Password\n\r\nDa Sie ein Alter von bis zu 13 Jahren angegeben haben, muß Ihr Registrationsantrag von den Eltern oder Erziehungsberechtigten geprüft werden, bevor Sie Beiträge in unserem System erstellen können. Der Freischaltungsantrag muß an uns gesandt werden, andernfalls werden die Daten Ihrer Registration gelöscht.\n\r\nDrucken Sie die folgende Bestätigung aus:\n\r\n$instructions \n\r\nBei Fragen zur Registration senden Sie uns an die Adresse $RegsAdminEmail eine eMail.\n\r\n"; $RegWording2 = "$Password"; } if ($in{'regtype'} eq 'COPPA') { &PrintCOPPARegistrationHTML; } else { &PrintRegistrationHTML; } # Send email to parent if listed if ($in{'ParentEmail'} =~ /\S+\@\S+\.\S+/) { $BBEmail = $RegsAdminEmail; $sendto = $in{'ParentEmail'}; $from = "$RegsAdminEmail"; $subject = "Registrationsanfrage bei $BBName"; $message = qq( Hallo! Wir haben eine Registrationsanfrage einer Person mit einem Alter von bis zu 13 Jahren für unser System erhalten. Unsere Foren bei $BBName verlangen gemäß dem COPPA-Jugendschutzgesetz eine Genehmigung für Ihren Sohn/Ihre Tochter. Bei der Registration wurde Ihr Sohn/Ihre Tochter gebeten, einen Freischaltungsauftrag auszudrucken, Ihnen diesen zur Unterschrift vorzulegen und uns dann zu übermitteln. Unseren Freischaltungsauftrag finden Sie online bei folgender URL: $CGIURL/ubbmisc.cgi?action=showcoppaform Rechtliche Hinweise zu unserer Website finden Sie online bei folgender URL: $PrivacyURL Bitte sehen Sie sich unseren Freischaltungsantrag mit Ihrem Sohn/Ihrer Tochter gemeinsam an und folgen Sie den dort angegebenen Anweisungen am Anfang der Seite. Bei Fragen zur Registration senden Sie uns an die folgende Adresse $RegsAdminEmail eine eMail. Vielen Dank! Webmaster $BBName ); # end qq if ($SMTPEmail eq "On") { &SendEmail; } else { &send_mail("$BBEmail", "$sendto", "$subject", "$message"); } }# end if parent email } else { # email is turned off ! if ($in{'regtype'} eq 'COPPA') { $RegWording1 = "Sie haben sich erfolgreich bei $BBName registriert, können jedoch bis zum Erhalt des durch die Eltern/Erziehungsberechtigten unterschriebenen Freischaltungsantrag keine Beiträge erstellen. Bitte drucken Sie dieses Formular aus: $COPPAInstructions"; $RegWording2 = "$Password"; &PrintCOPPARegistrationHTML; } else { $RegWording1 = "Sie haben sich erfolgreich bei $BBName registriert!"; $RegWording2 = "$Password"; &PrintRegistrationHTML; } } # end if/else email #1 if ( ($OnRegsNotifyAdmin ne 'OFF') && ($UseEmail eq 'ON') ) { # COPPA notify only - no adults if (($OnRegsNotifyAdmin eq 'COPPA') && ($in{'regtype'} eq 'COPPA')) { $notifyadmin++; # flag it $sendto = "$RegsAdminEmail"; $from = "$RegEmail"; $subject = "COPPA Registrationsanfrage!"; $message = "eMail-Adresse der Eltern/Erziehungsberechtigten: $in{'ParentEmail'}\n\r\n"; $message = "Die folgenden Informationen wurden durch den Benutzer eingegeben:\n\r\n"; } # All Regs Notify elsif ($OnRegsNotifyAdmin eq 'ON') { $notifyadmin++; # flag it $sendto = "$RegsAdminEmail"; $from = "$RegEmail"; $subject = "Neue Registration!"; $message = "Die folgenden Informationen wurden durch den Benutzer eingegeben:\n\r\n"; } # else do nothing if flag isn't set if ($notifyadmin) { # only email if the flag is set $message .= &PrintProfileText(); if ($WritePermission !~ /Write/) { $message .= "\n\r\n Klicken Sie hier, um Schreibrechte für diesen Benutzer zu aktivieren:\n\r\n"; $message .= "$CGIURL/cpanel4.cgi?action=updatepermiss&AdminWrite::$NextNumber=true&RemoteUpdate=TRUE\n\r\n"; $message .= "[Sie müssen einen Login als Administrator durchgeführt haben, um diesen direkten Link nutzen zu können.]\n\r\n"; } else { $message .= "\n\r\nSchreibrechte für diesen Benutzer sind AKTIVIERT.\n\r\n"; } $BBEmail = $RegsAdminEmail; if ($SMTPEmail eq "On") { &SendEmail; }else { &send_mail("$RegsAdminEmail", "$sendto", "$subject", "$message"); } } # end if notifyadmin } # end if Notify Admin } # end use email/verify on check } ### end if dupe ne yes } # end GoAhead subroutine sub PrintRegistrationHTML { &GetCookieInfo; if ($SetCookies eq "DirectorySpecific") { $ExtraInfo = qq(domain=$TheDomain;path=/$ThePath;); } else { $ExtraInfo = ""; } if ($in{'regtype'} eq 'COPPA') { $welcomewording = "

    Solange der Freischaltungs-Antrag unterschrieben von den Eltern/Erziehungsberechtigten dem Website-Betreiber nicht vorliegt, können Sie keine Beiträge erstellen. Drucken Sie diese Seite oder die eMail, die Sie jetzt erhalten aus. Folgen Sie den dort aufgeführten Anweisungen.

    "; $finalwords = $COPPAInstructions; } elsif ($ModerateRegs eq 'ON'){ $welcomewording = "

    Die Administration muß Ihre Registration freischalten, bevor Sie Beiträge erstellen können. Bei Fragen zur Registration senden Sie uns an die folgende Adresse: $RegsAdminEmail eine eMail.

    Es folgen die Details Ihrer Registration."; } else { $welcomewording = "

    Sie können sofort in unseren Foren Beiträge erstellen. Es folgen die Details Ihrer Registration.

    "; } print < Bestätigung der Registration $HeaderInsert $Header
    Thema Ankündigung
    Herzlichen Glückwunsch!

    $RegWording1 $welcomewording

    Benutzername: $UserName
    Kennwort: $RegWording2
    eMail-Adresse: $Email
    Land, PLZ und Ort: $Location
    Beruf: $Occupation
    Hobbies: $Interests
    Homepage $URL
    Signatur $SignatureHTML

    $finalwords

    Klicken Sie hier, um unsere Foren zu betreten!





    $Footer HTML } ## END Print Registration sr sub PWRequest { # Find the right registration &GetMemberListArray; &GetEmails; # returns @EmailList array $Found = ""; #lowercase the email input $sendto = lc($in{'sendto'}); $CountIt = 0; foreach $emailline(@EmailList) { ($theemail, $thenumber) = split(/\?\?/, $emailline); $theemail = lc("$theemail"); if ($theemail eq "$sendto") { chomp($thenumber); @thisprofile = &OpenProfile("$thenumber.cgi"); $YourName = "$thisprofile[0]"; $YourPassword = "$thisprofile[1]"; $CountIt = $CountIt + 1; $Found = "yes"; } } if ($CountIt >= 2) { &StandardHTML("Ihre Registration kann nicht durchgeführt werden, da die von Ihnen angegebene eMail-Adresse bereits von einem Benutzer verwendet wird."); exit; } if ($Found eq "yes") { #Send the Email $from = "$BBEmail"; $subject = "Ihr Benutzername und Kennwort - $BBName"; $message = ("Im folgenden übermitteln wir Ihnen Ihre Registrierungs-Informationen für $BBName. \n\n Ihr Benutzername: $YourName\n Ihr Kennwort: $YourPassword \n\n Unser System finden Sie unter $CGIURL/Ultimate.cgi \n\nVielen Dank!"); if ($SMTPEmail eq "On") { &SendEmail; } else { &send_mail("$BBEmail", "$sendto", "$subject", "$message"); } #Notify user that email has been sent &Forward("$CGIURL/Ultimate.cgi?action=intro&BypassCookie=true", "Ihren Benutzernamen und Ihr Kennwort haben wir an Ihre eMail-Adresse gesandt!

    Sie gelangen jetzt automatisch zur Foren-Übersicht."); } else { &StandardHTML("Die angegebene eMail-Adresse ist bei uns nicht gespeichert - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } } #end PWRequest sr sub SocketTest { &StandardHTML("Das Socket-Modul ist auf Ihrem Webserver installiert, Sie können es für den Versand von eMails verwenden.

    Benutzen Sie die ZURÜCK-Funktion, um zu den Variablen zurückzukehren."); } sub SendThreadForm { if ($UBBFriendUSE eq 'OFF'){ &StandardHTML("Die Funktion UBBFriend ist in diesem System deaktiviert worden!"); exit; } $Subject = &UNHTMLIFY($in{'Subject'}); print< $HeaderInsert $Header

    UBBFriend Senden Sie diese Seite an einen Freund!

    $BorderTop SendThread if ($UBBFriendUSE eq 'ON'){ print qq( );# end qq } # end if UBBFriend ON else { print qq( );# end qq } print qq(
    Ihr Name:
    Ihre eMail-Adresse (damit Ihr Freund antworten kann!):
    * Diese Funktion ist nur für registrierte Benutzer verfügbar.
       Die in Ihrem Profil angegebene eMail-Adresse wird bei Antworten auf diese eMail verwendet.
    Ihr Benutzername:
    Ihr Kennwort:
    Ihr Name:
    Name des Empfängers:
    eMail-Adresse des Empfängers:
    Betreff:
    Nachricht:
    $BorderBottom

    ); # end qq &PageBottomHTML; } #end SendThreadForm sub SubmitThreadEmail { if ($UBBFriendUSE eq 'OFF'){ &StandardHTML("Die Funktion UBBFriend ist auf diesem System deaktiviert worden."); exit; } if ($UBBFriendUSE eq 'RegUsers') { if (($in{'UserName'} eq "") || ($in{'Password'} eq "")) { &StandardHTML("Sie müssen Ihren Benutzernamen und Ihr Kennwort eingeben - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); exit; } $ProfileNumber = &GetUserNumber($UserName); if ($ProfileNumber ne "") { $NameFound = "yes"; } else { $NameFound = "no"; } if ($NameFound eq "yes") { #Check Password Now @thisprofile = &OpenProfile("$ProfileNumber.cgi"); if ($in{'Password'} eq "$thisprofile[1]") { $pwmatch = "true"; $Email = $thisprofile[2]; $Permissions = $thisprofile[4]; } } ## END IF MEMBER = Username.cgi condition if ($NameFound ne "yes") { &StandardHTML("Der von Ihnen angegebene Benutzername existiert nicht in unserem System - bitte nutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); exit; } if (($NameFound eq "yes") && ($pwmatch ne "true")) { &StandardHTML("Das eingegebene Kennwort ist nicht korrekt - bitte benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); exit; } if ($Permissions !~ /Write/) { &StandardHTML("Die von Ihnen gewünschte eMail konnte nicht versandt werden, da Sie in diesem System keine Schreibrechte besitzen."); exit; } else { $in{'FromEmail'} = $Email; # use the member's email address } } # end if UBBfriend eq RegUsers ## #validate required fields if (($in{'FromName'} eq "") || ($in{'EmailMessage'} eq "") || ($in{'SendToEmail'} !~ m/\S+\@\S+\.\S+/) || ($in{'EmailSubject'} eq "") || ($in{'FromEmail'} !~ m/\S+\@\S+\.\S+/) || ($in{'SendToName'} eq "") ) { &StandardHTML("Sie haben nicht alle Pflichtfelder ausgefüllt oder das Format der angegebenen eMail-Adresse ist falsch - benutzen Sie die ZURÜCK-Funktion Ihres Browsers und versuchen Sie es erneut!"); } else { $ReplyTo = "$in{'FromName'}<$in{'FromEmail'}>"; $sendto = $in{'SendToEmail'}; $subject = "$in{'EmailSubject'}"; $message = "$in{'EmailMessage'}"; if ($SMTPEmail eq "On") { &SendEmail; } else { &send_mail("$ReplyTo", "$sendto", "$subject", "$message"); } &Forward("$in{'ForwardURL'}", "Wir haben Ihre eMail an $in{'SendToEmail'} versandt. Sie werden jetzt an die Seite weitergeleitet, von der Sie die eMail versendet haben."); } #end if/else form validation } #end SubmitThreadEmail sub VerifyID { $NameFound = "no"; $ProfileNumber = &GetUserNumber($UserNamePrivate); if ($NumbersPrivate ne "") { if ($NumbersPrivate =~ /\:\:/) { @CheckAccess = split(/\:\:/, $NumbersPrivate); } else { @CheckAccess = $NumbersPrivate; } CHECKER: foreach $checker(@CheckAccess) { chomp($checker); ($checknum, $checkdir) = split(/\:/, $checker); if ($checknum eq "$number") { if ($checkdir eq "$DIRPW") { $ProceedNow = "true"; last CHECKER; } else { &StandardHTML("Ihr Identität kann nicht ermittelt werden."); exit; } #if checkdir }# if checknum } #foreach } #if np if ($ProceedNow ne "true") { if ($ProfileNumber ne "") { $NameFound = "yes"; } else { $NameFound = "no"; } @thisprofile = &OpenProfile("$ProfileNumber.cgi"); if ($PasswordPrivate eq "$thisprofile[1]") { $Permission = "$thisprofile[4]"; $Status = $thisprofile[8]; ($GenPerms, $SpecificPerms) = split(/\&/, $Permission); $Moderator = ("Forum" . "$number" . "Moderator"); $Moderator = $$Moderator; #split up Mod var @mods = split(/\|\|\^\|\|/, $Moderator); $ModMatch = ""; foreach $unomod(@mods) { if ($unomod eq "$UserNamePrivate") { $ModMatch = "true"; } } if (($Status eq "Administrator") || ($ModMatch eq "true")) { $ProceedNow = "true"; } if (($SpecificPerms ne "") && ($ProceedNow ne "true")){ chomp($specificPerms); @accessarray = split(",", $SpecificPerms); CHECKARRAY: foreach $uno(@accessarray) { if ($uno eq "$number") { $ProceedNow = "true"; last CHECKARRAY; } } } } } } #end VerifyID sub GetIP { #print authorization screen- must be admin or mod my $IPTitle = qq($BBName - Gespeicherte IP-Nummer für diesen Beitrag anzeigen); my $IPRunner = qq(I P      L O G      A N Z E I G E); my $IPIntro = qq(Um die gespeicherte IP-Nummer für diesen Beitrag anzusehen, identifizieren Sie sich bitte:); $IPHidden = qq(
    ); &AuthorizeCheck($IPTitle, $IPIntro, $IPHidden, $IPRunner); } sub CheckBans { my @banlist = &OpenFile("$NonCGIPath/BanLists/EmailBan.cgi"); if ($banlist[0] ne "") { my $banword = ""; CheckBanList: for $banword(@banlist) { chomp($banword); $banword2 = quotemeta($banword); if ($Email =~ m/$banword2$/i) { &StandardHTML("Die von Ihnen bei der Registration verwendete eMail-Adresse ist von der Administration für dieses System gesperrt worden. Zur Zeit erlauben wir keine Registrationen auf die folgende eMail-Adresse:

    $banword

    Bei Fragen können Sie uns an $BBEmail eine eMail senden."); $BannedEmail = "true"; exit; last CheckBanList; } } } #if EmailBan list is not empty #Check IP Ban List-- my @IPbanlist = &OpenFile("$NonCGIPath/BanLists/IPBan.cgi"); if ($IPbanlist[0] ne "") { my $bannum = ""; CheckIPBanList: for $bannum(@IPbanlist) { chomp($bannum); $bannum2 = quotemeta($bannum); if ($IPNumber =~ m/$bannum2/i) { &StandardHTML("Die von Ihnen verwendete IP-Nummer ist von der Administration für dieses System gesperrt worden. Ihre IP-Nummer lautet: $IPNumber.

    Bei Fragen können Sie uns an $BBEmail eine eMail senden."); $BannedEmail = "true"; exit; last CheckIPBanList; } } } #if IPBan list is not empty } sub PrintProfileText { if ($in{'EmailView'} eq "yes") { $emailansicht = "Ja"; } if ($in{'EmailView'} eq "no") { $emailansicht = "Nein"; } if ($in{'AllowMassMail'} eq "yes") { $bulkmail = "Ja"; } if ($in{'AllowMassMail'} eq "no") { $bulkmail = "Nein"; } if ($WritePermission eq "Write&") { $schreiben = "Benutzer kann Beiträge und/oder Antworten verfassen."; } else { $schreiben = "Benutzer kann keine Beiträge und/oder Antworten verfassen."; } my $message .= ("Benutzername: $UserName\n"); $message .= ("Kennwort: $Password\n"); $message .= ("eMail-Adresse: $RegEmail\n"); $message .= ("Homepage: $URL\n"); $message .= ("Rechte: $schreiben\n"); $message .= ("Beruf: $Occupation\n"); $message .= ("Wohnort: $Location\n"); $message .= ("Erstellte Beiträge: 0\n"); $message .= ("Status: $Status\n"); $message .= ("Hobbies: $Interests\n"); $message .= ("Datum: $HyphenDate\n"); $message .= ("Anzeige der eMail erlaubt: $emailansicht\n"); $message .= ("Signatur: $in{'Signature'}\n"); $message .= ("ICQ-Nummer: $ICQ\n"); $message .= ("eMail-Empfang durch UBB-Administration erlaubt: $bulkmail\n"); return $message; } sub PrintCOPPARegistrationHTML { print <<"COPPA" Freischaltungsauftrag für $BBName

    Freischaltungs-Antrag für  $BBName

    Anweisungen für die Eltern oder Erziehungsberechtigten

    $COPPAInstructions

    Nachfolgend die durch den Benutzer eingegebenen Pflichtdaten:

    Benutzername $UserName
    Kennwort $RegWording2
    eMail-Adresse $Email

    Die nachfolgenden Angaben wurden durch den Benutzer optional angegeben. Bitte überprüfen Sie die Angaben:

    Um Änderungen dieser Angaben vorzunehmen, klicken Sie bitte hier und geben dann den o.g. Benutzernamen und Kennwort zu Identifikation ein.

    Land, PLZ und Ort $Location
    Beruf $Occupation
    Hobbies $Interests
    Homepage $URL
    Signatur $SignatureHTML
    Dürfen Administratoren und/oder Moderatoren dem Benutzer eMails senden? $in{'AllowMassMail'}
    Soll die eMail-Adresse für andere Benutzer einsehbar sein? $in{'EmailView'}
    ICQ-Nummer $in{'ICQ'}
       

    Bitte drucken Sie dieses Formular aus und senden Sie uns das unterzeichnete Formular zu.
    [Detaillierte Anweisungen über die Zusendungen finden Sie hier.]

    JA: Ich habe die Angaben meines Kindes überprüft und mich über die rechtlichen Hinweise zu dieser Website informiert. Ich habe verstanden, daß mein Kind die o.g. Profil-Angaben jederzeit mit dem Benutzernamen $UserName und dem genannten Kennwort ändern kann. Mir ist bekannt, daß ich den Webmaster um Löschung der hier genannten Daten bitten kann.

    Vor- und Nachname



    Unterschrift



    Beziehung zum Kind



    Telefon



    eMail-Adresse



    Datum

    Datum der Registration $HyphenDate [nur online sichtbar]

    Für weitere Fragen klicken  Sie hier und schreiben uns eine eMail.

    Kontakt | $MyHomePage | rechtliche Hinweise

    $YourCopyrightNotice

    $infopopcopy
    Ultimate Bulletin Board $Version

    COPPA } # end SR exit(0); # comply with SafePerl