############################################ ## ## ## WebBBS ## ## by Darryl Burgdorf ## ## (e-mail burgdorf@awsd.com) ## ## ## ## version: 4.33 ## ## last modified: 6/8/00 ## ## copyright (c) 2000 ## ## ## ## latest version is available from ## ## http://awsd.com/scripts/ ## ## ## ############################################ sub WebBBS { if ($ARGV[0] && !($ENV{'QUERY_STRING'})) { $ENV{'QUERY_STRING'} = $ARGV[0]; $UseFrames = ""; $SkipHF = 1; } &Parse_Form; &Initialize_Data; if (($ENV{'DOCUMENT_URI'} && ($cgiurl !~ /$ENV{'DOCUMENT_URI'}/)) || ($ENV{'QUERY_STRING'} =~ /quickinfo/i)) { &QuickInfo; } if ($ENV{'QUERY_STRING'} =~ /blank/i) { &BlankPage; } elsif ($UseFrames && ($ENV{'QUERY_STRING'} !~ /index/i)) { if (($ENV{'QUERY_STRING'} =~ /review=(\d+)/i) || ($ENV{'QUERY_STRING'} =~ /rev=(\d+)/i)) { $message = $1; if ($message < 1) { $message = "00"; } } &SetupFrames; } else { if ($DisplayViews) { if ($FORM{'ListType'} =~ /Guestbook/) { unless ($UseLocking) { &MasterLockOpen; } &LockOpen (COUNTLOCK,"$dir/countlock.txt"); unless ($NoCountLock) { &CountDBMWrite; } } else { &CountDBMRead; } } if (($ENV{'QUERY_STRING'} =~ /rebuilt/) || (!($UseFrames) && $ENV{'QUERY_STRING'} =~ /rebuild/)) { unless ($DisplayViews && ($FORM{'ListType'} =~ /Guestbook/)) { if ($DBMType==2) { dbmclose (%CountList); } else { untie %CountList; } unless ($UseLocking) { &MasterLockOpen; } &LockOpen (COUNTLOCK,"$dir/countlock.txt"); unless ($NoCountLock) { &CountDBMWrite; } } $rebuildflag = 1; if ($DBMType==2) { dbmclose (%MessageList); } else { untie %MessageList; } require $webbbs_rebuild; &Rebuild_Database; @messages = (keys %MessageList); $TotalMessages = @messages; @sortedmessages = (sort {$a<=>$b} @messages); $lastmessage = $sortedmessages[@sortedmessages-1]; } @messages = (); if ($FORM{'ListType'} =~ /Alpha/) { foreach $message (@sortedmessages) { $sortsubject{$message} = $MessageList{$message}; $sortsubject{$message} =~ s/^[^\|]*\|([^\|]*).*/$1/; $sortsubject{$message} =~ s/^$text{'1513'} //; $sortsubject{$message} =~ s/&pipe;/\|/g; $sortsubject{$message} =~ tr/A-Z/a-z/; } } if ($ArchiveOnly && !($FORM{'KeySearch'}) && !($UseFrames)) { require $webbbs_misc; &Search; } &DisplayIndex; } } sub SetupFrames { print "