Menu Functions Overview

In this function overview, parameters between <> are REQUIRED, and parameters between [] are optional.

For example: <blank> is a required parameter.
[/M] is an option you might specify in addition.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 1: GOTO MENU │
└───────────────────────────────────────────────────────────────────────┘
DATA: <menu name> [/M=<nr msgarea>] [/F=<nr filearea>] [/P=<pwd>]

This function makes ProBoard jump to menu <menu name>.

Option /M can be used to define one single menu for several message areas. You could jump to a 'general' message area menu and pass option /M=3, to make message area 3 active for the selected menu. Please refer to function 23 (Read messages) for more information about this option.

Option /F works exactly the same, but applies to file areas.

It is possible to protect a menu with a password by using the /P= option. For example: “SysOp /P=Test” would protect menu “SysOp” with the password “Test”. The user will have to enter this password to be allowed to move to the menu.

It is also possible to select the next available message or file areas with the use of the following parameters.

/M=+ (set next accessible Message Area)
/M=- (set previous accessible Message Area)
/F=+ (set next available File Area)
/F=- (set previous accessible File Area)

Data examples:

MSG /M=5: This makes ProBoard GOTO the menu named “MSG” and sets the Message Area to Area #5.

FILE /F=10: This makes ProBoard display the menu named “FILE” and sets the File Area to Area #10

MSG /M=+: This makes ProBoard display the menu named “MSG” and selects the next Message Area that is available to this caller.

FILE /F=-: This makes ProBoard display the menu named “FILE” and selects the previous File Area that is available to this caller.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 2: GOSUB MENU │
└───────────────────────────────────────────────────────────────────────┘
DATA: <menu name> [/M=<nr msgarea>] [/F=<nr filearea>] [/P=pwd]

This function is largely the same as the Menu Function 1 (it even has the same parameters), but the menu this function is called from is pushed onto an internal stack. ProBoard will jump back to this menu when returning from menu <menu name> (by executing Menu Function 3).

Data examples: (see Menu Function 1 for complete parameters)

MSG /M=5: This makes ProBoard display the menu named “MSG” and sets the Message Area to Area #5. It also places the previous menu on a stack. The previous menu can be returned to by using Menu Function 3.

FILE /F=10: This makes ProBoard display the menu named “FILE” and sets the File Area to Area #10. It also places the previous menu on a stack. The previous menu can be returned to by using Menu Function 3.

MSG /M=+: This makes ProBoard display the menu named “MSG” and selects the next Message Area that is available to this caller. It also places the previous menu on a stack. The previous menu can be returned to by using Menu Function 3.

FILE /F=-: This makes ProBoard display the menu named “FILE” and selects the previous File Area that is available to this caller. It also places the previous menu on a stack. The previous menu can be returned to by using Menu Function 3.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 3: GOTO PREVIOUS MENU │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

This function makes ProBoard go back to the previous menu if you used Menu Function 2.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 4: GOTO MENU & CLEAR STACK │
└───────────────────────────────────────────────────────────────────────┘
DATA: <menu name> [/M=<nr msgarea>] [/F=<nr filearea>] [/P=pwd]

This function performs the same tasks as Menu Function 1, but will clear the existing menu stack, thus preventing the user from returning to the previous menu.

Data examples: (see Menu Function 1 for complete parameters)

MSG /M=5: This makes ProBoard display the menu named “MSG” and sets the Message Area to Area #5. The menu stack will be cleared preventing return to any previous menus already on the stack.

FILE /F=10: This makes ProBoard display the menu named “FILE” and sets the File Area to Area #10. The menu stack will be cleared preventing return to any previous menus already on the stack.

MSG /M=+: This makes ProBoard display the menu named “MSG” and selects the next Message Area that is available to this caller. The menu stack will be cleared preventing return to any previous menus already on the stack.

FILE /F=-: This makes ProBoard display the menu named “FILE” and selects the previous File Area that is available to this caller. The stack will be cleared preventing return to any previous menus already on the stack.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 5: SHOW ANS/ASC FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <filename>

This function displays a file to the user with the extension .ANS or .ASC, depending on the user's ANSI-setting. The file must be stored in ProBoard's textfiles directory; <filename> should NOT contain an extension (max. eight characters). If ProBoard doesn't find the .ANS file, it will look for the .ASC file.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 6: CHANGE STATE │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows a user to change the state in their user-record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 7: SHELL │
└───────────────────────────────────────────────────────────────────────┘
DATA: <command line>

With this function, you can instruct ProBoard to execute an external program. This program has to do its own serial I/O, so ordinary programs will only work if run locally.

Parameter <command line> needs full path and filename (.COM or .EXE extension included), and may contain some special codes. These codes will (at run-time) be replaced by a value or a string.

Special codes:

(*)
** Replaced by an asterisk ('*')
*# Replaced by the node number.
*\ Sends the message "SysOp is shelling..." to the user before the shell is executed, and the message "SysOp has returned..." afterwards.
*! Freezes ProBoard's system timer when shelling.
*= Do not call any fossil functions when shelling. Great for use in INIT.PEX files.
*A Writes a user's handle (alias) to DORINFOx.DEF instead of his/her real name.
*B Current baud rate.
*C Replaced by the full name & path of the command interpreter. It is the contents of the environment variable "COMSPEC". This usually is C:\COMMAND.COM.
*D Writes a full 52-line DOOR.SYS drop file to the current directory before shelling.
*E Writes an RA 1.1x EXITINFO.BBS to the current directory before shelling and reads it back afterwards. ProBoard creates an RA 2.xx by default so if you need the older EXITINFO.BBS format be sure to specify the *E Parameter.
*F User's first name.
*G Indicates whether user has ANSI (1) or ASCII (0) set.
*H Tells ProBoard not to disable the fossil driver when shelling.
*I Maximum user-inactivity (seconds).
*L User's last name.
*M ProBoard's start-up directory (including trailing '\')
*N Shell will NOT be logged in PROBOARD.LOG.
*O (not zero!) is replaced by the path of the current file area.
*P Com-port used by ProBoard (1-8).
*Q Don't let user know that ProBoard is shelling (!).
*R User's record number in USERS.BBS.
*S ProBoard's system directory (incl. trailing '\')
*T Time left for the user today (minutes).
*V Disables adding 2 to the graphics capability line in DORINFOx.DEF when the user has AVATAR enabled.
*W Runs the shell in a window , so the status on the last line will not be cleared. This option only works with programs that send their output to the standard output device (no direct screen writes).
*X ALWAYS SWAP to disk/EMS, even if swapping is disabled in ProCFG.
*Y DO NOT SWAP to disk/EMS.
*Z Execute the command as if you typed it from the command line. The main use for this option is to execute DOS batch files. It is exactly the same as entering "*C /C <command>". It can also be useful to execute programs that are located in your path, without having to specify the exact directory name.
*_ (asterisk underscore) Tells ProBoard not to write underscores instead of spaces when writing a user's last name in DORINFOx.DEF. For example, users name is Harvey Van Hooten. Without this parameter, users name will be written to DORINFOx.DEF as follows:
HARVEY VAN_HOOTEN
By using the *_ (asterisk underscore) the users name will be written to DORINFOx.DEF as follows:
HARVEY VAN HOOTEN (with no underscore in last name)
*0 (zero) ProBoard will write a DORINFO1.DEF instead of a DORINFO<node>.DEF - great for running doors which require a DORINFO1.DEF file on a multi node ProBoard system.
*1 Installs a timer-function when shelling, which continuously redisplays the user's status line on the first screenline. This can be used with ALL programs. (Works great most full- screen protocols!)
*2 Same as *1, but uses the bottom screenline (try this with QuickEd or GEdit!)

Suppose ProBoard is in directory D:\PB.

Data example: *Q*STEST.EXE *B

ProBoard will execute D:\PB\TEST.EXE 2400 and the user won't see this happening.

To execute a batch file, you have to use the following syntax:

"*Z<filename>.BAT <parameters>". This is expanded to: "*C /C <filename>.BAT <parameters>".

When shelling, ProBoard writes a standard DORINFOx.DEF file, where x stands for the node-number. An RA-compatible EXITINFO.BBS file and a DOORWAY-compatible DOOR.SYS can also be created by specifying the *E and/or *D options. All these files are created in the directory where ProBoard is started from.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 8: SHOW VERSION INFORMATION │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

This function shows information about ProBoard's version number. If you have a registered copy of ProBoard, the SysOp's name and BBS-name will be shown. With this function, you can show off to your users that you're a nice SysOp: one that registered!

┌───────────────────────────────────────────────────────────────────────┐
│ Function 9: LOGOFF │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Shows the file GOODBYE.ANS/ASC and hangs up the phone.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 10: SHOW SYSTEM USAGE PER HOUR (GRAPH) │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Shows a bar graph of the average system usage per hour. From the day you install ProBoard, it will keep track of a usage rate per hour and per day. If you want to change the usage values, just edit the values using ProCFG.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 11: CHAT REQUEST │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

This function allows the user to make a request to chat with the SysOp. The user will be prompted for a reason why he wants to chat. The minimal length of this reason must be 5 characters. ProBoard will not allow the user to enter 5 spaces as a reason for chatting. If the SysOp does not answer, the status line will start flashing, indicating that the users wants to chat. You can view the reason for the chat by pressing <F8>.

You can define your own page-tune by creating a RemoteAccess- compatible description file. The format of this file is described in the reference section.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 12: EXECUTE QUESTIONNAIRE SCRIPT │
└───────────────────────────────────────────────────────────────────────┘
DATA: <scriptname>

This function executes a questionnaire. A questionnaire is a common ASCII-file containing several commands to be executed by ProBoard. A questionnaire scriptfile has an extension .Q-A, and the user's answers will be stored in a file with the same filename, but with extension .ASW. Starting from version 1.15, you can write very powerful questionnaires by using the ProBoard SDK.

You can use the following commands in a scriptfile:

ASK <length> <number of variable>
eg: Ask 10 1

Asks the user something. The user has <length> characters to answer, and the answer will be stored in the variable <number of variable>. The maximum number of variables in ProBoard is 20.

CHANGECOLOR <color>
eg: ChangeColor 3

Changes the color in which the following text will be displayed. The number <color> is the ANSI color code, which means that this function works only for users who use ANSI.

CLEARSCREEN

Well, what do you think?

DISPLAY "<string>"
eg: Display "Hi there!"

Displays a string <string>. The string must be contained in double quotes; a '|' in a string will be replaced by CR/LF (new line).

IF <number of variable> = "<string>"
eg. If 1 = "Y"

Directs the .Q-A file according to the user's answers. If the condition is met, all commands after the IF-statement will be executed, until an ENDIF is encountered.

ENDIF

Ends an IF-statement.

eg: Display "Do you have a hard disk?"
GetChoice YN 1
If 1 = "Y"
Display "Storage space in Mb?"
Ask 2
EndIf
Display "..."

GETCHOICE <options> <number of variable>
eg: GetChoice YN 1

Forces the user to give a proper answer, chosen from <options>.

OUTPUTANSWER ["<description>"] <number of variable>
eg: OutputAnswer "Name: " 1

Writes [“<description>”] and the value in <number of variable> to the .ASW-file. <description> is optional.

POSTINFO

Writes a header to the .ASW-file. The header contains some general information about the user (“Peter Piper answered on …”).

QUIT

Ends execution of the questionnaire script.

SETFLAG <flag> <ON/OFF>
eg: SetFlag C ON

Sets/clears user flag <flag>. For compatibility with RA, it is also possible to use the QuickBBS/RA flags (A1-D8)

SETSECURITY <level>
eg: SetSecurity 20

Changes the user's security level.

CAPITALISE [On|Off]
eg: Capitalise On

Changes the way input from the user is displayed. When ON, all characters typed will be converted to uppercase.

DISPLAYFILE <filename>
eg: DisplayFile TEST

Displays <filename>.ANS/ASC. It is identical to menu function 5.

EXEC <command>
eg: Exec "*ZECHO TEST"

Execute a shell. It is identical to function 7. Note that you MUST use quotes (“) if the command contains any spaces.

LISTANSWER <var-num>
eg: ListAnswer 4

Displays variable <var-num>, with a CR/LF at the end.

MENUCMND <num> [data]
eg: MenuCmnd 11 "Yelling SysOp..."

Execute any menu command. If the data field contains spaces, you MUST use quotes (”).

WAITENTER
eg: WaitEnter

Waits for the <Enter> key.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 13: DISPLAY USERLIST │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Prompts the user for a name (or part of a name) and goes looking for it in the name fields of USERS.BBS. If the user doesn't specify a string (if he presses <Enter>), the entire userlist will be displayed. ProBoard uses a built-in “fuzzy search” algorithm, which will locate specific users even if you misspell their name.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 14: DISPLAY TIME INFO │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Displays information about the current time, time online, remaining time, etc.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 15: SHOW ANS/ASC FILE & WAIT │
└───────────────────────────────────────────────────────────────────────┘
DATA: <filename>

Displays an ANS/ASC-file (like function 5) and waits for the user to press <Enter>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 16: CHANGE CITY │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change the city in his user-record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 17: CHANGE PASSWORD │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change his password.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 18: CHANGE SCREEN LENGTH │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change his screen's length (# lines).

┌───────────────────────────────────────────────────────────────────────┐
│ Function 19: TOGGLE CLEAR SCREEN CODES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Allows the user to decide whether he wants clear screen-codes sent or not.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable screen clearing and ProBoard will not display: "Screen Clearing is now enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle” parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 20: TOGGLE MORE PROMPT │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Allows the user to decide whether scrolling should pause when the screen is full.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable the More? prompt, and ProBoard will not display: "Page Pausing is now enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle” parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 21: TOGGLE ANSI CODES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Allows the user to choose ANSI graphics/colors or not.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable ANSI, and ProBoard will not display: "ANSI codes enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle” parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 22: CHECK FOR PERSONAL MAIL & FILES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or [/F] or [/M] or both.

Searches all the message areas for messages addressed to the user that have not yet been received by him/her. If ProBoard finds an area with new mail, which the user does not have read access to, it will inform the user, and the SysOp.

This function also checks for personal files addressed to the user.

Specifying the [/F] option will force ProBoard to check only for new personal files.

Specifying the [/M] option will force ProBoard to check only for new personal mail.

ProBoard will also find mail addressed to a users alias.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 23: READ MESSAGES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area> or <*> or <0>

Allows the user to read a message. If <area> is specified (a number ranging from 1 to 10,00), then only messages from message area <area> can be read. If <*> is specified, only messages from the active area can be read (refer to the goto/gosub menu functions and to function 49). If <0> is specified, only messages from areas selected in the combined boards can be read. When reading messages in combined message areas, messages are read “per area”, not in the order of the message number.

The user has several options when reading messages:

Forward : First to last.
Reverse : Last to first.
New : New messages not read by the user. Messages are read per area. If you have new messages in Area 1 and 5, ProBoard will first show all new messages in Area 1, then all new messages in Area 5.
Selected : Messages selected by name or subject.
Marked : Marked messages only.

When a message is read, the user has the following options:

Next : Next message.
Previous : Previous Message
Again : Show this message again.
Stop : Stop reading messages.
Mark : Mark this message for later use.
Reply : Reply to this message. The entire message will be passed to the
external fullscreen editor, thus making it possible to quote text
from the original message in your reply.
Unread : Set this messages status to 'Not received'. Moves to
the next message (if any).
Delete : Delete this message from the message base.
Forward : Copy the message and address it to somebody else. This will only
work in a LOCAL message area.
Move : Move this message to another message area.
Private : Toggles the private/public status of the message.
Export : Export this message to any file.
+ / - : Show the next/previous message in the reply-chain.
Original : Go back to the message where you first used +/- to follow replies.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 24: SCAN MESSAGES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area> or <*> or <0>

Gives an overview of the messages. Only the message-header will be displayed, and the user has the possibility to mark messages for later retrieval. The options follow the same rules as in function 23 (Read messages).

┌───────────────────────────────────────────────────────────────────────┐
│ Function 25: QUICKSCAN MESSAGES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area>/<*>/<0>

Same as the previous function, but only an overview in short form is displayed. The user does not have the possibility to mark messages. The options follow the same rules as in function 23 (Read messages).

┌───────────────────────────────────────────────────────────────────────┐
│ Function 26: USAGE GRAPH BY DAY (GRAPH) │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Displays a graph of your system's use for the last <xx> days. The parameter <xx> is determined by the setting in PROCFG, under Options (F1), System Options, # Usage Graph Days.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 27: WRITE A MESSAGE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area> or <*> [/L] [/N=Netmail address] [/T="Name"]
[/S="Subject"]

Allows the user to write a message. The area <area> (a number ranging from 1 to 10,000) can be replaced by <*> (refer to function 23). ProBoard's “fuzzy search” will assist users who enter another users name improperly when they are writing messages in local areas. ProBoard will search the user file, and give the user a choice of all users whose names are close to what they typed.

Optional parameters:

/L The user will be logged off after writing this message.
/N Writes a netmail message to the destination address specified.
This could also be used to send netmail to a UUCP gateway.
/T The "To" (the addressee's name) is automatically specified.
It is not necessary to use quotes (") when the username does
not contain spaces.
/S The subject of the message is automatically specified. It is
not necessary to us quotes (") when the subject does not
contain spaces.
Examples:
/N=1:282/30 This would address a netmail message to
Fidonet node number 1:282/30.
/T=SysOp Writes a message to the SysOp.
/T="Peter Piper" Writes a message to Peter Piper.
/S="ProBoard" Writes a message with the subject line
already filled in. The user will not be able
to change the subject.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 28: COMBINED BOARDS SELECT │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or [/M]

Allows the user to select multiple message areas when using the 'combined boards read/scan' function. This is useful when a user is not interested in certain message areas.

Also allows users to select which areas ProBoard will check [/M] for new mail. This is very useful for visiting SysOps who don't want to be forced to read echomail they already received on their own system.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 29: SYSTEM USAGE PER WEEK (GRAPH) │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Displays a graph of the system-usage in percent for the last 24 weeks.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 30: SHOW DIRECTORY │
└───────────────────────────────────────────────────────────────────────┘
DATA: [directory name]

Shows a list of all the files stored in the specified directory. If no directory is given, the user will be prompted for one.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 31: LIST FILES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area> or <X>

Lists the files in the specified file area. If <X> was specified, the files in the active file area will be shown. The list of these files must be stored in a textfile created by the SysOp (refer to file area configuration). This textfile should contain the names and descriptions of the files. The description can be of any form you like.

A line in the textfile should look like this:

a) <filename> <blanks> <description>

Filename + date + size + description will be displayed in the
appropriate colors.

b) <+> <description>

The <+> will cause the description to be placed at the same
horizontal cursor position and in the same color as the description
from (a). This line will be displayed when searching for files.

c) <!> <description>

The description will be placed at the left of the screen, in the same
color as the descriptions above. This line will be displayed when
searching for files.

d) <;> <description>

Same as in (c), but the color is white.

e) <description>

Same as in (d), but this line will NOT be displayed when searching
for files.

Example:

=============================================================
PB_220.ZIP ProBoard version 2.20
+Best BBS program in the world
!Original Belgian Product
;(made possible by Burger King in the USA)
=============================================================

