In this section:   Perl Scripts   Bannermatic   Bbmatic   Hitmatic   Linkmatic   Mailmatic   Script help   Emporium 


Installation and Usage

This copy of BBMAT.ZIP contains the latest revised
edition with all required files for a complete installation.

Revision Date: - August 1, 1999
Copyright: 1996,1997,1998,1999 by Joe DePasquale

This application is for Unix web servers running Perl 5.0 or higher.

Additional documentation is available at http://www.GetCruising/crypt
helpme.txt - How to install Perl scripts on a Unix server.
whatsnew.txt - Revision history for all 'CGI Scripts from the Crypt'.

Also visit the "Users' Self-Support Forum" to post questions and
answers, especially if you have some extra time, knowledge and
a desire to help some other poor lost souls!

Due to extremely limited time, E-Mail with technical support
questions WILL NOT BE ANSWERED! Please use the available resources
here and elsewhere on the WWW to solve problems.
E-Mail genuine bug reports to:



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.
User 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)
3. Name
4. Email address
5. Posting date
6. Text to display on the main page.
7. End-of-line

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 ( 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

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.




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 <HEAD> tag. Line 2 is
the <BODY> 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'.


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.


The .gif's must be uploaded as BINARY files. All others are ASCII.

Place 'bbmat.cgi' (755) and '' (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
such as:

/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!



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.

Example -

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.

Example -

If you want users to be able to select a "NO FRAMES" URL, use ..

Example -

.. however by default frameless browsers (if there are any left) will
see a link to the frameless version in the <noframes> 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.

Examples -

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.


Get in there and DO IT!

Back to Previous Page