Has been compiled with PPLC 3.2 so requires PCBoard 15.22+. This was originally a small PPE written by someone at Clark Development for use on Salt Air. I have pretty much re-wrote everything but there are still traces of documentation, so credit is still due to the original author. Thanks CDC. ============================================================================= CNFN.PPE A PPE designed to build a conference join menu on-the-fly. It checks the user's access (security) level and compares the security level to the conference's required security, whether its public or private, and if the caller is registered. It will only display the conference the caller is allowed to join. NEW! ENHANCED! You can now define Conference number blocks via a CNFN.CFG file that must exist in the same directory as the PPE. This allows callers to view a subset of the conferences available (for example, one network). I added this capability because a I had a large block of conference numbers between two nets reserved for future expansion, (300 empty conferences) and this caused considerable waits for the user while the original PPE scanned through those empty conferences. Of course, you can also define a block for ALL conferences as the blocks can overlap. Also, any or all of the blacks can also display the conferences that the user DOESN'T have access to as well (in an alternate color). This is great for subscription boards so that you can give them a "sneak preview" of what they are missing out on!! You can also use a new security feature to limit the display of selected blocks by security, with the option to still display available conferences if you have users that you manually registered. A caller can also search for specific text in conference names by entering S at the conference block prompt. The search is not case-sensitive. Finally, all the colors are configurable, and you can set the number of columns to display, from 1 to 9. ============================================================================= TO INSTALL: Just make sure your conference join menu (defined in PCBSetup:File Locations:Display Files) is named CNFN. If it's not, you can either rename this PPE or you can change the entry in PCBSetup. Either one will work. Put the CNFN.PPE file into the subdirectory defined for your conference join menu. That's all there is to it. You don't have to enter it into your CMD.LST or anything else. It will act as the "default" menu for your system. Instead of the CNFN file being displayed, the PPE will execute. You might want to place the PPE and accompanying files in a separate directory and change the directory in PCBSetup to the new location. NEW! ENHANCED! The Following files must also exist in the same directory. You can use the defaults or edit your own. An example is given with discriptions of each: CNFN.CFG <--Conference Info Configuration CNFN.CNF <--PPE specific Configuration CNTEXT <--Prompt strings file VER.ID <--PPE version number file. 3 display files - see CNF file description for details ============================================================================= CNFN.CFG Edit (or create) the CNFN.CFG file in the same directory as the ppe. An example would be: ;----------------- 3 Local 0-10;25;50-99 N Y FidoNet 100-10000 50 Y All Conferences 0-10000 N Y ;------------------ Line 1: The number of conference blocks Line 2: The displayed name of the first block *Line 3: The conference numbers in this block Line 4: Unused but must be present. Leave Blank Line 5: Security Level for block to display. set to 'N' or 0 for no limits Entry must exist but is only used if security option is set in the separate CNFN.CNF file Line 6: Whether to display unavailable conferences to caller (in alternate color). Y or N. Repeat lines 2-6 for each block *This line has changed in version 2.1 - Multiple Individual Conferences and ranges can be intermixed. Ranges must have a beginning and ending value separated by a dash (-), and each entry must be separated by a space or semi-colon. I don't know the effective limit to entries for this line; whatever limits PCBoard have on Tokenized statements... This will allow you to have non-contiguous conferences in blocks If the config file is missing, then the PPE will show one option: "all conferences", and not display unavailable confs. ============================================================================= CNFN.CNF Edit (or Create) the CNFN.CNF file and put it in the same directory as the PPE. Here is an example and a description: ------------------Top of File--------- CH CBH N N CBL 2 L -----------------End of File----------- Line 1 - Header Display file displayed before PPE displays the available conference blocks. Can have Security, Graphic, and Language specific files as well. Line 2 - Header Display File displayed before available conferences are listed, once the person makes their choice. This may have Security, graphic, and Language specific versions of the file as well. Line 3 - Y or N - Use the Security level feature? If set to Y, the PPE will check the caller's security and compare it to the security entry for the conference block they choose. If they don't have enough security (see line 4 for exception) then they won't be allowed to see the conference list for that block. Instead they will be told they don't have access and return to the conference block list to choose another block. Line 4 - Y or N - Check block for user being registered in conferences before displaying "insufficient security" message. If the user doesn't have enough security for the chosen block, but they are registered in one or more of the conferences, if this is set to yes, they will have the list of conferences they are registered in. NOTE - This option will slow down the display somewhat, as each conference in the block must be checked to see if the user is registered in any of the conferences before deciding whether to display a conference list. I have attempted to make the scan as fast as possible to reduce waiting time. The delay will only affect callers with insufficient security for a block and should only be a second or two. Line 5 - Conference Block Lockout Display File. Displayed if the security level feature is enabled and the users security isn't high enough for the selected block of conferences (***Line 4 can override this if the user is registered in a conference and line 4 is 'Y'). This file can have Security, Graphic, and Language specific variations. Line 6 - Number of Columns. Can range from 1 to 9 but I wouldn't recommend going above 3 or 4. Width of the columns decreases rapidly with each additional column. For example, with a setting of 9, you would only get 3 characters of a conference name displayed in each column! Line 7 - Either L or R. Sets which part of the conference name will be displayed if it is too long to fit in the column. Setting this to R would be especially handy for long Internet conference names. ALL Files MUST exist... ============================================================================= CNTEXT This is the Prompt file used by the PPE. Each prompt is on a separate line. This file can have language specific versions. Here is a sample file: --------- An ERROR occurred in CNFN.PPE! Notify the sysop immediately please! Which Set of conferences do you want displayed Invalid Choice, enter a valid # You do not have access to this block of conferences! Which set of conferences to search for text --------- Line 1 - This is the Error prompt displayed to a caller if the PPE aborts due to not being able to find a file. The specific problem will be logged in the caller's Log. 78 char. max Line 2 - Prompt for which block of conferences the caller wants to display. 60 char. max Line 3 - Displayed if the caller enters an invalid block selection. 78 char. max Line 4 - This prompt is NOT USED at present, but must be present in the file. Line 5 - Displayed if caller enters 'S' to search for specific text in conference names. ============================================================================= VER.ID This is the Version Number ID file. For CNFN.PPE, it isn't currently used. I am just preparing for future ideas floating around in my head. It must exist in the PPE directory. ============================================================================= CNALT This is an alternate Block List display file. If it exists in the PPE directory, it will be displayed INSTEAD of the regular available block List. If you add or remove Conference Blocks, and are using this file, make sure you edit it to reflect the changes. This file can only have Language variations at present. ============================================================================= COLOR.CNF With this optional file, you can modify the color of just about everything. If it exists, the color values will be taken from it. The first 16 lines must be the color definitions (with the full @X designation). Here is a sample (and the defaults if the file doesn't exist): @X1A @X1C @X07 @X0A @X0A @X0F @X07 @X0E @X0E @X0E @X0E @X0F @X07 @X07 @X06 @X06 =============== Color Configuration file - The above entries MUST all exist if this file exists. The entries are as follows: 1: Progress Indicator Color 1 2: Progress Indicator Color 2 3: Progress Indicator Color Reset - Used after indicator 4: Block number color 5: Block number separator color 6: Block Text color 7: Block color Reset - Used after Text 8: Block Prompt Color 9: Search Prompt Color 10: Conference Number Color 11: Conference number Separator Color 12: Conference name color 13: Conference color Reset - Used after Conference/Unavailable conf name 14: Unavailable Conf # color 15: Unavailable Conf Separator Color 16: Unavailable Conf name color The Reset values aren't significant unless you are using acolored background. These will ensure that the proper background is restored after each item is displayed. ============================================================================= FINAL IMPORTANT NOTES Be sure that all the files exist and are in the same directory as the PPE. For installation, my advice would be to put the ppe in it's own directory (as I have done), like C:\PPE\CNFN\ , and change PCBSETUP-File Locations to reflect the new location. By default, PCBoard tends to lump stuff in the MAIN and GEN directories, making them extremely cluttered. My method will make finding and updating easier in the future, and will keep those directories less cluttered. The Security feature should be thought out. If you use it, you may not want to use an All Conferences block (think about it ) Also, I don't know how the "registered override" option will work with Conference Sysops. Make sure that they also have the R flag set in their users record to ensure this option works correctly for them. If you find something goofy, LET ME KNOW!!! so I can fix it. I can be reached in the following ways: Herbert Bushong Blackbeard's BBS - (318)-468-3385 USR DS v.34 33.6kbps Intelec - PCBoard, PPL, CDCSupport, Admin conferences U'NI-net - Sysops, CDCSupport, Admin, Letter_Box Conferences FidoNet - 1:19/19 Internet - herbert.bushong@bbread.pecan.com Newest updates can be obtained via the following methods: FREQ'd with the Magic Name ECNFN Log on to my BBS and Join Conf #5. Files are also uploaded to Salt Air.