#!/usr/bin/perl ### PRIMARY UBB SCRIPT ## # # Ultimate Bulletin Board is copyright Infopop Corporation, 1998-2000. # # ------------ postings.cgi ------------- # # This file contains the functionality for the UBB # postings (new topics, replies, etc.). # # 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"; print ("Content-type: text/html\n\n"); eval { ($0 =~ m,(.*)/[^/]+,) && unshift (@INC, "$1"); # Get the script location: UNIX / or Windows / ($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1"); # Get the script location: Windows \ #substitute all require files here for the file require "UltBB.setup"; require "Date.pl"; require "mail-lib.pl"; require "mods.file"; require "ubb_library.pl"; require "ubb_library2.pl"; }; if ($@) { print "Error including required files: $@\n"; print "Make sure these files exist, permissions are set properly, and paths are set correctly."; exit; } use Socket; &ReadParse; $DisableSmiliesWording = qq( Disable Smilies in This Post.); $SmiliesLink = qq(Smilies Legend); 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 = &UNHTMLIFY($TopicSubject); } if ($Name eq "UserName") { $UserName = $Value; $UserNameFile = $UserName; $UserNameFile =~ s/ /_/g; #remove spaces } if ($Name eq "BypassCookie") { $BypassCookie = $Value; } if ($Name eq "category") { $category = $Value; } if ($Name eq "PasswordConfirm") { $PasswordConfirm = $Value; } if ($Name eq "number") { $number = $Value; $number =~ s/\D//g; } if ($Name eq "DaysPrune") { $DaysPrune = $Value; } if ($Name eq "topic") { $topic = $Value; } if ($Name eq "Email") { $Email = $Value; $Email =~tr/A-Z/a-z/; } if ($Name eq "URL") { $URL = &CleanThis($Value); $URL = &PipeCleaner($URL); } if ($Name eq "Permissions") { $Permissions = $Value; } if ($Name eq "Occupation") { $Occupation = &CleanThis($Value); $Occupation = &PipeCleaner($Occupation); } if ($Name eq "Location") { $Location = &CleanThis($Value); $Location = &PipeCleaner($Location); } if ($Name eq "TotalPosts") { $TotalPosts = $Value; } if ($Name eq "Status") { $Status = $Value; } if ($Name eq "Interests") { $Interests = &CleanThis($Value); $Interests = &PipeCleaner($Value); } if ($Name eq "sendto") { $sendto = $Value; } } # end FOREACH $row if ($VariablesPath eq "") { $VariablesPath = $CGIPath; } if ($in{'action'} eq "doupdate") { if ($in{'UpdateForumChoice'} eq "ALL") { $number = 1; } else { $number = $in{'UpdateForumChoice'}; $number =~ s/\D//g; } } if (-e "$ForumsPath/Forum$number/forumstyles.file") { require "$ForumsPath/Forum$number/forumstyles.file"; $use_forum_styles++; } else { require "$VariablesPath/Styles.file"; } $infopopcopy =~ s/\"\"/\"$CopyrightTextColor\"/; # fix missing copyright text color if ($use_forum_styles) { # set above with -e $Header = $ForumHeader unless ($ForumHeader eq ''); $Footer = $ForumFooter unless ($ForumFooter eq ''); } if( ($Header ne '') || ($Footer ne '') ) { #create random numbers for headers/footers $RandomNumber = &MakeRandomNumber; $RandomNumber2 = $RandomNumber + 100074; if ($Header ne '') { $Header =~ s/UBBrandomX/$RandomNumber/isg; $Header =~ s/UBBrandomY/$RandomNumber2/isg; } if ($Footer ne '') { $Footer =~ s/UBBrandomX/$RandomNumber/isg; $Footer =~ s/UBBrandomY/$RandomNumber2/isg; } } # end if header or footer #adjust bgcolor variables if ($BGColor ne ""){ $BGColor = qq(bgcolor="$BGColor"); } if ($AltColumnColor1 ne ""){ $AltColumnColor1 = qq(bgcolor="$AltColumnColor1"); } if ($AltColumnColor2 ne ""){ $AltColumnColor2 = qq(bgcolor="$AltColumnColor2"); } if ($CategoryStripColor ne ""){ $CategoryStripColor = qq(bgcolor="$CategoryStripColor"); } if ($TableColorStrip ne ""){ $TableColorStrip = qq(bgcolor="$TableColorStrip"); } if ($PageBackground ne ""){ $PageBackground = qq(background="$NonCGIURL/$PageBackground"); } if ($TableBorderColor ne ""){ $TableWidth2 = "100%"; $BorderTop = qq(
); $BorderBottom = qq( |
$ForumOLD | $Forum"); exit; } if ($in{'action'} eq "deletepost") { &DeletePost; } if ($in{'action'} eq "newtopic") { &NewTopic; } if ($in{'action'} eq "posttopic") { &PostTopic; } if ($in{'action'} eq "closethread") { &OpenCloseThread("close"); } if ($in{'action'} eq "openthread") { &OpenCloseThread("open"); } if ($in{'action'} eq "processclose") { &ProcessClose; } if ($in{'action'} eq "editpost") { @mess = &OpenThread("$topic"); $stats = $mess[0]; @statline = split(/\|\|/, $stats); if ($statline[1] =~ /X/) { &StandardHTML("Sorry, but this thread is closed... you may not edit any posts in a closed thread.
Use your Back button.");
} else {
&EditPost;
}
} #end editpost check
if ($in{'action'} eq "submitedit") {
&SubmitEdit;
}
sub ForwardWithCookies {
my $URLwc = shift;
my $TEXTwc = shift;
&GetCookieInfo;
if ($SetCookies eq "DirectorySpecific") {
$ExtraInfo = qq(domain=$TheDomain;path=/$ThePath;);
} else {
$ExtraInfo = "";
}
print < Please wait while we create the new page ...
$TEXTwc
$Footer