ProVote v1.1 by ViGilante on 5/26/94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I am confident you will find this to be the most feature packed, versatile, configureable, reliable, bug-free, backdoor-free, and maintenance-free NUV type PPE for PCBoard out there. IF UPGRADING FROM VERSION 1.1: You can just drop in the PROVOTE.PPE file. Read the HISTORY.DOC file if you want to take advantage of the new features. IF UPGRADING FROM VERSION 1.0: I just can't control myself from changing the format of some of the configuration files, so your BEST BET is to just completely re-install the whole package. Here are files you will DEFINATELY need to replace: PROVOTE.CNF, STRINGS.DAT, EXIT.PCB, and FEEDBACK.PCB. There may be more, so be warned. You must also create a directory off the PROVOTE directory called GONE, the infoforms of DELETED users will be placed there. EVEN IF YOU RUN v1.1á THERE ARE NEW CHANGES! ***READ THE HISTORY.DOC FILE*** Introduction ~~~~~~~~~~~~ This PPE is a companion to ProMatrix, a logon shell for PCBoard. It was designed to work in conjunction with ProMatrix, but should work just as well with any other logon shell, or without any shell at all. There are so many features and configurable aspects of this PPE that I really don't know where to begin. Thorough perusal of this document, STRINGS.DAT, PROVOTE.CNF, and HISTORY.DOC is highly recommended. Quick Setup ~~~~~~~~~~~ Create a separate directory, perhaps c:\pcb\ppe\provote, and unzip everything into this directory. Do NOT unzip it to the same dir as ProMatrix, if you are running it, as some files WILL conflict. Go to the dir you just unzipped everything to and unzip one of the included ANSI sets in that dir. Simply install this in PCB anywhere so that all your users will run this PPE after logging on. Here is the recommended method: go into pcbsetup for each node, hit (G), (D), and set "Scan for New Bulletins" to YES. Next load up MKPCBTXT and go to record #665 and replace the "Scanning for new bulletins..." prompt with a display file, perhaps "%c:\pcb\disp\prompt.665". Now create the file you just named and make it look something like this: -----Start--------------------- !c:\pcb\ppe\slogon\slogon.ppe !c:\pcb\ppe\provote\provote.ppe Scanning for new bulletins... -----Stop---------------------- Only add the first line if you are running Slogon, obviously. There are many other places to install this, but I find this one to be the best as you can add as many more ppe's to your logon process as you want, all in one nice and neat place. Note that if you install PPE's in your logon script, and you logon locally as the sysop, none of them run. If you have tried your own method of installation and it didn't work, try it this way. PAY SPECIAL ATTENTION TO LINE #11 IN PROVOTE.CNF! This line determines the maximum people allowed in NUV at one time AND it must be GREATER THAN the amount of entries in your PWRD file (how many different sec levels you have). MAKE SURE YOU SET THIS NUMBER HIGH ENOUGH SO THAT YOU WILL NEVER HAVE THAT MANY NEW USERS AT ONE TIME! I should have just kept this hardcoded . Advanced Setup ~~~~~~~~~~~~~~ ProVote can be installed three different ways by the use of command line switches. No Switch: Detailed above, the main thing to note is that if a voter has voted on everyone, provote will not execute (except sysops). /VIEW: This is ideal for a CMD.LST installation, so users can scan through all the applicants and view their stats, other users comments, etc. I have it set up as the "NUV" command. /NEWONLY: When this is used, it will check to see if the user is either applying for access or checking his voting progress and let them do so as usual. All other users will exit immediately without anything being displayed at all. All this is completely unnecessary, but some sysops might want new users to do their thing and get hung up on IMMEDIATELY after logon, and yet have validated users vote on new users LATER ON in the logon process or perhaps even as a command from the Main prompt. In the example file above (prompt.665) you would add an ADDITIONAL call to provote BEFORE the call to SLOGON, using this switch. What will happen ~~~~~~~~~~~~~~~~ The first time anyone runs this, three subdirs will be created out of the main one: DATA\, SAVE\, and GONE\. The DATA dir is where all the completed infoforms and voting stats are kept, the SAVE dir is where completed infoforms are moved to if a user is successfully validated through ProVote, and the GONE dir is where completed infoforms are moved to if a user is deleted through ProVote. See INFOHUNT.DOC for more infoformation on the SAVE/GONE dirs. Also, a 0 byte file called WAITING.LST will be created in the DATA dir. When a new user enters this PPE for the first time, it will ask them to fill out a bunch of infoforms, have them leave a new user application letter to the sysop, and optionally hang up on them. When a new user enters after the first time, it will show them their current voting stats and optionally hang up on them. When a validated user enters, he will vote on all pending applicants. If a deciding vote is cast, the user being voted on will be validated or deleted on the spot. When a sysop enters, in addition to the standard voting choices (Y/N/A) there will be other options available: Validate (Validate user immediately), Delete (Delete user immediately), Remove (Remove user from nuving, leaving their user record untouched), Stuff (stuff the ballot box with yes or no votes), and Abort (where NOTHING happens, which is very different from Abstaining..). The Review (Review infoforms) option is always available, and always the default choice. This is done to force voters to THINK about what they are doing instead of just slamming RETURN through all your users. Every major action will be logged to the CALLERx file, the PPE will always clean up after itself, and the Sysop Comment #2 field of users being voted on will reflect either their current voting stats, "USER HUNG UP" if they dropped carrier before everything was completed, or "USER WAS _________" if they were validated/deleted through ProVote in ANY way- by enough yes/no votes, having their name listed in CARPET.RED, or the VALIDATE/DELETE user choice on the voting menu. In this way you can easily see what is going on while browsing through the user editor in PCBSM. What will happen IF? ~~~~~~~~~~~~~~~~~~~~ IF you try to edit WAITING.LST: There is NEVER a need to edit this file, and you will most likely screw things up (temporarily, it will correct itself) if you do. IF you try to edit xxxxx.DAT: These are the individual data files used to keep track of each new users' voting stats. Again, there is never a need to edit this, so don't. IF you validate/delete a user through a process other than the PROVOTE.PPE, like with PCBSM, you don't have to worry about also removing them in ProVote. Your users will continue to vote on this person, but it will be meaningless- when it comes time to validate/delete them, nothing will happen unless their current sec level is that of a new user. IF a newuser hangs up before all infoforms are completed, they will simply be forced right back into filling them out again the next time they call. Detailed Configuration ~~~~~~~~~~~~~~~~~~~~~~ CONFREG.CNF: Here you can auto-register your users into your conferences. The format of the file is simply 2 values on each line, the first is the conference, the second is the conference flags to assign for that conf. The conference flags are: 1 = Set the conference registration flag 2 = Set the conference expired access flag 4 = Set the conference selected flag 8 = Set the conference SysOp access flag Just add up the values for all the flags you want to give for that conference. For example, if you want to register a user in conf 4 with the CONFERENCE REGISTRATION, CONFERENCE EXPIRED ACCESS, and CONFERENCE SELECTED flags, you would add a line to CONFREG.CNF like: 4 7 The 4 means conference 4, and the 7 are those 3 flags added up (1+2+4=7). Real easy. :) In addition, you can have a seperate CONFREG.xxx file, where xxx is a security level, with a different set of conference registrations. Just be warned, if you try to auto-reg a LOT of conferences, it could take a while. This is not my fault, blame slow-ass PPL. :) PROVOTE.CNF: Documented within, no need to duplicate everything here. STRINGS.DAT: Documented within, no need to duplicate everything here. Note that each ansi set requires it's own STRINGS.DAT file for proper colors. CARPET.RED: Put the names of people you would like to 'bypass' voting in here, they will be given the security level defined in provote.cnf for normal users who are voted in. *.PCB: These are all the files displayed. If you would like to modify them or create your own, just be aware that you MUST get rid of all blank lines at the end of the files, or the screens will 'jump up' when displayed. LOOK AT THE EXAMPLES INCLUDED TO SEE WHAT THEY CONTAIN AND DETERMINE WHEN THEY GET DISPLAYED. It's pretty straightforward. COMMENTS.PCB, INFOFORM.PCB, USERS.PCB, and VOTE.PCB: These are normal ANSI files, and should be saved to clear the screen. DELETE.PCB and VALIDATE.PCB: Normal ANSI files, should be saved to home the cursor, NOT to clear the screen. CARPETED.PCB, LOCKOUT.PCB, NEWUSER.PCB, WELCOME.PCB and INSTRUCT.PCB: These are simple text files, and can be just about anything you want. EXIT.PCB: This file needs a single "*" somewhere in it to mark the spot to display the YES/NO lightbar. Save it to clear the screen. FEEDBACK.PCB: Similar to exit.pcb, except it needs THREE "*"'s. First one marks the spot to display the SYSOPS HANDLE, second to display the USERS HANDLE, and thrid to display the SUBJECT. Save it to clear the screen. STATUS.PCB: This is the file shown to new users after they have applied and are checking on their current voting status. There are 7 MCI commands available ONLY in THIS ansi, as follows: |1 = Number of YES votes to validate as per PROVOTE.CNF |2 = Number of YES votes user has so far |3 = Number of YES votes needed, basically |1 minus |2 |4 = Number of NO votes to validate as per PROVOTE.CNF |5 = Number of NO votes user has so far |6 = Number of NO votes needed, basically |4 minus |5 |7 = Number of ABSTAIN votes user has so far Save this file to clear the screen. WELCOME.PCB: This is teh file that gets sent asa message to all users that are validated through PROVOTE. In addition, you can create level-specific files in the format WELCOME.xxx where xxx is a security level. SO, if for instance you as a sysop validate a user and give him level 110, and the file WELCOME.110 exists, that will be sent as a message instead of WELCOME.PCB. INFOFORM.*: These are your inofoforms. You can use ANY (almost) standard infoform made for ANY (almost) BBS software that uses the '*' method of marking where to ask for input when the form is displayed. I am fairly sure this is a first in a PPE, and I think you will find it about 34219136532 times easier to use your own infoforms like this than with the retarded X-Y-coordinates-in-a-.DAT-file method. :) I have programmed it in such a way so that when a user is filling out forms, it is impossible to "wrap" text to the next line, or to overwrite any existing text on the screen. Because of this, your infoforms must have blank space where the users should type. Some infoforms have the users typing over a matted background of some sort, these will not work. HOW TO MAKE AN INFOFORM: Load up THEDRAW, and draw your infoform. Let's modify one of the included ones as an example. First, make sure animation mode is OFF by hitting ALT-J,N. Now make sure there are NO *'s anywhere in your infoform. Now make your modifications to the ansi, being careful not to put any text in the 80th column OR past the 23rd row. When you are satisfied with the appearance, turn animation mode ON by hitting ALT-J,T. Now CAREFULLY go to each spot you want to get input from, and place a * there, in the ORDER you want the questions asked and in the COLOR you want the answers to appear in. If you make a mistake, just turn off animation mode, erase all the *'s, and start over. When you are done, save it by hitting ALT-S,A,C,77,0,INFOFORM.x where x is the number you want. Easy. Registration ~~~~~~~~~~~~ This PPE is totally free, all you need to do is call Velvet Underground and use the "Reg a ViG! PPE" option from the Matrix. Be prepared with your NAME or HANDLE and BBS NAME _exactly_ as it appears in pcbsetup, double check by looking in PCBOARD.DAT. Line #2 is your name, and line #94 is your BBS name. If you are running a cracked version, GOOD LUCK! I hope you are very confident that the person who cracked this knows exactly what he is doing, the 'protection' routines are tied into a lot of other functions, and if altered could produce unpredictable (at best) results. All you need to do is make a 30 second phone call. Donations are certainly accepted if you feel so compelled, and I won't even mention the many hours of programming/debugging/testing/whatever spent on this thing. :) Cash, old hardware, or even a good leech account on your board is always appreciated. Velvet Underground (1) 516-826-0412 USR Dual 16.8k Velvet Underground (2) 516-Pri-Vate USR Dual 28.8k Enjoy ~~~~~ Thats about it, if you have any questions or comments you can reach me on my board, many other quality boards and nets, Internet address vigilante@156.image.linet.org, or Prodigy @bwvr36c. Other ViG! Utilities: ~~~~~~~~~~~~~~~~~~~~~ WACKOPROMPT: Floating "SLAM ENTER" prompt replacement. Very unique, and completely configurable. Current version: 1.0 Filename: VIG-WP10.ZIP APPCENTER : Light Bar Application Center. Have your users apply for dist sites, couriers, networks, anything. Completely configurable. Current version: 1.0 Filename: VIG-AC10.ZIP PROMATRIX : Light Bar Logon Matrix. Many features, incredibly configurable. Companion to ProVote. Current version: 1.0 Filename: VIG-PM10.ZIP PROVOTE : Light Bar New User Voting. Better than any NUV that is BUILT IN to a BBS software, much less a PPE. Current version: 1.2 Filename: VIG-PV12.ZIP PROMPTS : Replaces 52 of your PCBTEXT prompts, totally revamping the entire application procedure, logon procedure, F6 Online user editor function, and the (C) subcommand form the (7) User Edit sysop command. 100% configurable. Current version: 1.0 Filename: VIG-PR10.ZIP PROEDIT: Light Bar User Editor. For sysops to edit all users, or as the (W) command for a user to edit himself. Emulates PCBSM. Current version: 1.0 Filename: VIG-PU10.ZIP SUPERLOGON : "Forum hack" features: broadcast logon to nodes, turbo login, random stats, last callers, automessage, one liners, more. Current version: 2.0 Filename: VIG-SL20.ZIP CONVERT! : Successor to PIPE2PCB. Converts pipe color codes on incoming fido mail into standard ANSI color codes on the fly. Current version: 1.1 Filename: VIG-C!10.ZIP RUMOURS : Forum-hack style rumours, completely configurable. Source code included. Current version: 2.0 Filename: VIG-RU20.ZIP PCRENFORCER: Enforce Post Call Ratios the RIGHT way. Totally bars non-PCR compliant user from downloading until they post enough messages. Current version: 2.0 Filename: VIG-PE20.ZIP SUPERCHAT : Really nice split screen chat, with a few unique and very handy features. Current version: 1.1 Filename: VIG-SC11.ZIP MORETIME : Give more time to users who know the correct password, totally independant of security levels. Source code included. Current version: 2.0 Filename: VIG-MT20.ZIP