This will be output as:

============================================================= [c2]
PB_220.ZIP 07/08/93 600583 ProBoard version 2.20 [c1]
Best BBS program in the world [c1]
Original Belgian Product [c1]
(made possible by Burger King in the USA) [c2]
============================================================= [c2]

[c1] stands for color 1, [c2] stands for color 2.

If a file area is configured as being CD-ROM, the file listing should look slightly different. Option (a) will become:

a) <filename><blanks><date><blanks><filesize><blanks><description>

There is one more thing you can do to make your file listings more colorful (previously undocumented) : Inserting Ctrl-A to Ctrl-G characters in your file listing will change the color to:

Ctrl-A Red
Ctrl-B Green
Ctrl-C Yellow
Ctrl-D Magenta
Ctrl-E Blue
Ctrl-F Cyan
Ctrl-G White

┌───────────────────────────────────────────────────────────────────────┐
│ Function 32: DOWNLOAD A FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> and/or </parameter>

Allows the user to download a file. The file areas a user can download from are defined by the area selection. This is a list of area-specifications, separated by blanks. Each specification has the form:

[+]<area>
<-><area>
'+' stands for 'Include this area in the area-list', and is
optional.
'-' stands for 'Exclude this area from the area-list'.

The parameter <area> should be one of the following:

All areas.

C CD-ROM areas only.

X Currently active area.
<n> Area number <n>.
<n1-n2> Areas <n1> to <n2>.

Examples:

All areas

-C All non-CD-ROM areas.

-3-9 +5 Areas 1,2,5,10,11,…

X +2 Active area + area 2.

C -2 All CD-ROM areas, except area 2

Of course, a user must have the necessary download security in an area to be allowed to download files from it.

You can also specify several other parameters:

/A .......................... Allows the user to download ANY file
accessible by DOS. When using this option,
the full path and filename must be
specified. This option is intended for
remote SysOps.
/F=<file> ................... The user will not be prompted for a file,
but the file <file> will immediately be
sent to the user (useful for textfiles
describing all the files on the BBS).
Parameter <file> should contain the full
path name. (eg. /F=C:\PB\PB.DOC). Can also
be combined with the </T> option (see
below).
/F=[<area>]<file> ........... Download the <file> from [<area>] directly.
The following example would download the
file PB_220.ZIP directly from file area
#13. e.g. /F=[13]PB_220.ZIP
/F=@<filelist> .............. Download the files listed in the textfile
<filelist>. e.g. /F=@C:\PB\ALLFILES.RSP
/I .......................... Ignore DL kbytes.
/K=<key> .................... Use the protocol key <key>.
/L=<log> .................... Write to an additional log file <log>. The
format for each line is: <D/U> <area> <file>
<size> <free YES/NO>.
/N .......................... No log. Don't log anything.
/P .......................... Download all personal files for the user.
/Q .......................... Start download right away without prompting
the user. You must use the /F= and the /K=
parameters so ProBoard knows what file to
send, using what protocol when using this
option.
/T .......................... Allow the user to download the specified
file without checking the users remaining
time left. Refer to "Free Files" for more
details. Let's say you want to let users
download the latest version of ProBoard and
you don't care about the time it takes or
how much time they have left. In the data
line put the path and file name followed by
the </T> parameter. An example of doing
this is as follows:

C:\FREEFILE\PB_220.ZIP /T

A Small hint regarding free files: if you want one particular area to be completely free (time and Kb), you can make a menu choice like this:

Function: 32
Data : 41 /T

This will allow the user to download anything from area 41, regardless of their time remaining.

ProBoard will now also copy files from CD-ROM to a local drive when the “Copy Local” flag is set to “Yes”. It will copy files to a directory called CD_TEMP, created in the directory where ProBoard was started from. You can specify your own directory by creating an environment variable called CDTEMP containing the name of the directory (+drive!!) If ProBoard can not find the directory as specified it will attempt to create it. Refer to the chapter “CONFIGURATION” under File Areas, for more information on the “Copy Local” and CDTEMP environment variable options in ProBoard.

Important ─────────────── ProBoard uses a highly optimized index to find your files when users want to download them. Be sure to run PBUTIL FI (File Index) at least once a day to create the index, or ProBoard will not be able to find the files. You may want to run it more often than once a day if you add new files to your system.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 33: UPLOAD A FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <uploadpath> or </parameter>

Allows the user to upload a file to the BBS. If <uploadpath> is specified, the upload will be placed in that directory. If not, it will be placed in the default upload-directory specified in PROCFG. (Unregistered versions of ProBoard will always use the default upload directory).

Upon successful reception of the file, the user will be prompted for a description of that file. The description can be several lines. If it begins with a '/', this description will be written to the file FILES.PVT in the upload-directory, else it will be written to the file FILES.BBS.

All uploads are now logged to a file in the ProBoard System Directory called UPLOAD.LOG. The log file is in the following format:

01-Feb-94 14:52:38 Upload of PB_220.ZIP by Jim Biggs
01-Feb-94 14:56:01 Upload of PROCFG.EXE by Jeff Reeder

The parameters you can specify are: ───────────────────────────────────

/D …………………….. Do not ask user for upload descriptions.

/F=<file> ………………. Upload <file> (for non-batch protocols). /K=<key> ……………….. Use protocol key <key>.

/L=<log> ……………….. Write to an additional log file <log>. The

format for each line is:

U O <file> <size> NO.

/N …………………….. No log. Do not log anything.

/P …………………….. Upload private files. If the data field

contains "/P", the user can upload a
personal file to another user. In this
case the upload will be placed in the
private upload directory (specified in
ProCFG).

/Q …………………….. Start upload right away, without prompting

the user. You must specify a /K=<key> for
this to work.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 34: VIEW ARCHIVE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection>

View the contents of a ZIP/LZH/ZOO/ARC/ARJ/RAR-file. The file specification input by the user will be looked for in the areas specified in <area selection>. ProBoard's Archive Viewer looks at the contents or “header” of the file the user selects to view to determine it's archive type rather than the file's extension (.ZIP/.ARJ etc…) This function now uses the file index to locate the archive to view so it is much faster than in previous releases of ProBoard. Please refer to Menu Function 32 (Download) for more information.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 35: KEYWORD SEARCH │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> [/FG] [/FG=group]

Looks for a character string in the file descriptions. If the string is found, the related file and its description will be displayed. The character string will be looked for in the areas specified in <area selection>. ProBoard now supports keyword searches in lines starting with | (PCBoard CD-ROM lists) such as the popular Night Owl CD-ROM's. This means a keyword will be found in these extended descriptions as well. Please refer to Menu Function 32 (Download) for more information.

Option /FG will search only in the areas in the currently selected file group. You can define a file group to search in by specifiying a group number in /FG=<group number>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 36: FILENAME SEARCH │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> [/FG] [/FG=group]

Looks for a filename in the file listings (wildcards allowed). The filename will be looked for in the areas specified in <area selection>. Refer to function 32 (Download) for more information.

Option /FG will search only in the areas in the currently selected file group. You can define a file group to search in by specifiying a group number in /FG=<group number>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 37: SHOW NEW FILES │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> [/FG] [/FG=group]

Shows a list of files more recent than a date specified by the user. If the user does not specify a date, then that date will be the last time this user logged in. The files will be looked for in the areas specified in <area selection>. Please refer to function 32 (Download) for more information.

Option /FG will search only in the areas in the currently selected file group. You can define a file group to search in by specifiying a group number in /FG=<group number>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 38: VIEW A FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <directory>

This functions asks for a filename, and then looks for (and shows) the file stored in <directory>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 39: DISPLAY NAMED FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <full filename>

Displays a file to the user. The data field <full filename> must contain path, name and extension.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 40: DISPLAY ANS/ASC FILE WITH MENU HOTKEYS │
└───────────────────────────────────────────────────────────────────────┘
DATA: <filename without extension>

This function is the same as function 5, but can only be used in 'autoexec-menus', because it shows an ANS/ASC-file AND checks for menu

hotkeys at the same time. Please refer to the section about menus for more information about the autoexec-concept.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 41: TOGGLE FULLSCREEN EDITOR │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Lets the user decide whether they want to use ProBoard's line editor or an (external) fullscreen editor.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable the full
screen (external) editor, and ProBoard will not display:

"Full Screen editor is now enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle”

parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 42: TOGGLE COMMAND STACKING │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Lets the user decide whether he will work with hotkeys or with combinations of hotkeys and command stacking (à la Opus). The command stack execution is initiated by pressing <Enter>. A ';' in the command stack will be replaced by <Enter>.

Eg. M1WSysOp;Subject;Y

This would write a private message in message area 1 to the SysOp, with subject “Subject”.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 43: CLEAR MARKED MESSAGES │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Clears all marked messages.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 44: GLOBAL COMBINED BOARDS SELECTION │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to select or deselect all areas in his combined boards selection.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 45: DISPLAY TEXTFILE & WAIT │
└───────────────────────────────────────────────────────────────────────┘
DATA: <full filename>

Displays a textfile to the user, then waits for the user to press <Enter>. The filename requires full path, name and extension.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 46: CHANGE USER LEVEL AND/OR FLAGS │
└───────────────────────────────────────────────────────────────────────┘
DATA: [level] [flag +/-] [flag +/-] ...

Changes a user's level and/or flags. [level] can occur only once in the parameter array, flags can be toggled on/off by specifying the flag, followed by +/-.

Data example: 10 A+ 3-

This would set the user's level to 10, set flag A and clear flag 3.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 47: MAKE A LOG ENTRY │
└───────────────────────────────────────────────────────────────────────┘
DATA: <log entry>

