ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ DCT Voting Door v0.40, áeta Release By Dan Traczynski May 25, 1997 Copyright (C) 1996, 1997 Dan Traczynski. All rights reserved. ßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþß DCT-Vote is a deluxe voting door for any BBS software which supports the DORINFO1.DEF or DOOR.SYS drop file. Setup is amazingly fast and easy, and the voting door will be FreeWare until v1.0, after which it will become shareware. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Table of Contents ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Features ................................... o1 Installation ............................... o2 SCRUTIL.EXE Explained ...................... o3 SysOp Hotkeys .............................. o4 Distribution & Disclaimer .................. o5 Credits/Acknowledgments .................... o6 Author's Notes and Support Info ............ o7 History - Notes from the Past .............. o8 ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o1 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Features of the DCT Voting Door ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ -þ- Supports both DORINFOx.DEF and DOOR.SYS allowing it to be run on virtually any bulletin board system. -þ- User time-out after a configurable amount of time. -þ- Auto-Deletion of old booths. -þ- Fully run by lightbars! -þ- Problem users can be locked out. -þ- Language support (not all of us speak English ;). -þ- External ANSI file support. -þ- Full-featured validation system allowing the SysOp to filter the unwanted booths out before they're made publicly available. -þ- Optional user censor (allowing you to filter out swearing). -þ- Bar graphs/percentages when displaying results. -þ- Users may leave their comments on each booth. -þ- Colour configuration. -þ- Internal SysOp-User full-screen chat mode. -þ- DCT-Vote can be set to have users vote for all new booths when they login. -þ- Users may be given vote points and vote for more than one answer. -þ- Multi-tasker capability. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o2 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Installation Guide ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Installation is extremely simple; all you must do is create a directory for DCT-Vote, then run CONFIG.EXE to configure DCT-Vote to your system. You may also wish to edit DCTVOTE.FLT if you will be using the censor, as no words have been pre-defined to filter out. DCT-Vote does not have to be run from the directory it resides in, since it automatically looks for all of its files in its home directory. Have your BBS call DCT-Vote via a command-line similar to "C:\BBS\DOORS\DCTVOTE\DCTVOTE.EXE /PC:\BBS". The "/P" parameter specifies the path for DCT-Vote to read the drop file from and is only required if the drop file will not be in the current directory. If your BBS supports memory swapping, please activate this option. If you would like to have your users presented with any new voting booths when they login, have DCT-Vote executed at login with the "/A" parameter for a command-line similar to "C:\BBS\DOORS\DCTVOTE\DCTVOTE.EXE /PC:\BBS /A". DCT-Vote will have users vote for all new booths that they have not yet voted for, then return to the BBS automatically. If no new booths exist, DCT-Vote will terminate without even letting the user know that it has been run. You may also specify "/A2" instead of "/A", and that would simply tell the user how many questions he has not yet voted on, then ask him if he would like to vote for them. This way people would realize that the booths are there, but they are not forced into them. You may also specify "/A3" which acts the same as "/A" but does not let users abort the voting (they can't hit ESC). Command-Line Parameters ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ /A[1..4] úùú Invoke AutoVote (1=Vote for all new booths, 2=Prompt then vote, 3=Force users to vote on new booths, 4=Tell how many unvoted booths there are). If no number is specified, it defaults to "1". /Bxxx úùú Specify locked baud rate (i.e. /B38400). /Fxxx úùú Load alternate .IDX & .ASR files than the default ones. For example, specifying "/FMOVIES" would load & use MOVIES.IDX/ASR. /L úùú Local mode (logs in with the SysOp's name). /Nx úùú Specify node number (not really needed unless you want it to read DORINFO2.DEF for node 2 etc). /Pxxx úùú Specify path to drop file (i.e. /PC:\BBS). /Sxxx úùú Specify user's security level. This overrides anything that is specified in the drop file. /W úùú A DOS only network is present. Language Support ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ New in v0.20, support has been added so that all strings can be modified which allows the door to be translated into a different language altogether. All of the internal strings can be modified from within CONFIG.EXE, and the following imbedded codes may be used in the language strings. %U User's name. %B Title of the current booth being voted on. On language prompts that would appear in places such as the main menu, this code is "undefined". %H Number of booths user hasn't voted for yet. %A Number of active booths. %S Board name. %T A temporary string that varies with each language prompt. %L Name of the user's currently selected language. User logging is always done in the language that is configured as the default one in CONFIG.EXE, even if a user selects a different language file. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o3 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ SCRUTIL.EXE Explained ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ SCRUTIL.EXE is the program which will allow you to customise the way DCT-Vote looks to the users. It is completely command-line driven, and will import or export ANSI images to/from the screen definition file. Command-Line Parameters ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SCRUTIL [Def File] [/?] [/CREATE] [/ADD ] [/EXTRACT ] [/IMPORT [Ctl File]] [/EXPORT [Ctl File]] [Def File] The definition file is the image file that SCRUtil will work with and what DCT-Vote will load and use. If it is not specified, the default DCTVOTE.VDS will be used. [/?] Displays a brief help screen summarising the commands. [/CREATE] Creates a default definition file with no images in it. It is then up to you to add the images in. [/ADD ] This option will add an ANSI file into the definition file. The variable is the image number that the ANSI file will be added as. specifies the ANSI file to add. [/EXTRACT ] This option is the reverse of ADD. Instead of adding the ANSI, SCRUtil will extract it and save it as . [/IMPORT [Ctl File]] This option will allow you to import a group of images at once. In order to do this, you must first create a control file listing all of the file names and image numbers. The format is the same as with the ADD parameter. If [Ctl File] is not specified, the default SCRUTIL.CTL is used. The following is a sample control file: 0 SCR\HDR.ANS 1 SCR\FTR.ANS 2 SCR\MHELP.ANS 4 SCR\PROGINFO.ANS 7 SCR\LOGO.ANS If this were the file, HDR.ANS would be added as image 0, FTR.ANS as image 1, and so on. [/EXPORT [Ctl File]] This parameter is the reverse of the IMPORT parameter, and takes the same arguments as the IMPORT parameter. If the above sample control file were used, image 0 would be exported to HDR.ANS, image 1 would be exported to FTR.ANS, and so on. A sample SCRUTIL.CTL file has been included with this archive. Imbedded Codes ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ There are two different types of imbedded codes that may be used in the image files. The first type is a simple "@" followed by a character, and the second is an "@" followed by a character, a string, then the terminating pipe (|) character. Explanations follow. @1..@D These codes will change the colour to one configured in CONFIG. They represent the following colours: @1 Uppercase Characters @2 Lowercase Characters @3 Numbers @4 Punctuation @5 Hi-ASCII @6 Stick/Add Answer @7 Border Lines @8 Information Fields @9 Lightbar Foreground @A Lightbar Background @B Highlight @C Disabled Options @D Plain Text @V This code is converted to a four-character representation of the current DCT-Vote version. @K| This code allows you to have text printed to the screen in the multicoloured scheme. For example, "@KHello!|" is the equivalent of "@1H@2ello@4!" @R| This code will allow you to write strings using the border line colour scheme. That way, a code such as "@RÄÄÄÄÄÄÄÄÄ|" would print the line randomly alternating between one colour and its bright counterpart (ie. red and bright red). ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o4 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ SysOp Hotkeys ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ SysOp hotkeys allow you to do a number of things while the user is in the door. Hotkeys supported in this release are as follows. F1 úùú Shows the SysOp hotkeys on the status bar. AltùC úùú Invokes the internal full-screen SysOp-User chat mode. AltùT úùú Twits User. Returns user back to the BBS. PgUp úùú Adds 5 minutes to the user's alloted time in the door. PgDn úùú Removes 5 minutes of the user's time in the door. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o5 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Distribution & Disclaimer ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ DCT-Vote is copyright (C) 1996, 1997 by Dan Traczynski. All rights reserved. I encourage you to distribute it, but DO NOT by any means alter any of the files within the original archive. The archive should be named DCTVD040.ZIP, preferably kept in its ZIP format. The author, Daniel Traczynski, will take no responsibility to anything that this program may or may not do to your system. Although the program has been tested thoroughly by the support team, no guarantee can be given that it will do what it was made to do. Nevertheless, if anything should happen, the user is totally responsible and the author will be under no obligations what- soever. By using this program you agree to this disclaimer. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o6 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Credits and Acknowlegments ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ I'd like to thank the following people, in no particular order, for their support in my making of this program. -þ- Alan Ianson for his support of my programs. -þ- Francois Massonneau for his great ideas. My gratitude goes out to him for writing the French language file, as well as putting DCT-Vote on his web page for people to download. -þ- Javier Gil for writing the Spanish language file. -þ- Brandon Swartz/LoF for the great DCT-Vote logo seen in the background of CONFIG. -þ- Philip Wright for all of his great suggestions and bug reports. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o7 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Author's Notes/Support ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Many of the features that I add to this door are requests made by SysOps, so if you would like to see a new feature added to this door, by all means send me e-mail and I will try to add in your request. I can be reached at dct@nm.canbbs.net. If you do not have internet e-mail access, I can also be contacted via the FidoNet RA_Util echo or by netmail at 1:153/737 or 1:153/757. This will probably be the last freeware version before the voting door becomes shareware. You may use this freeware version for as long as you wish to if you choose not to register any future shareware versions. DCT-Vote and other DCT Productions can be found on the Internet at: http://www.worldnet.net/~island/dct.htm Many thanks go to Francois Massonneau for putting this on his web page. ÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜ o8 ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ Release Notes ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ The DCT-Vote project began on December 27, 1995. The first public beta release was on April 17, 1996. + Added a new feature/Something was improved. - Removed something. * General comment. > Bug fix. Version 0.40á -=- May 25, 1997. > Corrected the error that was causing a DCTVOTE.LOG file to be created in the current directory. - Removed /V parm. * Cleaned up a lot of the coding, resulting in a smaller, more efficient executable. - DCT-Vote now requires that a FOSSIL driver be loaded when running remotely. Local mode does not require one to be loaded. > DCT-Vote would exit with a runtime error if there were more than 255 users in its internal userbase. Fixed. > Fixed a few display bugs. * People with SysOp access may now leave an unlimited number of comments per booth (users only get to leave one per booth). + Added a validation system to DCT-Vote. This feature is designed so that if users are creating stupid booths, you can set DCT-Vote to "hide" the new booths from the users until you have validated them (or deleted them if you don't want the booths there). When a booth is not validated, only the creator of that booth and anyone with SysOp access will be informed of its existence and be given the option to view it. + DCT-Vote can now check for duplicate answers. + Improved the way DCT-Vote lets the user create a booth. + Increased the maximum answers per question limit. + The language editor in DCT-Vote has been improved and now fits in better with the rest of the configuration program. + Some screens have been changed and new prompts have been added here and there. + Added a user editor to CONFIG as well as user flags (so you can restrict access to certain options by individual settings as well as by security). Also added a "remove comments" feature to the user editor, so if you have a user who comes along and defaces all of your booths, a simple [Alt-R] will remove all of his comments rather than going into each booth and manually removing each comment. + Added support for a SysOp-defined user interface. The external ANSI files used in previous versions are now compiled into one single screen definition file for speed and to conserve disk space. + Added a proper maintenance procedure; inactive users can now be deleted. + If Ctrl-R is pressed, the screen will now be redrawn no matter what prompt the user is at. Version 0.30á -=- August 22, 1996. * French characters such as '‚', '…', 'Š', etc. are now displayed in the colour that is configured as lowercase rather than high-ASCII. > If you hit ESC when locking out a user, DCT-Vote would act as if you hit and still add any string entered to the lockout file. Fixed. > If the SysOp broke into chat on a spinning stick prompt, the screen would not redraw. Fixed. * CONFIG.EXE has been rewritten, and now has a pull-down menu interface. + The booth editor has some new features. + Four more colours may now be configured. > Fixed a few display bugs when some language prompts were changed. + Added %L language code. * DCT-Vote no longer needs to be told what drop file to use. It now simply searches for both DORINFOx.DEF and DOOR.SYS and loads the first one it finds or terminates if neither exist. + Users may now change their handles and select their own language files, but user logging is still done in the language specified as the default language. + If a user changes his alias, DCT-Vote can optionally change all comments by this user to his new alias. + Added an "author" field to each language file, so if anyone translates the file to another language, they can take credit for it. + Added /S, /F, and /A4 command-line parameters. + Users may now delete booths that they have created if the SysOp allows it. + Lightbars are now supported when selecting a booth. * After viewing the results of a booth, the user is taken back to the booth selection menu rather than the main menu. + Users may now be given vote points which allows them to spread their votes out over more than one answer. + Comments on booths may now be viewed and removed through CONFIG.EXE. + DCT-Vote may now be set to present only a certain number of new booths to the user during AutoVote. This feature comes in useful if a new user logs in and has to vote for 30 new booths before being able to access the system. Setting a value of '5' would then spread the booths out over multiple logins, with a maximum of five booths being presented each time. + Added the log file viewer to the configuration program. + The time and date format in the log file have been changed. Version 0.20á -=- June 16, 1996. > If a user was at the spinning stick prompt and the SysOp hit a function key or other SysOp hotkey, the stick would stop spinning. Fixed. > If a user "Voted for all booths" and hit ESC to stop voting on them after voting on the first one, the "press any key" prompt would not be displayed right. Fixed. > If a user was in AutoVote mode and answered "No" to the "Vote for next booth?" prompt, the "would you like to create your own booth?" string would not be displayed. Fixed. + Added language support. + Added the external ANSI file support. > If censoring mode was enabled, it would not filter anything entered on the second line of the question in each booth. Fixed. + DCT-Vote can now optionally prompt the user to confirm his voting selection. + If the drop file says that the user doesn't have ANSI turned on, DCT-Vote checks to make sure and lets him in if the user's terminal program has ANSI capabilities. + The input strings now allow cursor editing keys as well as support word wrap. + Added an INUSE.FLG file so there shouldn't be any more runtime errors on multi-node systems. + Added the internal SysOp-User full-screen chat mode. + Users may now add more than one answer per booth if the SysOp allows it. + Added /A2 and /A3 parameters. + If the censor is enabled, any text is now filtered out as the user enters it rather than after he hits [Enter] on the string. + Users with SysOp access may now view the results of a booth before voting for it, however the unvoted booths are dimmed out so as to show him which booths he hasn't voted for yet and which ones he did. + Added word wrap to the log file so the lines in the log should never go past the end of the screen any more. > Fixed a bug where DCT-Vote would return the locked baud rather than the caller's baud rate when DOOR.SYS was selected as the drop file. + Users may now add comments using aliases they have selected. + The voting results screen is now displayed line by line rather than first the left column, then the answer box (it just looks better this way :). * Removed the date-check routine that many of you will soon be noticing in v0.11. =) + Added the booth editor. + You may now force users to vote for a booth (they can't hit ESC). This is, of course, a SysOp-only feature (and can only be turned on in the booth editor :). + The spinning stick may now be configured. This little feature really makes the door look different. One interesting possibility is to make the string "Û²±° " which gives a pulsing effect and does away with the stick completely. + Improved the colour configuration menu. + Made a slight change to the DCT-Vote logo in the main menu. Version 0.11á -=- April 17, 1996. * This version is mainly just a bug fix from v0.10 and also contains a few new things that I forgot to add in the previous version or never got around to adding. > The user time-out wouldn't activate if a user was at a spinning stick prompt; the stick would just spin endlessly until he hit a key or ran out of time. Fixed. * If no booths exist (ie. a new copy was just installed), DCT-Vote now creates a default booth. I just felt like doing this. :) > Fixed a bug in the voting results screen where the title would sometimes not be displayed properly. + DCT-Vote now shows the user which answer he voted for when displaying the voting results. + DCT-Vote now shows the user when the booth was created in the voting results. > If the SysOp had the AutoVote feature in use and a user whose terminal didn't support ANSI entered, DCT-Vote would display to them the message telling them they didn't have ANSI. It now simply exits without bothering the user about it every time s/he logs in. + DCT-Vote will now allow users to create a new voting booth when they login using the AutoVote feature. > Fixed a bug in the string entry prompts. > If the user left a comment on a booth whose question was two lines, the "Press any key to continue" prompt would be displayed on the bottom border line and mess up the display. Fixed. + Users can't just hit [Enter] on the first answer in AutoVote any more (it forces them to think about which answer to choose now >;). + Added colour configuration. > Fixed a bug where DCT-Vote would sometimes crash if you tried deleting a booth and comments had been written on it. > Booths being deleted during maintenance were destroying the data files, making the whole voting door have to be reset. This has been fixed. :} + Added an error handler. If a runtime error occurs, it will be logged in the log file. > If a user left a comment that was 5 lines long, DCT-Vote would not save the last line. Fixed. Version 0.10á -=- February 17, 1996. * There have been MANY changes in this version from the previous one, though many of them won't even be seen by the users. Setup and installation for the SysOp should be much easier now. > If a booth was deleted and the comment file was empty, the program would terminate with a runtime error. Fixed. + If there are booths which the user hasn't voted for yet, DCT-Vote now tells them that in the main menu. + Added the user time-out. If the user doesn't press anything for 120 seconds, s/he is returned to the BBS. + Added the AutoVote feature. + The docs look a *LOT* better now. :) > Oooh. Bad bug. On one BBS, when you hit a cursor key on the remote end, DCT-Vote would act as if the user hit [ESC] because it didn't wait long enough to see if more characters had been sent. (When the user hits a cursor key, the terminal program sends ASCII character #27 followed by "[A" or whatever the code is, and DCT-Vote didn't wait long enough for the "[A" part.) + You may now hit the first letter of the option in the SysOp menu as well as the number. I did this to the main menu a few versions back but somehow missed doing it in the SysOp menu. + Finally! I made a configuration program, so you won't have to worry about the messy text configuration file any more. Not all of the features within it have been implemented yet. + Users may now post booths anonymously if the SysOp allows it. Please keep in mind that if you have SysOp access, DCT-Vote will show you who created the booth when voting, but to regular users it simply says "Posted By: Anonymous". * Made a little change to the voting results screen regarding the percentage bar. + Fixed up the string entry prompts a bit. + Made a few subtle changes to the Yes/No prompt. + Improved the program info screen. Version 0.06á -=- January 25, 1996. * After releasing v.05 to be áeta tested, I found a few bugs. This version has all of the bug fixes. > OOPPS!! There was a little bug where DCT-Vote wouldn't let users move the lightbar onto the "create new booth" if they didn't have SysOp access. They could still create booths by hitting "3" though. > If the user's name was only one word, DCT-Vote would add a trailing space character to it. Fixed. Version 0.05á -=- January 23, 1996. > Fixed the spinning stick in the "Press any key" prompts. It worked fine locally, but remotely it screwed up with some terminal programs. + Added the user comments. + Added the "@" random filter character macro. + Added a minimum security level to create a booth. + You may now hit the first letter of the option in the main menu as well as the number. + If the user enters an invalid booth number, it now informs him of that instead of returning to the main menu. > If a user whose terminal program doesn't support ANSI enters the door, DCT-Vote will now display a message to him informing him that he must have ANSI capabilities. Version 0.01á -=- January 7, 1996. * Initial release of DCT-Vote. ßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþßþÜþß