[реклама вместо картинки]
#!/usr/bin/perl
#
### PRIMARY UBB SCRIPT ##
#
# Ultimate Bulletin Board is copyright Infopop Corporation, 1998-2000.
#
# ------------ Ultimate.cgi -------------
#
# This file contains intro 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 "Styles.file";
require "ubb_library.pl";
};
&ReadParse;
if ($in{'action'} eq "Redirect") {
print "Location: $in{'GoTo'}\n\n";
exit;
} #end Redirect check
print ("Content-type: text/html\n\n");
#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(
);
} else {
$TableWidth2 = $TableWidth;
$BorderTop = "";
$BorderBottom = "";
}
if ($BBStatus eq "OFF") {
&StandardHTML($BBClosedMessage);
exit;
}
foreach $row(@in) {
($Name, $Value) = split ("=", $row);
$Name = &decodeURL($Name);
$Value = &decodeURL($Value);
if ($Name eq "BypassCookie") {
$BypassCookie = $Value;
}
if ($Name eq "category") {
$category = $Value;
$CategoryName = &GetCatName($category);
}
if ($Name eq "number") {
$number = $Value;
$number =~ s/\D//;
}
if ($Name eq "DaysPrune") {
$DaysPrune = $Value;
}
} # end FOREACH $row
if ($VariablesPath eq "") {
$VariablesPath = $CGIPath;
}
#set Random Number- for use in Banner Ads, etc.
if ( ($Header ne "") || ($Footer ne "") ) {
$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
if (@in == 0) {
&Intro;
exit;
}
if ($in{'action'} eq "intro") {
&Intro;
exit;
}
if ($in{'action'} eq "email") {
&DoEmail($in{'ToWhom'});
}
else { # all else requires the UBB Registration Library
eval (require "register_lib.pl");
if ($@){
&StandardHTML("Sorry! The Registration Library is not Available. Contact the Admin");
exit;
}
}
if ($in{'action'} eq "agree") {
&Agree;
}
if ($in{'action'} eq "COPPAgree") {
if($COPPAType eq 'COPPADenied') {
&StandardHTML("Sorry! We do not permit anyone under age 13 to register at this Bulletin Board.");
exit;
}else { &ShowCOPPAAgree;
}
}
if ($in{'action'} eq "useCOPPAform") {
&ShowCOPPAForm;
}
if ($in{'action'} eq "register") {
&Register;
}
if ($in{'action'} eq "lostpw") {
if ($UseEmail eq "ON") {
&LostPW;
} else {
&StandardHTML("Sorry, but this feature is not available, per your administrator's directions. Use your back button to return to the BB.");
}
}
# INTRO PAGE SUBROUTINES #
sub Intro {
&get_cookie; #retrieves all current cookies
&AssembleCats;
#retrieve cats
@CATEGORIES = &OpenFile("$NonCGIPath/categories.file");
#check for archives
if (-e "$NonCGIPath/Archives/archives.pl") {
@archives = &OpenFile("$NonCGIPath/Archives/archives.pl");
if ($archives[0] ne "") {
@ArchiveLine = qq(