Writes <log entry> to PROBOARD.LOG, thus allowing the SysOp to customize his log.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 48: SHOW HITPARADE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <Mn>/<Kn>/<Tn>/<Un>/<Fn>/<Cn>/<On>

This functions returns an overview of the most active users in several fields.

The 'n' with the parameters stands for the number of users to be displayed in the hitparade. (unregistered versions default to 5)

M Best message-writers
K Best downloaders (Kb)
T Best downloaders (# downloads)
U Best uploaders (Kb)
F Best uploaders (# uploads)
C Best callers (# times called)
O Total time online

Data example: U15

┌───────────────────────────────────────────────────────────────────────┐
│ Function 49: SELECT MESSAGE AREA │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> or </parameter>

Lets the user select a new message area. This function is to be used in cooperation with other message-related functions.

Valid area selection parameters are: ────────────────────────────────────

X Current Area
E All Echo Areas
N All NetMail Areas
L All Local Areas
* All Areas
<n> Area #<n>
<n1>-<n2> Areas #<n1> to #<n2>

Other valid parameters are: ───────────────────────────

/MG ……………………. Makes the user select a message group if

they haven't done so already.

/MG=<num> ………………. Only allows user to select from message

areas belonging to message group <num>.

/N …………………….. ProBoard will run even faster since it will

not check for waiting mail (no "*" will be
displayed indicating new mail) if you
specify this parameter. This can be useful
if your BBS has many large message areas,
in particular, Squish or JAM. Remember,
ProBoard can be configured for 10,000
message areas so a full "new" mail check in
each area can be time consuming.

Examples: ─────────

-E All non-echomail areas

1-20 50-60 Areas 1..20 and 50..60

N 10-20 -15 All netmail areas, plus areas 10..20, except area #15
/N Do not have ProBoard perform the new mail check in each
message area. Great for Squish and JAM.

Note: ───── Since ProBoard parses only the first letter of an alpha area selection, the keywords from prior versions, [Local / Net / Echo] can still be used and will still work. It is recommended however, that you change to the new parameter(s) since the keywords [Local / Net / Echo] may not be supported in upcoming versions.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 50: SHOW USERS ONLINE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or /H

Displays users who are logged in on other nodes. Of course, this function is only useful on multi-user systems. To protect the SysOp's health, it is possible not to display the SysOp's name here (Refer to the ProCFG section).

Valid parameters are: ───────────────────── /H …………………….. Show the user's handle (alias) instead of

their real name.

<blank> ………………… Will display the user's real name.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 51: LIST LAST CALLERS │
└───────────────────────────────────────────────────────────────────────┘
DATA: <number of users to be displayed> [/H]

Gives an overview of the users that have most recently logged in (for ALL the nodes). In the non-registered version, the number of users shown is forced to 5. Specifying the parameter /H will show the user's aliases instead of their real names.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 52: REMOTE USER EDITOR │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows you to adjust a user's level (or even delete him), without you having to be at the computer (VERY handy for co-SysOps!).

┌───────────────────────────────────────────────────────────────────────┐
│ Function 53: MULTILINE CHAT (INTERNODE CHAT) │
└───────────────────────────────────────────────────────────────────────┘
DATA: - <blank> or /H

This is certainly one of the nicest Menu Functions in ProBoard! This function allows two users on different nodes to chat with each other IN REAL TIME!!! You will actually see the other user type (mistakes?), as if you were in chat-mode with the SysOp. This is UNlike other systems, where entire LINES are sent to the other node.

User A on node X will have to specify the node he wants to chat with, then user B on node Y will be prompted if he wants to chat. It is VERY (!VERY!) important that your system supports full file & record locking to use this option. When you are not running a LAN, you MUST install SHARE.EXE! ProBoard will definitely lock up when SHARE.EXE is not installed on a stand-alone system.

Valid parameters are: ───────────────────── /H …………………….. Will show the users handle (alias) instead

of their real name to the users on other
nodes, when prompting them to engage in a
chat.

<blank> ………………… Will display the users real name instead of

their alias when prompting users on other
nodes to engage in a chat.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 54: SELECT FILE AREA │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection> or </parameter>

Lets the user select a new file area. This function is to be used in cooperation with other file-related functions. Refer to functions 1 and 32 for more information.

Valid parameters are: ─────────────────────

/FG ……………………. Makes a user select a file group if they

haven't done so already.

/FG=0 ………………….. Makes the user always have to select a file

group.

/FG=<num> ………………. Only display file areas belonging to file

group number <num>.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 55: SHOW .GIF FILE INFO │
└───────────────────────────────────────────────────────────────────────┘
DATA: <area selection>

Prompts the user for a .GIF-filename (wildcards allowed) and displays resolution and number of colors for the file(s). The files will be looked for in <area selection>. Refer to function 32 (Download) for more information.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 56: TOGGLE IBM CHARACTERS │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to disable/enable extended IBM characters. When disabled, all IBM-specific characters are converted to standard ASCII characters (“+-|”)

┌───────────────────────────────────────────────────────────────────────┐
│ Function 57: CHANGE PHONE NUMBER │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change his phone number stored in his user record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 58: CHANGE DATA/FAX PHONE NUMBER │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change his data/fax phone number stored in his user record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 59: CHANGE USER ALIAS │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change his alias. It is not allowed to use an alias that is being used by another user.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 60: RUN PROBOARD SDK FILE │
└───────────────────────────────────────────────────────────────────────┘
DATA: <program> [data]

Loads & executes a ProBoard Executable (PEX file) created using the ProBoard Software Development Kit (SDK). The PEX file can be run from any directory. It is the responsibility of the PEX programmer to search for the appropriate data files when their PEX is run. If you are not sure if the PEX you are running does this then it's a good idea to place the PEX file directory (Specified in PROCFG, F1-Options, Paths, PEX Files).

Important ───────── Any PEX files that were written for versions of ProBoard prior to 2.00 will have to be recompiled with the new 2.1x SDK before they can run under ProBoard 2.16.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 61: BULLETIN MENU │
└───────────────────────────────────────────────────────────────────────┘
DATA: <filename> [prompt]

Displays <filename>.ANS/ASC (like function 5), and prompts the user for a file suffix. This suffix is appended to <filename>, and the file with the resulting filename is displayed. Obviously, <filename> should not be longer than 7 characters. The optional [prompt] parameters defines a prompt to be shown to the user. For example: Enter a bulletin.

Data example: BULLET Enter a bulletin:

┌───────────────────────────────────────────────────────────────────────┐
│ Function 62: TOGGLE AVATAR/0 │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Allows the user to toggle AVATAR/0 on/off in their user record.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable AVATAR/0
screen display codes, and ProBoard will not display: "Avatar codes are
now enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle”

parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 63: TOGGLE AVATAR/0+ │
└───────────────────────────────────────────────────────────────────────┘
DATA: <blank> or <parameter>

Allows the user to toggle AVATAR/0+ on/off in their user record.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable AVATAR/0+
screen display codes, and ProBoard will not display: "AVT/0+ codes are
now enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle”

parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 64: Show Graph (General) │
└───────────────────────────────────────────────────────────────────────┘
DATA: <graph type> [/N=<days>] [/T="text"]

This menu function is a direct system hook to the _GRAPH.PEX file supplied in PB_220.ZIP

<graph type> "Hourly", "Weekly", "LastDays" or "Speed".

/N=<days> Number of days to read from BINLOG.PB (Optional)

/T="text" Text to display on the top bar of your graph. A "%d" (no
quotes) is replaced by the number of days/weeks

Example: ────────

Hourly /N=14 /T="Usage graph for the last 2 weeks"
Speed /N=60 /T="Cool baud rate statistics for the last %d days"

The C++ source code for _GRAPH.PEX is included with ProBoard.

You can add your own <graph type> by editing and compiling the _GRAPH.CPP file.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 65: Display A??/RIP File with Hotkeys │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows you to display an A??/RIP file to users. Very similar to Menu Function 40 except that RIP files are supported.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 66: Change RIPscrip Font │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to select either the large RIP font (80×24) or the small RIP font (80×43) for displaying system prompts etc.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 67: Toggle RIPscrip Graphics │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none), <blank> or <parameter>

Allows the user to toggle RIP graphics on/off.

In the data field, you can enter these parameters:

Ask Will ask for new status
On Toggles option on
Off Toggles option off
Toggle Toggles option (reverse of current condition)
Save Save current status for this option
Restore Restore status saved by "Save"
/Q Quiet. Do not display "xxxx is now enabled/disabled"

Example: “Ask /Q”

This will ask the user if they want to enable or disable RIP graphics,
and ProBoard will not display: "RIPscrip graphics are now
enabled/disabled".

Note: Leaving the data field blank is the same as specifying the “Toggle”

parameter.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 68: Edit Tagged Files │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows users to edit the list of tagged files.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 69: Select a New Language │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows users to select a new language file for the system prompts.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 70: Change Date Format │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to select a new date format for system date displays. Valid choices are: MM/DD/YY, YY/MM/DD, and DD/MM/YY.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 71: Change Mailing Address │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change their mailing address. Displays users current mailing address (if any) and presents a new line for them to begin typing. If nothing is typed on this first line by the user, the change mailing address function is terminated.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 72: Change FAX Number │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change the FAX Number in their user record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 73: Change Country │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change the country in their user record.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 74: Change Default Protocol │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Allows the user to change the default protocol for downloads and uploads. ProBoard will no longer ask for a protocol when a download or upload session is started.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 75: Select Message Area Group │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Selects a new message area group. See function 49 for more information.

┌───────────────────────────────────────────────────────────────────────┐
│ Function 76: Select File Area Group │
└───────────────────────────────────────────────────────────────────────┘
DATA: (none)

Selects a new file area group. See function 54 for more information.