150 lines
6.2 KiB
HTML
150 lines
6.2 KiB
HTML
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||
|
<META http-equiv="Content-Style-Type" content="text/css">
|
||
|
<META name="author" lang="en" "content="Michiel Broek">
|
||
|
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||
|
<META name="description" lang="en" content="MBSE BBS Manual">
|
||
|
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||
|
<TITLE>MBSE BBS Menu System.</TITLE>
|
||
|
<LINK rel=stylesheet HREF="../manual.css">
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
<BLOCKQUOTE>
|
||
|
<h5>Last update 02-Feb-2001</h5>
|
||
|
<P> <P>
|
||
|
|
||
|
<H1>MBSE BBS Menu System</H1>
|
||
|
<P ALIGN=CENTER>Menus sections:
|
||
|
<A HREF="menu0.html">Global menus</A>
|
||
|
<A HREF="menu100.html">File areas</A>
|
||
|
<A HREF="menu200.html">Message areas</A>
|
||
|
<A HREF="menu300.html">User settings</A>
|
||
|
<A HREF="menu400.html">Onliners</A>
|
||
|
<A HREF="menu500.html">BBS lists</A>
|
||
|
<A HREF="control.html">ANSI Control Codes</A>
|
||
|
</P>
|
||
|
<P>
|
||
|
<HR>
|
||
|
</P>
|
||
|
|
||
|
<H3>Introduction.</H3>
|
||
|
<P>
|
||
|
One of the most powerfull features of the BBS is it's menu system. You
|
||
|
have complete control over each individual menu item which can be restricted
|
||
|
according to criteria such as security levels.
|
||
|
<P> <P>
|
||
|
|
||
|
<H3>ANSI Screens.</H3>
|
||
|
<P>
|
||
|
For the menus to work properly you must also draw ANSI screens, this
|
||
|
is what the users will see. For Linux there is "Duh DRAW" written by Ben
|
||
|
Fowler, see sunsite.unc.edu /pub/Lunux/docs.
|
||
|
If you can't find it or have no internet access, you can also use
|
||
|
THEDRAW. This utility can be found on many BBS'es around the world. Unfortunatly
|
||
|
it is a DOS program so you will need dosemu on your Linux box or a seperate
|
||
|
DOS computer. You can define main screens and include screens for each
|
||
|
menu, the include screen may for example show the keys that you have available
|
||
|
in every menu. See the list of <A HREF="control.html">control codes</A>.
|
||
|
<P> <P>
|
||
|
|
||
|
<H3>Automatic commands.</H3>
|
||
|
<P>
|
||
|
A menu function is usually executed when a user presses the hot-key
|
||
|
assigned to that particular menu item. But menu functions can also be executed
|
||
|
automatically. Each menu item contains an AutoExec field. By default this
|
||
|
field is set to No, but by toggling it to Yes, the menu item can be made
|
||
|
to execute when it is played back (displayed) by the BBS. </P>
|
||
|
<P>
|
||
|
As you read through the menu function types outlined in this chapter,
|
||
|
you may come to realize that this is a very powerfull feature. For example,
|
||
|
when used with the menu function that displays a text file, you can design
|
||
|
very elaborate, graphical text file menus that you wouldn't normally be
|
||
|
able to display in a line-by-line menu. </P>
|
||
|
<P>
|
||
|
Automatic menu execution can be used in many other instances as well.
|
||
|
Just to give you some ideas, it might be used to display a text file to
|
||
|
users who have a security level equal to or greater than a certain level.
|
||
|
Yet another use is to execute multiple function menus which are used to
|
||
|
execute several functions when a single command is entered.
|
||
|
<P> <P>
|
||
|
|
||
|
<H3>Multiple languages.</H3>
|
||
|
<P>
|
||
|
For each language you can define a set of menus. Only for the default
|
||
|
language all menus must exist. It makes sense to make the filenames of
|
||
|
your menus for each language the same and not to translate them. If a menu
|
||
|
is missing for a non default language, the menu from the default language
|
||
|
path is used.
|
||
|
<P> <P>
|
||
|
|
||
|
<H3>Editing a menu.</H3>
|
||
|
<P>
|
||
|
The order of the menu lines in the setup is not important except for
|
||
|
the autoexec menus, they must be placed in the right order from start,
|
||
|
ie. begin with the menu specific screen display, then the global include
|
||
|
display and finally show the prompt.
|
||
|
<P>
|
||
|
|
||
|
<IMG SRC="../images/e_menu.gif" Border="0" width="576" height="344">
|
||
|
<OL>
|
||
|
<LI><B>Selection key.</B> This is the key a user must press to activate
|
||
|
this menu. This field is ignored when AutoExec is set to Yes. </LI>
|
||
|
|
||
|
<LI><B>Type nr.</B> this is the menu type to execute. For a description
|
||
|
of all available types see below. </LI>
|
||
|
|
||
|
<LI><B>Optional data.</B> Some menus need optional data, for example the
|
||
|
function goto another menu needs the name of that menu file here. </LI>
|
||
|
|
||
|
<LI><B>Display.</B> What is to be displayed to the user. This field has
|
||
|
no meaning yet. What you want to diplay must be done with ANSI screens.
|
||
|
</LI>
|
||
|
|
||
|
<LI><B>Security.</B> This is the minimum security level to execute this
|
||
|
selection. The security is a level number combined with 32 bitmapped flags.
|
||
|
NOTE: level 0 and no flags means
|
||
|
everyone can select this menu. Good for logout options and all other options
|
||
|
everyone must be able to execute. </LI>
|
||
|
|
||
|
<LI><B>Min. age.</B> The minumum age the user must be to execute this selection.
|
||
|
You may want to restrict access to certain areas to users older than 18
|
||
|
years. If you leave this to 0, every one can execute this menu. </LI>
|
||
|
|
||
|
<LI><B>Max. lvl.</B> The maximum level a user must have to execute this
|
||
|
menu. If you leave this at 0 then the maximum level has no effect. </LI>
|
||
|
|
||
|
<LI><B>Password.</B> You can protect the menu selection with a password.
|
||
|
If this field is empty, no password check is done. </LI>
|
||
|
|
||
|
<LI><B>Credit.</B> How much credit a user must have to execute this menu
|
||
|
selection. This field is not in use yet. </LI>
|
||
|
|
||
|
<LI><B>Colors.</B> The display color for the display line, not in use yet.
|
||
|
</LI>
|
||
|
|
||
|
<LI><B>AutoExec.</B> If this is an automatic executed selection. </LI>
|
||
|
|
||
|
<LI><B>Menu open.</B> Will be implemented later, you will be able to set
|
||
|
opening hours for this menu selection. </LI>
|
||
|
<LI><B>No door.sys</B> Suppress writing of a door.sys file in the users
|
||
|
home directory. This item is only visible with menu type 7.</LI>
|
||
|
<LI><B>Y2K style</B> Writes the dates in the door.sys file in the new style,
|
||
|
with 4 digit year numbers, else the old 2 digit style is used. This item
|
||
|
is only visible with menu type 7.</LI>
|
||
|
</OL>
|
||
|
<P> <P>
|
||
|
|
||
|
<H3>Final warning.</H3>
|
||
|
<P>
|
||
|
If a submenu is missing, the BBS falls back to the main menu. This menu
|
||
|
must be called "main" (or else set another name in the global
|
||
|
setup) or your BBS won't start and complain. Submenus may be nested 50
|
||
|
levels deep.
|
||
|
<P>
|
||
|
|
||
|
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" BORDER=0 width="33" height="35"> Back</A>
|
||
|
</BLOCKQUOTE>
|
||
|
</BODY>
|
||
|
</HTML>
|