############################################ ## ## ## WebBBS ## ## by Darryl Burgdorf ## ## (e-mail burgdorf@awsd.com) ## ## ## ## version: 3.21 ## ## last modified: 4/28/99 ## ## copyright (c) 1999 ## ## ## ## latest version is available from ## ## http://awsd.com/scripts/ ## ## ## ############################################ # COPYRIGHT NOTICE: # # Copyright 1999 Darryl C. Burgdorf. All Rights Reserved. # # This program is being distributed as shareware. It may be used and # modified by anyone, so long as this copyright notice and the header # above remain intact, but any usage should be registered. (See the # program documentation for registration information.) Selling the # code for this program without prior written consent is expressly # forbidden. Obtain permission before redistributing this program # over the Internet or in any other medium. In all cases copyright # and header must remain intact. # # This program is distributed "as is" and without warranty of any # kind, either express or implied. (Some states do not allow the # limitation or exclusion of liability for incidental or consequential # damages, so this notice may not apply to you.) In no event shall # the liability of Darryl C. Burgdorf and/or Affordable Web Space # Design for any damages, losses and/or causes of action exceed the # total amount paid by the user for this software. # VERSION HISTORY: # # 3.21 04/28/99 Added optional "Top N Posters" list # Added alpha & reversed alpha listings # Reduced size of navbar text # Added $admin_name and revised "credit" link # Added # = and ~ to "autohotlink" regex # Removed banner calls from "NoFrames" page # Captured "duplicate" responses in threaded lists # Corrected "content-type" to precede *all* errors # Revised "insertadvert" subroutine for WebAdverts 2.01 # 3.20 10/10/98 Changed post date storage to "raw" format # Added option to tailor date formatting # Allowed choice of index styles (1-line, 2-line, news) # Replaced $newspec & $newgraphicurl with $NewCode # Made view count optional # Made link info saves optional # Made IP resolution optional # Added optional "auto hotlinking" # Allowed admin definition of autoquote character # Made printing of board name on pages optional # Added link back to index from search results page # Added "Return-Path" header to e-mail notifications # Added direct links to messages in e-mail # $private_list setting no longer depends on $email_list # Script no longer requires addresses.txt file # Made banned IP list checks case insensitive # Added additional "integrity checks" of messages.idx # Closed $LockRemoteUser hole # Closed $ArchiveOnly hole # Disallowed semicolons in e-mail addresses # Allowed semicolons in URLs # 3.12 08/07/98 Added resolution of posters' IP addresses # 3.11 08/06/98 Fixed erroneous admin flags in index # Fixed potential security hole in delete function # Added option for "new post" graphic # Response form is now titled "Post Response" # 3.10 08/04/98 Improved triggering of index rebuild # Improved speed of index rebuild # Added IP addresses to index database # Improved "frames friendliness" with outside framesets # Improved (simplified) "naughty words" censoring # Added IP-based banning # Fixed admin e-mail bug # Included *all* fields in duplicate post check # Allowed definition of "welcome page" in empty frame # Added "admin link" to main navigation bar # Added $messagespec & $newspec variables # Added option to keep mail notification lists "private" # Allowed direct input of SMTP server name # Replaced "the $boardname" refs with just "$boardname" # Reduced ".tmp" file storage to two hours (0.1 day) # Continued migration of text to separate text file # Other minor tweaks (So what else is new?) # 3.01 07/25/98 Fixed "incorrect exit" bug # Fixed "preview opens new window" bug # 3.00 07/24/98 FIRST SHAREWARE RELEASE # Added support for frames # Introduced "index database" to speed index creation # Started isolating text for easy translation/alteration # Revised/simplified error handling subroutine(s) # Added direct SMTP interface option # (Subroutine adapted from Matt Wright) # Set messages to display full threads # Corrected ordering of "reversed threaded" lists # Added "mixed threaded" style option # Added reversed "chronological" & "compressed" options # Added classic & threaded "guestbook-style" options # Added "last twelve hours" time option # Added option to put post form on separate page # Added option to display posters' IP addresses # Moved (un)subscribe form to separate page # Removed previous and next "in thread" links # Separated "search" and "set preferences" # (Eliminated need for timelocal.pl module) # Allowed admin to disable user pref settings # Allowed creation of "main post only" boards # Fixed parsing of multi-character line feeds # Vastly improved word-wrap functions # Improved look and consistency of output pages # Added "message read" counters # Allowed use of $ENV{'REMOTE_USER'} # Moved admin functions to separate script # Allowed Lynx to default to "compressed" # Rewrote file locking routines # Plugged security hole in "delete" function # Added link info to cookies # Defined max length for name & email fields # Added configurable max message length # Allowed "@" in URLs and disallowed "," in e-mails # Cleaned up ("mod_perlized") code # Lots of other "various and sundry" improvements # 2.25 12/13/97 Improved look of "archive only" boards # Eliminated minimum length for search terms # Added maximum length (100 chars) to subject lines # Added link info to message e-mail notices # Removed mandate that admin screen display all posts # Fixed typo in "data.txt" access error message # Updated "duplicate submission" message # Finally updated WebAdverts subroutine # Various minor tweaks # 2.24 08/17/97 Squashed bug in previous/next links # Fixed "header only" function # 2.23 08/16/97 Squashed subscription list add/delete bug # Corrected new message count to ignore temp/deleted # 2.22 08/09/97 Fixed typo bug in preview confirmation # Allowed subscriptions to "archive only" boards # 2.21 08/09/97 Added "harvester" option # Improved "context awareness" of censoring routine # Rewrote "not posted" message for better clarity # Added "compressed listing" index option # Corrected URL parsing to allow commas and ampersands # Added IP address info (as comment tag) to messages # Made "preview" capability optional # Added ability to post directly from preview screen # Allowed administrator to post to archive-only boards # Added ability to define HEAD tag header info # Restructured header/footer subroutines for simplicity # Revised header/footer handling of WebAdverts inserts # Fixed bug in various "selective" index displays # Revised display of search results indexes # Added ability to e-mail notices only to administrator # Added "header only" e-mail notification option # Simplified & sped up e-mail word-wrap function # 2.20 07/11/97 Revised message displays to thread responses # Added "trapping" of IP addresses in message files # Added ability to preview messages before posting # Added ability to "censor" naughty words in posts # Made allowing user deletion of messages optional # Made allowing e-mail notifications optional # Made allowing of URL input optional # Added optional ability to allow pics with messages # Added optional headers & footers on admin pages # Incorporated "reaper" script functionality # Added configuration option for external digest script # Improved handling of banner placements # Improved "structure" of index & message pages # Improved parsing of e-mail addresses for validity # (Regex borrowed from Matt Wright) # "Cleaned up" configuration variables & BBS setup # 2.14 05/28/97 Allowed for parsing, display or purging of HTML # Added support for WebAdverts banner displays # Added optional headers & footers on message pages # Allowed easy disabling of all e-mail functions # Simplified word-wrap of quoted message text # Added word-wrap to e-mail notifications # Corrected style of password input boxes # Finally fixed message sorting so it's numeric # Fixed bug in message deletion with admin password # Fixed bug in display of author search results # A lot of minor "tweaks" and format alterations # 2.13 04/06/97 Added $HourOffset # Added $InputColumns and $InputRows # Set $DefaultTime="archive" to index all posts # Incorporated formerly-separate admin script # Added passwords to allow deletions by authors # Added "reversed threaded" listing option # Added timestamp to avoid "constant" cookie updates # Added number of new messages to welcome blurb # Added "X of Y Messages Displayed" to index page # Added "return to index" links to error messages # "Optionalized" e-mail notification of responses # Closed security hole allowing SSI in messages # Fixed minor bug in file locking # Miscellaneous minor "clean-up" revisions # 2.12 02/26/97 Added "previous" and "next" message links # Added file locking to prevent dup message IDs # Added configurable default settings # Corrected bug in "archive only" display options # 2.11 02/14/97 Temporary fix for cookie domain bug # 2.10 02/11/97 Added optional support for cookies # Eliminated need for initial "setup" page # Added "archive only" option # Added "single line breaks" option # Added ability to search by author's name # Finally tracked down and squashed "new post" bug # 2.01 02/02/97 Name changed from "WebBoard" to "WebBBS" # Added automatic quoting of previous message # Removed sometimes-problematic "location" call # Eliminated redundant e-mail notifications # Corrected bug with $name variable # 2.00 01/19/97 Complete "from the ground up" rewrite # (Major change: Use of dynamic page generation) # 1.01 01/04/97 Added option to allow embedded HTML in messages # Minor bug fixes and format alterations # 1.00 12/22/96 Initial "public" release # (Had been in use privately for months)