Sunday, June 13, 2021
Adds and retrives users' threaded posts. All the text that is to be
displayed on the main page is saved in the main (bbm.dat) database file. Multiple forums (bulletin boards) can be run from one script, by using a separate directory for each set of datafiles.
If users' browser supports 'frames', the script will create the main window and a bottom window to display full text of a thread, refered to as 'full' screen and 'split' screen. Users can switch between full/split if frames-capable browser.
The first post on a subject is called the 'subject' post, and
followups are called 'comment' posts. The subject and all
attached comments are called a 'thread'. Each subject is numbered sequentially as it is created by reading the count (bbm.cnt) file.
You can set limits for size of post and size of post displayed on
the main page. If text exceeds maximum length, a separate subject
file (bbmNNN.txt) is created for the extra text in the thread,
where NNN is the subject number.
Each line in 'bbm.dat' is a pipe (|) delimited record with 8 fields:
0. Subject number
1. Item line number (where '0' is the subject post, and '1' thru 'n' are the comment posts in the thread.
2. Subject name (if subject post or Mail flag (if comment post)
4. Email address
5. Posting date
6. Text to display on the main page.
The subject files are also in database format with one record per line containing the excess text. The line number corresponds to the 'item line number' in 'bbm.dat'.
E-Mail is sent to all users in a thread when a followup is posted,
unless they uncheck the "Alert me.." box when they submit a comment.
The manager module (bbman.pl) removes subjects and/or comments.
Removing by AGE deletes subjects and attached comments which have not been active for a selectable time period from 1 to 12 months. If extra text files exist for the subjects being removed, they are deleted also.
Removing by NUMBER produces a list of all subjects and comments with checkboxes. If a subject is selected, the subject and its attached comments are deleted. If a comment is selected, only that comment is deleted.
Posts removed by AGE are added to an archive file (bbmold.dat) which
is sorted in descending (newest at top) chronological order. Currently the script doesn't provide for viewing the archive file, but that enhancement will be added in the future.
Example: Assume a new subject was posted on June 1, and followups
were added on June 2, June 4 and July 26. Today is September 25 and
the manager selects '2' months from the menu. None of the posts would be removed because the most recent activity was LESS than 2 months ago.
BBMATIC uses the Perl 'flock' function to prevent simultaneous
changes (corruption) of data files.
INSTALLATION:BBMatic BBS automatically installs on your web site in seconds
Or, follow the below instructions to install manually.
1. SETUP YOUR FILES
For each forum, make a copy of 'bbmtemp.htm', 'bbm.dat', 'bbm.cfg', 'bbm.cnt',
'bbm.flk' and 'bbmold.dat'. Be careful not to overwrite them.! Place them in separate directories or use temporary names until you upload them.
Edit each 'bbm.cfg' file using the included sample file for guidance. Line 1 is the TITLE of the forum used in the tag. Line 2 is the tag to be used on forum pages. Line 3 is the TITLE of the forum shown at the top of each page. Save the file.
Edit each copy of 'bbmtemp.html'. The script needs to find the
special comment lines that look something like
<!-- BBMATIC BLAH BLAH BLAH --> so be sure not to change or delete them. Otherwise you can add any HTML text or graphics to the page. You can even leave it just like it is!
Open 'bbmhelp.htm' in a text/html editor and make any changes desired. When you upload these files in step 3, change the extension 'htm' to 'html'.
2. CONFIGURE SCRIPT
Open the main script file 'bbmat.cgi' in a text editor and change the sample paths in the "CONFIGURE THE SCRIPT" section, following the instructions found there.
3. UPLOAD FILES AND SET (CHMOD) PERMISSIONS
The .gif's must be uploaded as BINARY files. All others are ASCII.
Place 'bbmat.cgi' (755) and 'bbman.pl' (644) into your cgi directory.
Create a directory named 'bbmat' (755). Place 'bbadd.gif' (644),
'bbmore.gif' (644), 'pin-pur.gif' (644), 'bbmhelp.html' (644),
'bbmbot.html' (644) and 'bbmat.pwd' (666) into the 'bbmat' directory.
Create a directory (777) for each forum using the directory paths
and names you specified in 'bbmat.cgi' for the %Script variable. You
may want to make these subdirectories of the 'bbmat' directory
/bbmat/recipe/ and /bbmat/decapitation/
Place each set of 'bbm.dat' (666), 'bbm.cfg' (644), 'bbm.cnt' (666),
'bbm.flk' (666), 'bbmtemp.html' (644) and 'bbmold.dat' (666) into the
corresponding directory. These directories MUST be world-writeable!
If you enable the back-up option, create an empty directory named
'bak' (777) which can be shared with my other scripts that make
back-up files. This directory MUST be world-writeable!
HOW TO USE IT:
To run the main script from the web, enter the URL of the script
itself. This will cause the main page to load in the browser,
using the default forum database.
If you have configured BBMATIC to use multiple forums, you must
append a 'query-string' to the URL. For example, in the
%HeadTitle variable, if you used 'recipe' as the keyword for a forum, then using 'script=recipe' as the query-string starts the script
with that forum.
If you want users to be able to select a "NO FRAMES" URL, use ..
.. however by default frameless browsers (if there are any left) will
see a link to the frameless version in the tag, so
providing a separate link for them is not necessary.
To run the BBMATIC manager, use 'manager' as the query string. You can optionally specify a forum as in the 'script=recipe' example,
but you will have the option to change forums anyway.
The response should be the password authorization form. The
initial password is 'password'. Of course you should change it soon to something unique by entering a new password in the
'Change Password' box.
"I really loved your website because I HATE hassling with perl and cgi.
(I'm an author and don't have time)."
- L. Schlumpf
Send us your thoughts
Download Fuse Node.js Compiler