Script revision history for Joe's CGI Scripts from the Crypt
by Joe DePasquale, Revisions are in reverse chronological order.

Filename: whatsnew.txt
E-Mail: crypt@getcruising.com
Website: http://www.getcruising.com


October 8, 2006

There is now an updated version of HITMATIC! Inspired by Microsoft's decision
to no longer render X-Bitmap images in Internet Explorer, HITMATIC will no
longer display visible hitcounts on your pages. However, the manager functions
have been enhanced ans the interface has been simplified. It now counts not
only pageviews, but visits as well. A Visit is defined as the same remote
address (IP number) accessing a page (or group or website) at least once
between midnight and 11:59 pm. If a visitor 'visits' they will only be counted
one time in total for the day.

September 16, 2006

There are now updated versions of BANNERMATIC! After serving well for nine
years on this website, the code was due for cleanup. The installation is
now easier. Banners can now be located anywhere on the web. The unnecessary
backup file feature was removed, and interaction with HITMATIC was removed,
in preparation for a new release of that script.

August 19, 2006

Fixed error in HITMATIC, specifically in the hitman.pl file, which caused
the wrong monthly hit totals to be calculated when viewing hits by Group
or by Page.

January 26, 2002

Fixed error that prevented removal of old posts by age in BBMATIC; changed
dateStamp test value in line 111.

August 1, 1999

Has it been almost a year since the last revision? Time flees in the
afterlife! All of the Scripts From the Crypt have been Y2K-compliant since
they were first written, except BBMATIC. With this revision, BBMATIC is
now OK for Y2K also. Only a few lines needed to be changed. I have also
rewritten part of the documentation to introduce a configuration
file for each forum, which allows more freedom choosing locations
for the forum directories. This is the structure used by LINKMATIC.

August 29, 1998

Sorry to those who downloaded the last LINKMATIC revision. I decided to
rename the '.cfg' files as they were before. It seems simpler to explain
in installation. However I kept the other changes in place.

Minor transparent changes in BANNERMATIC (all versions) replace the Unix
`cat` and `cp` functions with portable Perl code. Also removed fixed image
size in BANMAN edit mode, better E-Mail regexp.

August 22, 1998

LINKMATIC has a new more flexible directory structure, which is
hopefully easier to setup. If you are upgrading from a previous revision,
you will need to rename, relocate and add a line to the top of your '.cfg'
files (explained in how2link.txt). Other minor upgrades include ability
to set a maximum total results for search or browse and displaying the
date each record was added. Fixed bug that prevented displaying more
results pages if search query was a phrase (thanks to Kerrin Sheldrake
for catching this one). Also added E-Mail validation to 'linkman.pl'.

July 8, 1998

Revised the QUERYSTRING pattern-matching algorithms in BANNERMATIC to
accept (and ignore) an ampersand and any following text after the
required input. Coincidentally found and corrected bugs in all three
versions of BANNERMATIC. In BANMAT1.CGI, might have caused banner number
to not be read; in BANMAT2.CGI could have caused failure if no group code
was used and could have caused cookie-capable browsers not to pass test;
in BANMAT3.CGI same group code failure as BANMAT2.CGI.

Also fixed bug in HITMATIC module HITCFG.PL which caused count of
current month's hit to a page to be deleted if the page received zero
hits on a later day in the month! Gee, uh sorry.

June 24, 1998

It's been longer than I expected, but today's release of BBMATIC
contains a new manager option to delete individual comments or subjects
and all their attached comments. Minor revision of 'bbmat.cgi' included
which doesn't affect functionality. HELPME.TXT has been partially
rewritten and reorganized also.

April 30, 1998

At last I am releasing the frames version of BBMATIC. There are several
enhancements including: separate window for displaying full-text of
subject and comment posts saves time by not having to reload the main page
after viewing full-text; calls Perl 'flock' function for the most secure
file-locking; eliminate separate 'flk' directory; and you can now run
multiple forums with just one script. With this version, ALL of the
'Scripts From the Crypt' use Perl 'flock' file-locking and NONE requires
a separate 'flk' directory. So now everything's so easy even a brain-dead
mummy could install these scripts, heh heh heh. Thanks again to James Weeks
(SitePlus.com) for reporting that MSIE browser was not displaying frames

