MBA (Message Base Accountant) Version 3.10 12/26/90 Copyright (C) 1990, Michael W. Cocke The Hacker Central BBS (201) 334-2555 1200-38.4 (HST/v32) Purpose: To award file upload credits in return for leaving messages in the message bases. (The number of messages that equal one upload credit is adjustable.) Using a file upload/download ratio and MBA, you may be able to get your callers to be more active in the message bases as an alternative method of maintaining your required upload/download ratio. Compatibility: Tested with PCBoard 14.5 Legal Mumbo-Jumbo: I accept no responsibility for anything this program does, if it does anything at all. (At least I'm honest.) The ISAMPACK is copyright 1989 Microsoft Corp. and is released AS AN INTEGRAL PART OF THIS PROGRAM pursuant to their licensing agreement. MBA is released as freeware. This means that you may freely copy this program and give it away. No fees exceeding $5.00 (USD) may charged for copying and distribution services (or whatever else they may be calling it now). Included files: MBA310.EXE The MBA executable. ISAMPACK.EXE Required for normal execution of MBA - Place in your path. MBA300.DOC This DOC file. What MBA is, why it is, and how it does it. This program was originally written for use as a 'carrot' to get some of my callers active in the message system. The way I designed it to work is this; 1) I set up an upload/download ratio system based on NUMBER of files (NOT bytes!) in PCBSM. 2) I put MBA in my event (before the line that calls PCBSM to adjust the security levels). MBA reads the CALLERS log(s) and maintains an ISAM database file called MSGACT.ISM. This database contains a cumulative total of messages sent by each user, as well as 'credited messages' and 'uncredited messages'. A credited message is one that MBA has already figured into the upload credit adjustment. Uncredited messages are the few leftover messages before there are enough of them to equal another upload credit. 3) MBA then creates a backup copy of the users file, called USERS.MBA. 4) MBA sequentially scans the users file and searches its data files for the message numbers for each user. For every X uncredited messages (X is configurable, more on this later), MBA increases the 'total number of files uploaded' figure in the USERS file by 1, then subtracts X from the uncredited messages, and finally adds X to the credited messages records for the user. MBA also creates an output file, the name and path of which is configurable. This report contains all the cumulative numbers for every registered user except the SysOp. This report is suitable for use as a bulletin. MBA uses the CALLERS file, so it will correctly 'see' messages left in any conference. It DOES NOT see omments to SysOp. MBA has also been tested for use with the QMAIL door (versions 3.0 and 4.0 beta) and properly detects messages left via the Qmail door. In order to use MBA properly, you must not accumulate your callers log! An excerpt from my event.sys file explains this more clearly: cd \pcb\main get into the correct directory copy caller.old+caller caller.old Put todays call log on the end of the history logs MBA310 use MBA on todays logs. del caller delete the latest caller log cd \pcb get into the correct directory pcbsm /adjust;fileratio adjust the security levels by upload/download activity for the last 24 hours board restart the board The file MBA.CFG which MUST be in the same directory as the MBA program is located! It can be created with EDLIN or any ASCII text editor. File format is: line 1: The full drive, path and filename of the caller log file(s). NOTE: When running multiple nodes, the trailing number must not be included on this line! *** Users of /D or /S versions and users of /E versions with only 1 active node - this should contain EXACTLY the path and filename of the callers log. line 2: The number of nodes MBA is to process. MBA will add the appropriate number (1-n) to the end of the path and filename specified above. *** Users of /D or /S versions and users of /E versions with only 1 active node - this should be set to 1, and line 1 should contain EXACTLY the path and filename of the callers log. line 3: The number of messages left that will be equal to one file upload credit. Line 4: The full drive, path and filename of the users file. line 5: The full drive, path and filename of the MBA report file. line 6: The NAMES of conferences that you do NOT wish MBA to process. to Case is irrelevant, but the names MUST be exactly as you line 25: have specified in PCBsetup. None of the MBA programs are SHARE compatible, so you'll have to be creative. For no known reason, Microsoft didn't implement file locking on the ISAM file type in PDS 7.1.... Converting from MBA 2.x or MBAN 2.x to MBA 3.00: There is no way to convert your old MSGACT.NDX and .DBF files for use with MBA 3.x. I apologize for this, but owing to an unfortunate accident with my hard drives, I cannot provide this utility. There are several differences you should be aware of when upgrading to MBA 3.x from earlier versions: IMPORTANT!!! In NO WAY should you attempt to run the MBAPACK utility on the MSGACT.ISM database!!!! MBA 3.x now has an integral pack utility implemented as pass 3. - ATTEMPTING TO PACK MSGACT.ISM with the pack utility from an earlier version of MBA will have COMPLETELY UNPREDICTABLE RESULTS!!!! (Don't say I didn't warn you.) Since you no longer need the environment variable DBLIB, you may delete all references to it. That's about it. If you have any questions, suggestions, or screams of outrage, you can reach me on The Hacker Central BBS or via the ILink Sysops Conference. Michael W. Cocke PCBoard is a Copyright of Clark Development Company, Inc. Qmail is a Copyright of Sparkware, Inc. Microsoft is a Copyright of Microsoft Corp. Release History: MBAx2xx Pre-version 14.5 - needed 2 different MBA programs because of the difference in the CALLER file format. MBA 3.00 Did the switchover to ISAM database from dBase III compatable. This was pretty much a complete rewrite, since I no longer had the source code to earlier versions. Cleaned up the 'Log OFF' detector, incorporated the database pack utility into the main code. MBA 3.01 Corrected a bug in pass 3 (the ISAM pack). MBA 3.02 Discovered an error message that PCBoard can produce that does NOT start in column 6 of the CALLER file. I modified the CALLER log parser to allow for this. MBA 3.10 Caught & fixed a bug in the handling of /S, /D, and 1 active node/E caller log filenames. Implemented the 'exclude conference' feature (Thanks to Mark Rapp for suggesting it.)