April 26, 1998

Bug fix for all April 6, 1998 revision of BANNERMATIC (1, 2 & 3).
Last banner in ban.dat was never selected. Thanks to Adam Lasnick
(http://smilezone.com) for detecting. Also changed layout of LINKMATIC
template page, so that "description" is a <textarea> form field.

April 7, 1998

MAILMATIC has been exhumed and fluffed up! Previous versions too often
crashed before finishing sending a mailing to the mailing list. This
revision changes the method to "blind-carbon-copy" and uses an 'eval'
function to trap errors during the mailing and prevent the 'server 500'
error. Also now uses Perl 'flock' function for file-locking, like all
scripts revised since Feb 19, 1998. Documentation now appears in the
'how2mail.txt' file included in 'mailmat.zip'.

April 6, 1998

Revised BANNERMATIC 2 & 3 so that banner numbers are random rather than
sequential. Thanks to Thomas Craig (webmaster of Gateway Publishing) for
pointing out that the old method did not distribute banners fairly when
used with group codes. Consequently the 'ban.cnt' file is eliminated in
all three BANNERMATIC versions.

April 2, 1998

Fixed backup routine in March 15 revision of HITMATIC which was backing-up
the hit.cnt file instead of the monthly hitx.dat file.

April 1, 1998

Fixed bug in HITMATIC's 'hitcfg.pl' module which caused monthly maintenance
to delete last month's hitX.dat file instead of the 1-year old file.
Also fixed some minor bugs in LINKMATIC.. new sendmail routine should
accept errors more gracefully.. also fixed minor output problems.

March 15, 1998

New version of HITMATIC released, which is friendlier on server resources.
Main functional change is updating of the monthly counts (hit1.dat-hit12.dat)
is now done only once each day (by reading the hit1.log file) rather than
dynamically updated with each new hit. The hit.cnt file (which generates
the counter images) is still updated immediately. Consequently if manager
requests updating the counter, a flag is set to do it during nightly
maintenance rather than immediately (otherwise hits for that day would
be lost). HITMAN is now a .pl module so all configuring for HITMATIC is
done in the main script 'hitmat.cgi' for easier setup! HITMATIC now uses
the Perl 'flock' function for best possible file-locking. Separate 'flk'
directory is no longer needed.

March 14, 1998

New BANNERMATIC 1, 2 and 3! Now using Perl 'flock' function for more secure
file locking, BANMAN.PL is now a module (same idea as LINKMATIC) for easier
setup. The 'flk' directory has been eliminated due to the new file-locking
method. 'ban.flk' is now included and resides in the 'banmat' directory. It
now is used to call flock a second time to 'wrap' the other locks until
all files can be closed.

LINKMATIC has been updated to use the same 'flk' principles as BANNERMATIC.

February 19, 1998

New LINKMATIC version supports multiple databases with one script,
linkman.pl is now a module rather than a separate script, so it is
no longer necessary to configure it separately. New function limits
number of results per page and creates Alta-Vista-style footer
buttons for user to go forward/backward through all result pages.
Much thanks to James Weeks (SitePlus.com) for writing an alternative
patch which was ready much sooner than this revision!

Now using Perl 'flock' function for file-locking. After much testing
and investigation, I'm confident this is the most reliable method.
Thanks to Jim Walker (internetter.com) for influencing me to do more
study and hack this bit of code.

December 1, 1997

Fixed a logic error in HITMAN that showed incorrect group total on
full-year hit table.

November 27, 1997

Now BBMATIC has a manager script! BBMAN allows the manager to remove
all posts and followups when an entire thread has been active for a
minimum range of months (1-12). The expired posts are saved in an
archive file.

November 17, 1997

LINKMAN has a new feature which appends new links to a temporary file
so they can be reviewed. Manager can add, edit or delete pending
links using LINKMAN. Also, 'linkmat.cgi' has been revised to be compatible
with the new 'linkman.cgi'. Also, the 'sort' routine has been fixed!

October 20, 1997

Fixed a bug in LINKMATIC's search routine.. earlier versions didn't
have the bug affecting multiple keyword "and" searches.

September 22, 1997

New version of BBMATIC BBS FOR THE WEB uses databases to store all
posts. Script has been completely rewritten and is NOT downwardly
compatible with prior versions due to database design. Revised graphics.

August 26, 1997

New Linkman manager script for Linkmatic. For now, it only sorts the
database, but it will have new features added as time allows.

Noticed and fixed the "new" backup subroutines in HITMATIC, BANNERMATIC1,
2 and 3 and MAILMATIC. As origianlly written it would not delete expired
backup files. Also re-ordered some lines so that data files are now
read, updated and closed as quickly as possible.

New option in MAILMATIC (for users who also have Hitmatic installed) will
find the survey respondent's hits in today's log and add those lines to
the E-Mail sent to the manager. See '$hitFlag'.

Changed the click-thru to impression ratio in Banman to "1 to X" format
rather than a floating-point decimal. Easier to comprehend at a glance.

August 17, 1997

Bannermatic 2 and Bannermatic 3 have been revised. They now allow you to
group pages together and show selected banners by group. Also, a new
option allows them to pass info to Hitmatic so that a hit can be
counted without having to paste code for both scripts on a web page.

Hitmatic receives the pagecode and group so it also has been revised to
support the new grouping of pages by content.

Both Banman and Hitman, the manager scripts, also use the group codes.
Hitman now displays totals by month and year for each group and for a
group for the full year, just as it already did for pagecodes.

Passmatic is no longer necessary as of this revision. All three manager
scripts now have built-in password change/check routines. As a result you
start them by linking directly to the script name, rather than to an
HTML page as before.

July 28, 1997

Fixed typos found by users in July 8 revisions of 'linkmat.cgi' and
'passmat.cgi'. The '$form' hash variable should be '$Form'. My
evil word-processor did it.. yeah that's the ticket.

July 20, 1997

Fixed typo error in 'mailmat.cgi'. I have had to do this alot lately!

July 8, 1997

I have made several changes as a result of my ongoing battle against
file-corruption. The &lock and &unlock subroutines have been rewritten and
a new variable '$locked' added to track the expected status of the
lockfile. The &endIt subroutine has been rewritten to allow a script to
fail if a file can't be opened, reporting a server error to the user and
asking them to try again.

MAILMATIC has been completely revised. It now uses a template and 'virtual
page' method to generate the survey form. This saves a bunch of time!
The appearance of the template can be customized if you wish... I add
a side index to mine.

Enhanced the Search features of LINKMATIC to allow searching for phrases
and optional case-sensitivity.

June 27, 1997

Bug fix for MAILMATIC which had prevented E-Mail from being sent when
a visitor completed the survey. Same bug in my 10-Second Survey!

June 23, 1997

NOW THERE ARE THREE!! Introducing BANNERMATIC Version 3. This is the most
versatile but complex version. It should work on any server since it uses
the IP address of the visitor to match the banner with the URL.

Revised BBMATIC BBS FOR THE WEB again. You can now set the maximum words
to show on the main page for a both subject and a comment. When exceeded,
the full text is also saved in a separate file. The filename prefix for
subject files is now 'bbs' and comments are 'bbc' so be careful if you are
upgrading from an earlier version - either rename your old files or edit
the script (not recommended!).

June 7, 1997

Revised copyright notice in all scripts and revised installation section
hopefully to make instructions easier to follow. Added option for system
file-locking using Perl's Unix 'flock' command to the BANNERMATIC 1 & 2,
BANMAN, HITMATIC & HITMAN scripts. I will probably add it to the
BBMATIC script.

June 2, 1997

Revised BBMATIC BBS FOR THE WEB to store comments in text data-files
and to output an HTML page 'on-the-fly' using the stored data. Also
option to set limit on maximum words in a subject post on the main
page. If exceeded, the add'l text goes to a separate page. Also allow
setting max byte-size for a post. This revision is NOT compatible with
prior versions of BBMATIC since the method of storing text has been
completely changed.

April 2, 1997

Fixed bug in LINKMATIC 'display new links in past 30 days'.

March 21, 1997

Minor change to 'banman.cgi' corrects possible bug but no effect on output.
Inserted new Troubleshooting item #4 regarding CGI directory security.

March 15, 1997

Major revision of HITMATIC. New file system tracks hits per day per page
for a year. Now includes HITMATIC MANAGER for viewing detailed
analysis of hits by year, by month and by page with daily detail. Also
enables reseting of the Hit Count starting date.

March 12, 1997

Fixed a minor bug in BBMATIC BBS FOR THE WEB, which prevented name from
printing on Main BBS page when comment posted. Added some colored text and
consequently changed pin color from green to yellow.

February 23, 1997

Mainly internal changes to BBMATIC BBS, to make the path variables more
portable and 'server-friendly'. Also added a 'pin-gif' for decoration.

Added UNDO button to BANNERMATIC MANAGER and minor change to banner table.

February 15, 1997

Added cookie-redirection test to BANNERMATIC2. I removed it from the
prior versions of the script, but it works with most servers and
doesn't seem to cause complications with non-supporting servers.

February 11, 1997

Enhanced LINKMATIC adding ability for user to submit a new link to the
directory. The input is tested for a valid URL and E-Mail address and
is E-Mailed to you, formatted as a "cut-and-paste" line ready for you
to inspect and add to the 'linkmat.dat' file. Consequently the file
has been expanded to 7 fields to store the 'name' and 'email'.

Added a E-Mail hyperlinks and Total byte count to BANNERMATIC MANAGER.

February 06, 1997

Revised the 'banmat.dat' file in BANNERMATIC1/2 eliminating the ratio
field. With the introduction of BANNERMATIC MANAGER, it's more
efficient to have the ratio calculated on demand as a manager function.

New Script! BANNERMATIC MANAGER gives you and your sponsors access to
banner information and allows manager access to editing functions.

New Script! PASSMATIC is not fancy, but useful. It protects
access to manager functions and can be used by any other script.

Revised HITMATIC to display Hit Statistics Table. Also changed file
names 'hitmatic.cnt', 'hitmatic.log', 'number.pl' and 'number.xbm' to
'hit.dat', 'hit.log', 'hitxbm.pl' and 'hit.xbm', respectively. Also
implement file-locking and a backup file for 'hit.dat' named
'hit.bak'. Got it? There WILL be a quiz on this.

January 25, 1997

Added more font color statements to BBMATIC BBS FOR THE WEB and

January 20, 1997

Revised BANNERMATIC1/2 to allow tracking number of banner impressions,
click-thrus and click-thru per impression ratio for each banner.
The 'banmat.dat' file chmod is now 666, additional fields and
variables have been added. See documentation in scripts.

Revised BBMATIC BBS FOR THE WEB to send E-Mail to a user when a
followup is posted to their original question/comment. Additional
variables have been added. See documentation in script. Corrected
documentation - chmod must be 777 for 'bbm' directory.

Added more Perl/CGI resources to HELPME.TXT.

January 19, 1997

Revised the cookie test in BANNERMATIC2. This method of setting the
test cookie seems to work better. (Removed January 20, 1997)

January 16, 1997

Fixed dumb bug in LINKMATIC which caused incorrect search for
"additions/changes in past 30 days".

January 10, 1997

Added troubleshooting note to HELPME.TXT re: 'shtml' extension.

Revised BANNERMATIC1 correcting the server-side include example. Changed
banner size to 400x50 pixels and included new sample banners. Fixed
possible bug by requiring new variable $bannerDir.

Revised BANNERMATIC2 with new 400x50 banner size and included new sample
banners. Renamed some variables.