home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / mued102b.zip / muedpm.doc < prev    next >
Text File  |  1995-01-20  |  29KB  |  906 lines

  1.  
  2.  
  3.                      MUEd/PM Professional Version 1.02B
  4.                    A PM User Editor for Maximus(**) v2.xx
  5.  
  6.            Copyright (C) 1994, Craig Morrison, All Rights Reserved.
  7.  
  8.              (**) "Maximus" is a trademark of Lanius Corporation.
  9.  
  10.  
  11.  ----------------
  12.  What is MUEd/PM?
  13.  ----------------
  14.  
  15.   MUEd/PM Pro is a PM based user editor for Maximus v2.xx. It allows you to
  16. edit every aspect of a user record in the easy to use Presentation Manager
  17. environment.
  18.  
  19.  
  20.  ----------
  21.  Legalities
  22.  ----------
  23.  
  24.   MUED/PM HAS BEEN TESTED AND CONTAINS NO GLARING OVERSITES OR BUGS ON THE
  25. AUTHOR'S SYSTEM. THERE IS NO WARRANTY EITHER EXPRESSED OR IMPLIED. USE MUED/PM
  26. *AT YOUR OWN RISK* THE AUTHOR WILL NOT BE HELD RESPONSIBLE FOR ANY DAMAGES
  27. CAUSED, OR ALLEDGEDLY CAUSED FROM THE USE OF MUED/PM.
  28.  
  29.              #################################################
  30.               KEEP AND MAKE REGULAR BACKUPS OF YOUR USER.BBS!
  31.              #################################################
  32.  
  33.   MUEd/PM Professional version 1.02 is not public domain nor is it free
  34. software. If you intend to use MUEd/PM past the 45 day trial period you are
  35. required to register it. AFTER THE 45 DAY EVALUATION PERIOD MUEd/PM WILL NO
  36. LONGER OPERATE WITHOUT REGISTRATION. Please print out the file REGISTER.FRM
  37. from the distribution archive for more information about registration.
  38.  
  39.  
  40.  ----------------------------
  41.  Getting Started With MUEd/PM
  42.  ----------------------------
  43.  
  44.   To start MUEd/PM simply type MUEDPM at an OS/2 command prompt and press
  45. ENTER. The first time the program starts you will be prompted to enter the
  46. location your USER.BBS and AREA.DAT files, as well as the directory that your
  47. Maximus files reside in. Specifically you will be asked for the following:
  48.  
  49.      What you enter                          Field Name
  50.     ------------------------------------------------------------------
  51.     Your Maximus Directory                  Maximus Directory
  52.     Path+filename of your USER.BBS          User File
  53.     Path+filename of your AREA.DAT          File Area Data
  54.     Path+filename of your AREA.DAT          Message Area Data
  55.  
  56.   Once MUEd/PM is up and running you will be presented with a list of your
  57. users. The columns of information shown are self-explanatory.
  58.  
  59.   There are two command line parameters MUEd/PM understands, SETTINGS and
  60. REGISTER. SETTINGS allows you to change the path and file information that you
  61. are asked for the first time you run MUEd/PM. REGISTER allows you to enter your
  62. registration information. NOTE: REGISTER drops you back to either the Workplace
  63. Shell or the command prompt you started from when you are finished entering
  64. your registration information. This was done to make sure that the information
  65. gets recorded correctly.
  66.  
  67.   To bring up the settings dialog when you start MUEd/PM type:
  68.  
  69.         MUEDPM SETTINGS
  70.  
  71.   and press the ENTER key at an OS/2 command prompt.
  72.  
  73.   To enter your registration information type:
  74.  
  75.         MUEDPM REGISTER
  76.  
  77.   and press the ENTER key at an OS/2 command prompt.
  78.  
  79.   If you specify a command line parameter and it isn't REGISTER or SETTINGS
  80. MUEd/PM assumes you want to run a REXX script in batch mode. In this case
  81. MUEd/PM will go through its normal startup sequence and then run the REXX
  82. script. When the REXX script completes MUEd/PM will shut down and return you to
  83. either the command prompt you started it from or the Workplace Shell.
  84.  
  85.   To have MUEd/PM run the REXX script UPGUSER.CMD and then exit, type:
  86.  
  87.         MUEDPM UPGUSER.CMD
  88.  
  89.   and press the ENTER key at an OS/2 command prompt.
  90.  
  91.  -------------
  92.  Using MUEd/PM
  93.  -------------
  94.  
  95.   The pull-down menu at the top of MUEd/PM's window consists of three entries;
  96. File, Users and Help. If you can't figure out how something works, rap on the
  97. F1 key. There is context sensitive help available in most parts of the program.
  98.  
  99.   We'll be going over each of these menus in turn. Refer to the following
  100. figure for the layout of the File menu:
  101.  
  102.     File
  103.         Sort...                 Sort your user file.
  104.         -----------------------
  105.         REXX Macro...           Run a REXX script.
  106.         -----------------------
  107.         Save                    Saves changes to your user file.
  108.         Revert                  Reverts to the last saved user file.
  109.         -----------------------
  110.         Pack & Save             Packs your user file and removes all
  111.                                 entries marked for deletion.
  112.         -----------------------
  113.         Exit                    Shuts down MUEd/PM
  114.  
  115.   File->Sort...
  116.  
  117.   Allows you to physically sort your user file. You are able to specify both a
  118. primary and secondary key, while also choosing to sort in ascending or
  119. descending order. A dialog box will be presented for you to choose the sort
  120. options you wish to use. Initially the secondary key selections will be
  121. disabled, to turn them on, click on the Use Secondary Key check box to check
  122. it. Then you may select a secondary key. The Ascending check box allows you to
  123. choose which direction to sort in, when checked the sort will be in ascending
  124. order. OK performs the sort, Cancel aborts the process.
  125.  
  126.   File->REXX Macro...
  127.  
  128.   Here you will be presented with a standard file open dialog so that you can
  129. choose a REXX script to execute. Please see MUEd/PM REXX Extensions for more
  130. information about the REXX capabilities of MUEd/PM.
  131.  
  132.   File->Save
  133.  
  134.   Records the changes you have made to your user file and makes them permanent.
  135. Once you save your changes you are committed, Revert will not help you. If you
  136. made a mistake you will have to close MUEd/PM and copy the backup file back
  137. over your user file.
  138.  
  139.   File->Revert
  140.  
  141.   Discards any changes made since the last Save, Pack & Save or Append to the
  142. user file. Save, Pack & Save and Append User all make committed changes to the
  143. user file on disk, after performing one of those functions Revert will not
  144. discard those changes.
  145.  
  146.   File->Pack & Save
  147.  
  148.   Packs the user file and saves all changes. Deleted users are purged using
  149. this selection. As mentioned earlier, after a Pack, Revert won't restore the
  150. user file.
  151.  
  152.   File->Exit
  153.  
  154.   Returns you to either Workplace Shell or to the command prompt you started
  155. MUEd/PM from.
  156.  
  157.                        ------------------------------
  158.  
  159.   Next comes the Users menu:
  160.  
  161.     Users
  162.         Find...                 Finds and scrolls a user into view.
  163.         -----------------------
  164.         Edit...                 Lets you edit a user.
  165.         Apply Template...       Applies a user template to the selected
  166.                                 user.
  167.         Append Record           Appends a blank record to the end of the
  168.                                 user file.
  169.         -----------------------
  170.         Toggle DEL Flag         Toggles the DEL flag for the selected
  171.                                 record.
  172.  
  173.   Users->Find...
  174.  
  175.   Prompts you to enter a text string to use as the search criteria. The text
  176. you enter here will be searched for in all the visible fields in MUEd/PM's
  177. window. The first match found will be scrolled into view and high-lighted for
  178. you.
  179.  
  180.   Users->Edit...
  181.  
  182.   Brings up the edit user dialog for the selected user. The edit user dialog
  183. while large and menacing, is actually quite simple to use. For an explanation
  184. of each of the fields, please refer to the context sensitive help available in
  185. the dialog box.
  186.  
  187.   Cancel will discard any changes you have made if you don't want to save them.
  188. Save will record the changes in memory.
  189.  
  190.   Users->Apply Template...
  191.  
  192.   Applies a user template, defined in MUEDPM.TPL, to the selected user record.
  193. Please see the included MUEDPM.TPL or Appendix 1 for more information on what fields you can
  194. define in a template, the file is heavily commented.
  195.  
  196.   Users->Append Record
  197.  
  198.   Appends a blank record to the end of the user file and brings up the edit
  199. user dialog. This selection makes a physical change to the user file stored on
  200. disk and can not be undone without exiting MUEd/PM and copying the backup file
  201. over the user file. Revert can not reverse this action.
  202.  
  203.   Users->Toggle DEL Flag
  204.  
  205.   Toggles the deleted flag for the selected record. Basically this is just a
  206. quick way to mark or unmark a user for deletion without having to open the edit
  207. user dialog.
  208.  
  209.                        ------------------------------
  210.  
  211.   The Help menu should be pretty self-exlpanatory.
  212.  
  213.                        ------------------------------
  214.  
  215.  
  216.  --------------
  217.  The Button Bar
  218.  --------------
  219.  
  220.   The Button Bar at the top of MUEd/PM's window allows you quick access to all
  221. the functions defined on the pull down menus. To see what a button does simply
  222. move the mouse pointer over the button in question. The title bar for MUEd/PM
  223. will change to show you what that button does.
  224.  
  225.   The last 10 buttons on the button bar are for you to use to give you quick
  226. access to your REXX scripts. See the file MUEDPM.RXD or Appendix 2 for an
  227. example of how to define the button functions.
  228.  
  229.  -----------------------
  230.  MUEd/PM REXX Extensions
  231.  -----------------------
  232.  
  233.   MUEd/PM sports an entire suite of extensions to the REXX Procedures language
  234. available as part of OS/2. These extensions allow you full access to all
  235. aspects of your user records.
  236.  
  237.   The REXX commands PULL and SAY are fully supported through the REXX Output
  238. window that is provided. However I must warn you, the output window is rather
  239. primitive, it does not support cursor movement at all. It provides you with a
  240. mechanism to communicate with your REXX scripts in a simple fashion. Standard
  241. Input and Standard Output are redirected to the output window, so applications
  242. that use these mechanisms to communicate with the user will work fine. Standard
  243. Error is redirected to the file REXX.ERR in the directory that MUEd/PM was
  244. started from. The output window consists of three controls. At the top of the
  245. window you will see an entry control that allows you to enter up to 80
  246. characters, right next to the entry control is a button labelled 'SEND'. After
  247. typing text into the entry control clicking on SEND sends the text in the entry
  248. control to Standard Input. Clicking on SEND when the entry control is empty
  249. sends a CR/LF pair to Standard Input. Right below the entry control is a
  250. multiple line entry control that will contain the text coming from Standard
  251. Output.
  252.  
  253.   Last but not least, if you wish to stop a REXX script while it is running
  254. press F3 while the REXX output window has the input focus. After the line in
  255. the script that is currently running completes, OS/2 will halt the script.
  256.  
  257.   Most of the functions require at least one argument passed to them, an index.
  258. The index is ZERO based, the index of the last user will ALWAYS be
  259. MED_QueryUserCount()-1.
  260.  
  261.   When an error occurs all the functions return 'ERROR', on success they either
  262. return the requested information or 'OK'.
  263.  
  264.   The functions (there are a bunch of them):
  265.  
  266.     MED_ClearWindow()
  267.  
  268.         Clears the REXX output window.
  269.  
  270.     MED_QueryUserCount()
  271.  
  272.         Returns the number of user records.
  273.  
  274.     MED_QuerySelectedUser()
  275.  
  276.         Returns the index of the selected user record.
  277.  
  278.     MED_QueryIndex(UserName)
  279.  
  280.         Returns the index of UserName.
  281.  
  282.     MED_QueryName(index)
  283.  
  284.         Returns the name of the user at index.
  285.  
  286.     MED_SetName(index, name)
  287.  
  288.         Sets the user name at index to name.
  289.  
  290.     MED_QueryAlias(index)
  291.  
  292.         Returns the alias of the user at index.
  293.  
  294.     MED_SetAlias(index, alias)
  295.  
  296.         Sets the alias at index to alias.
  297.  
  298.     MED_QueryLocation(index)
  299.  
  300.         Returns the location of the user at index.
  301.  
  302.     MED_SetLocation(index, location)
  303.  
  304.         Sets the location of the user at index to location.
  305.  
  306.     MED_QueryPhone(index)
  307.  
  308.         Returns the phone number of the user at index.
  309.  
  310.     MED_SetPhone(index, phone)
  311.  
  312.         Set the phone number of the user at index to phone.
  313.  
  314.     MED_QueryLastRead(index)
  315.  
  316.         Returns the last read offset of the user at index.
  317.  
  318.     MED_SetLastRead(index, lastreadLong)
  319.  
  320.         Sets the last read offset of the user at index to lastreadLong.
  321.         WARNING, WARNING, DANGER WILL ROBINSON! If you don't know what
  322.         this field represents leave it alone or you will trash the last
  323.         read pointers for the user!
  324.  
  325.     MED_QueryPassword(index)
  326.  
  327.         Returns the password of the user at index.
  328.  
  329.     MED_SetPassword(index, password)
  330.  
  331.         Sets the password of the user at index to password.
  332.  
  333.     MED_QuerySysCalls(index)
  334.  
  335.         Returns the number of system calls of the user at index.
  336.  
  337.     MED_SetSysCalls(index, syscalls)
  338.  
  339.         Sets the number of system calls for the user at index to
  340.         syscalls.
  341.  
  342.     MED_QueryHelpLevel(index)
  343.  
  344.         Returns the help level of the user at index. The return value
  345.         will be one of:
  346.  
  347.             NOVICE
  348.             REGULAR
  349.             EXPERT
  350.             HOTFLASH
  351.  
  352.     MED_SetHelpLevel(index, helplevel)
  353.  
  354.     MED_QueryVideo(index)
  355.  
  356.         Returns the selected video mode of the user at index. The return
  357.         value will be one of:
  358.  
  359.             TTY
  360.             ANSI
  361.             AVATAR
  362.  
  363.     MED_SetVideo(index, video)
  364.  
  365.         Sets the video mode for the user at index to video. video should
  366.         be one of the following:
  367.  
  368.             TTY
  369.             ANSI
  370.             AVATAR
  371.  
  372.         Make sure you use all UPPER CASE letters.
  373.  
  374.     MED_QueryNulls(index)
  375.  
  376.         Returns the number of nulls sent for the user at index.
  377.  
  378.     MED_SetNulls(index, nulls)
  379.  
  380.         Sets the number of nulls for the user at index to nulls.
  381.  
  382.     MED_QueryBits(index)
  383.  
  384.         Returns the bit flags of the user at index. The return value
  385.         will be one or more of the following separated by commas:
  386.  
  387.             HOTKEYS
  388.             NOCHAT
  389.             FSR
  390.             NERD
  391.             NOULIST
  392.             TABS
  393.  
  394.     MED_SetBits(index, bits)
  395.  
  396.         Sets the bits flags for the user at index to bits. bits should
  397.         contain one or more of the following separated by commas:
  398.  
  399.             HOTKEYS
  400.             NOCHAT
  401.             FSR
  402.             NERD
  403.             NOULIST
  404.             TABS
  405.  
  406.         Make sure you use all UPPER CASE letters.
  407.  
  408.     MED_QueryBits2(index)
  409.  
  410.         Returns the bits2 flags for the user at index. The return value
  411.         will be one or more of the following separated by commas:
  412.  
  413.             BADLOGON
  414.             IBMCHARS
  415.             BORED
  416.             MORE
  417.             USEDMAX
  418.             CLS
  419.  
  420.     MED_SetBits2(index, bits2)
  421.  
  422.         Sets the bits2 flags for the user at index to bits. bits2 should
  423.         contain one or more of the following separated by commas:
  424.  
  425.             BADLOGON
  426.             IBMCHARS
  427.             BORED
  428.             MORE
  429.             USEDMAX
  430.             CLS
  431.  
  432.         Make sure you use all UPPER CASE letters.
  433.  
  434.     MED_QueryPriviledge(index)
  435.  
  436.         Returns the priviledge level of the user at index. The return
  437.         value will be one of the following:
  438.  
  439.             TWIT
  440.             DISGRACE
  441.             LIMITED
  442.             NORMAL
  443.             WORTHY
  444.             PRIVIL
  445.             FAVORED
  446.             EXTRA
  447.             CLERK
  448.             ASSTSYSOP
  449.             SYSOP
  450.             HIDDEN
  451.  
  452.     MED_SetPriviledge(index, priv)
  453.  
  454.         Sets the priviledge level of the user at index to priv. priv
  455.         should be one of the follwing in all UPPER CASE letters:
  456.  
  457.             TWIT
  458.             DISGRACE
  459.             LIMITED
  460.             NORMAL
  461.             WORTHY
  462.             PRIVIL
  463.             FAVORED
  464.             EXTRA
  465.             CLERK
  466.             ASSTSYSOP
  467.             SYSOP
  468.             HIDDEN
  469.  
  470.     MED_QueryTimeToday(index)
  471.  
  472.         Returns the time online for the day of the users last call.
  473.  
  474.     MED_SetTimeToday(index, time)
  475.  
  476.         Sets the time online for the day of the user at index to time.
  477.  
  478.     MED_QueryFlags(index)
  479.  
  480.         Returns the flag settings for the user at index. The return
  481.         value will be one or more of the following separated by commas:
  482.  
  483.             DEL
  484.             PERM
  485.  
  486.     MED_SetFlags(index, flags)
  487.  
  488.         Sets the flags of the user at index to flags. flags should be
  489.         one or more of the following in all UPPER CASE letters:
  490.  
  491.             DEL
  492.             PERM
  493.  
  494.     MED_QueryScreen(index)
  495.  
  496.         Returns the width and length the user at index has selected. The
  497.         return value will be a string formatted as "xx, yy", where xx is
  498.         the width and yy is the length. Example:
  499.  
  500.             80, 24
  501.  
  502.     MED_SetScreen(index, width, len)
  503.  
  504.         Sets the screen size of the user at index to width, len.
  505.  
  506.     MED_QueryCredit(index)
  507.  
  508.         Returns the matrix netmail credits of the user at index.
  509.  
  510.     MED_SetCredit(index, credits)
  511.  
  512.         Sets the netmail credits of the user at index to credits.
  513.  
  514.     MED_QueryDebit(index)
  515.  
  516.         Returns the matrix netmail debits of the user at index.
  517.  
  518.     MED_SetDebit(index, debits)
  519.  
  520.         Sets the netmail debits of the user at index to debits.
  521.  
  522.     MED_QueryExpiryInfo(index)
  523.  
  524.         Returns the expiration information for the user at index.
  525.         The string returned will vary depending the Expiry options set
  526.         for the user. It is in the form of:
  527.  
  528.             <xtype>,<xtime>,<xaction>,<xpriv>
  529.  
  530.         Examples of the most common returns are:
  531.  
  532.             DAYS,<days_left_to_expiry>,NONE
  533.             DAYS,<days_left_to_expiry>,AXE
  534.             DAYS,<days_left_to_expiry>,DEMOTE,<priv_level>
  535.             MINUTES,<mins_left_to_expiry>,NONE
  536.             MINUTES,<mins_left_to_expiry>,AXE
  537.             MINUTES,<mins_left_to_expiry>,DEMOTE,<priv_level>
  538.             NONE,NONE
  539.  
  540.         This string should ALWAYS be parsed from left to right.
  541.  
  542.     MED_SetExpiryInfo(index, xtype, xtime, xaction, xpriv)
  543.  
  544.         Sets the expiry information fields of the user at index based on
  545.         xtype, xtime, xaction and xpriv. All arguments must be present
  546.         even if they are not needed for the type of expiry you want to
  547.         set with this function.
  548.  
  549.         xtype can be ONE of the following:
  550.  
  551.             DAYS
  552.             MINUTES
  553.             NONE
  554.  
  555.         xtime depends on xtype. See the table below:
  556.  
  557.             xtype               xtime Setting
  558.             ------------------  ------------------------------
  559.             DAYS                Days to expiry.
  560.             MINUTES             Minutes to expiry.
  561.             NONE                Ignored but MUST be present.
  562.  
  563.         xaction can be ONE of the following:
  564.  
  565.             AXE
  566.             DEMOTE
  567.             NONE
  568.  
  569.         xpriv should be set to a valid priviledge level if xaction is
  570.         set to DEMOTE, for AXE and NONE it doesn't have to contain
  571.         anything useful but it must STILL be present.
  572.  
  573.         xpriv values can be one of the following in all UPPER CASE
  574.         letters:
  575.  
  576.             TWIT
  577.             DISGRACE
  578.             LIMITED
  579.             NORMAL
  580.             WORTHY
  581.             PRIVIL
  582.             FAVORED
  583.             EXTRA
  584.             CLERK
  585.             ASSTSYSOP
  586.             SYSOP
  587.             HIDDEN
  588.  
  589.     MED_QueryLastCallDate(index)
  590.  
  591.         Returns the Last Call Date and Time for the user at index. The
  592.         string will be formatted as "MM-DD-YYYY HH:MM:SS".
  593.  
  594.         E.G:    10-25-1994 12:13:30
  595.  
  596.     MED_SetLastCallDate(index, year, month, date, hours, minutes, seconds)
  597.  
  598.         Sets the last call date and time of the user at index based on
  599.         the passed parameters. year must be a valid 4 digit number
  600.         greater than or equal to 1980.
  601.  
  602.     MED_QueryKeys(index)
  603.  
  604.         Returns the key settings for the user at index. The return value
  605.         will be a string containing all the keys set for the user. If
  606.         the user had all the keys set the return value would be:
  607.  
  608.             12345678ABCDEFGHIJKLMNOPQRSTUVWX
  609.  
  610.     MED_SetKeys(index, keys)
  611.  
  612.         Sets the keys of the user at index to keys. keys should be a
  613.         string containing ALL the keys you want set for the user.
  614.         Alphabetic characters (a, b, c, etc..) should be UPPER CASE. You
  615.         MUST specify ALL the keys you want set for the user, any keys
  616.         set before this function is called are cleared before 'keys' is
  617.         applied to the user.
  618.  
  619.     MED_QueryLanguage(index)
  620.  
  621.         Returns the index of the current language for the user at index.
  622.  
  623.     MED_SetLanguage(index, languagenumber)
  624.  
  625.         Sets the language index of the user at index to languagenumber.
  626.  
  627.     MED_QueryProtocol(index)
  628.  
  629.         Returns the index of the default protocol for the user at index.
  630.  
  631.     MED_SetProtocol(index, protocolnumber)
  632.  
  633.         Set the protocol index for the user at index to protocolnumber.
  634.  
  635.     MED_QueryUploads(index)
  636.  
  637.         Returns the KB total of uploads from the user at index.
  638.  
  639.     MED_SetUploads(index, uploads)
  640.  
  641.         Sets the upload KB total of the user at index to uploads.
  642.  
  643.     MED_QueryDownloads(index)
  644.  
  645.         Returns the KB total of downloads to the user at index.
  646.  
  647.     MED_SetDownloads(index, downloads)
  648.  
  649.         Set the download KB total of the user at index to downloads.
  650.  
  651.     MED_QueryDownloadsToday(index)
  652.  
  653.         Returns the KB total of downloads to the user at index for the
  654.         day of their last call.
  655.  
  656.     MED_SetDownloadsToday(index, downloads)
  657.  
  658.         Sets the KB total of downloads for the day for the user at index
  659.         to downloads.
  660.  
  661.     MED_QueryLastMsgArea(index)
  662.  
  663.         Returns the name of the last message area for the user at index.
  664.  
  665.     MED_SetLastMsgArea(index, msgarea)
  666.  
  667.         Sets the last message are for the user at index to msgarea.
  668.  
  669.     MED_QueryLastFileArea(index)
  670.  
  671.         Returns the name of the last file area for the user at index.
  672.  
  673.     MED_SetLastFileArea(index, filearea)
  674.  
  675.         Sets the last file area for the user at index to filearea.
  676.  
  677.     MED_QueryCompressor(index)
  678.  
  679.         Returns the index of the default archiver for the user at index.
  680.  
  681.     MED_SetCompressor(index, compressornumber)
  682.  
  683.         Sets the compressor index of the user at index to
  684.         compressornumber.
  685.  
  686.     MED_QueryExtra(index)
  687.  
  688.         Returns the value of the extra field for the user at index.
  689.  
  690.     MED_SetExtra(index, extra)
  691.  
  692.         Sets the extra value of the user at index to extra.
  693.  
  694.     MED_ApplyTemplate(index, template)
  695.  
  696.         Applies the user template, template, to the user at index.
  697.         template should be the name of a template in MUEDPM.TPL (make
  698.         sure you include the [] characters in template.)
  699.  
  700.     MED_SortUsers(direction, primarykey [, secondarykey] )
  701.  
  702.         Sorts the users in direction order based on primarykey, and
  703.         secondarykey if present.
  704.  
  705.         The values for direction are; ASCENDING or DESCENDING.
  706.  
  707.         The values for primarykey and secondarykey are:
  708.  
  709.             NAME
  710.             ALIAS
  711.             PRIVILEDGE
  712.             PHONE
  713.             LOCATION
  714.             CALLS
  715.             CALLDATE
  716.  
  717.     MED_SaveUsers()
  718.  
  719.         Write changes made to the users to disk.
  720.  
  721.     MED_PackUsers()
  722.  
  723.         Packs the user file and cleans up the last read pointers.
  724.  
  725.  
  726.  ------------------
  727.  Wrapping It All Up
  728.  ------------------
  729.  
  730.   That is pretty much the A-Z of it. MUEd/PM errs on the side of caution, a
  731. single generation back up is made of your USER.BBS so you can recover it. If
  732. MUEd/PM even sniffs a hint of trouble it balks and leaves your USER.BBS alone.
  733. When it wouldn't be prudent to perform an operation when Maximus is active with
  734. a caller online, MUEd/PM will alert you and tell you that it can't perform the
  735. function. In these instances you have no choice but to wait until the caller
  736. hangs up and Maximus recycles.
  737.  
  738.   If you should need any assistance with MUEd/PM I can be contacted at:
  739.  
  740.     Fidonet:        1:201/60
  741.     Internet:       cam@wpc.cioe.com
  742.     BBS:            1-317-742-2680
  743.     Snail-mail:     Craig Morrison
  744.                     1316 Ferry St.
  745.                     Lafayette, IN 47901-1533
  746.  
  747.   I hope you find MUEd/PM of some use, have fun with it!
  748.  
  749.  
  750.  -------------------------------------------------------------
  751.  Appendix 1, MUEDPM.TPL - Sample user template definition file
  752.  -------------------------------------------------------------
  753.  
  754. ------------------------------------------------------------------------------
  755. ;
  756. ; MUEDPM.TPL
  757. ;
  758. ; This is an example User Templates file for MUEd/PM Pro. Astute readers will
  759. ; notice the striking similarity to the Windows Initialization file format that
  760. ; this file follows. This was done on purpose so that you could use any text
  761. ; based editor to modify it.
  762. ;
  763. ; Each section starts with a tag enclosed with [] characters, this is the name
  764. ; of the template that comes up in MUEd/PM when you select Edit -> Apply User
  765. ; Template. Each section is then made up of Key/Key Value pairs.
  766. ;
  767. ; Key/Key Value pairs are:
  768. ;
  769. ;   PrivLevel
  770. ;
  771. ;       TWIT
  772. ;       DISGRACE
  773. ;       LIMITED
  774. ;       NORMAL
  775. ;       WORTHY
  776. ;       PRIVIL
  777. ;       FAVORED
  778. ;       EXTRA
  779. ;       CLERK
  780. ;       ASSTSYSOP
  781. ;       SYSOP
  782. ;       HIDDEN
  783. ;
  784. ;   Credit
  785. ;
  786. ;       Number of Matrix Netmail Credits to give to user when applied.
  787. ;
  788. ;   ExpiryType
  789. ;
  790. ;       NONE
  791. ;       DAYS
  792. ;       MINUTES
  793. ;
  794. ;   ExpiryTime
  795. ;
  796. ;       Depending on ExpiryType this is either the number of minutes
  797. ;       to expiration or the number of days.
  798. ;
  799. ;   ExpiryAction
  800. ;
  801. ;       NONE
  802. ;       AXE
  803. ;       DEMOTE
  804. ;
  805. ;   ExpiryPriv
  806. ;
  807. ;       If ExpiryAction is set to DEMOTE, this is the level to demote
  808. ;       to.
  809. ;
  810. ;       TWIT
  811. ;       DISGRACE
  812. ;       LIMITED
  813. ;       NORMAL
  814. ;       WORTHY
  815. ;       PRIVIL
  816. ;       FAVORED
  817. ;       EXTRA
  818. ;       CLERK
  819. ;       ASSTSYSOP
  820. ;       SYSOP
  821. ;       HIDDEN
  822. ;
  823. ;   Keys
  824. ;
  825. ;       One or more of:     12345678ABCDEFGHIJKLMNOPQRSTUVWX
  826. ;
  827. ;       These are set _IN ADDITION TO_ those keys already set.
  828. ;
  829. ; If you don't want a particular aspect set for a user, don't include that
  830. ; Key/Key Value pair in the template definition.
  831. ;
  832. ; If ExpiryType = NONE, ExpiryAction, ExpiryTime and ExpiryPriv are ignored.
  833. ; If ExpiryType = DAYS or MINUTES, ExpiryTime is REQUIRED.
  834. ; If ExpiryAction = DEMOTE, ExpiryPriv is REQUIRED.
  835. ;
  836. ; You can have as many as you want, subject to the limitations of the List Box
  837. ; control. The total memory consumed by all the tags must not exceed 65355
  838. ; bytes.
  839. ;
  840. ; Each line of the file should be no longer than 126 bytes.
  841. ;
  842.  
  843. [First Upgrade]
  844. PrivLevel=LIMITED
  845. Credit=65535
  846. ExpiryType=NONE
  847.  
  848. [Subscriber]
  849. PrivLevel=EXTRA
  850. Credit=65535
  851. ExpiryType=DAYS
  852. ExpiryTime=180
  853. ExpiryAction=DEMOTE
  854. ExpiryPriv=NORMAL
  855. Keys=R
  856.  
  857. [Friend]
  858. PrivLevel=EXTRA
  859. Credit=65535
  860. ExpiryType=NONE
  861. Keys=1R
  862. ------------------------------------------------------------------------------
  863.  
  864.  ---------------------------------------------------------
  865.  Appendix 2, MUEDPM.RXD - Sample button configuration file
  866.  ---------------------------------------------------------
  867.  
  868. ------------------------------------------------------------------------------
  869. ;
  870. ; This is a sample REXX button configuration file for MUEd/PM.
  871. ;
  872. ; Comments may be inserted into the file by starting a line with a ;
  873. ; character. It MUST be the FIRST character on the line.
  874. ;
  875. ; The format of each non-comment line in this file is:
  876. ;
  877. ;   FILENAME.CMD *BITMAP.BMP Button Description Text
  878. ;
  879. ; FILENAME.CMD
  880. ;   The name of the REXX script to attach to this button.
  881. ;
  882. ; *BITMAP.BMP
  883. ;   The name of a 16 x 16 bitmap file. The filename MUST begin with a `*'
  884. ;   character so MUEd/PM knows that it should load the bitmap. If you don't
  885. ;   specify a bitmap, MUEd/PM will provide a default bitmap for you. Both OS/2
  886. ;   format bitmap (old and new flavors) files and Windows format bitmap files
  887. ;   can be used. You will get the best results with 16 x 16, 16 color bitmaps.
  888. ;   The Icon Editor that comes with OS/2 can be used to create them, as long as
  889. ;   the file is saved in bitmap form. If you hear a beep when MUEd/PM is
  890. ;   loading, there was an error trying to load one or more of the bitmaps you
  891. ;   specified.
  892. ;
  893. ; Button Description Text
  894. ;   The text you want to appear in MUEd/PM's title bar when you move the
  895. ;   mouse pointer over the button.
  896. ;
  897. ; Lines should be no more than 512 characters long, and the descriptions should
  898. ; be limited to 80 characters or less. Since there are only 10 user buttons,
  899. ; you can only have 10 definitions in this file.
  900. ;
  901. USERLIST.CMD *ulist.bmp User List
  902. EXPINFO.CMD  User Expiry Information List
  903. PRNUSERS.CMD Print a Simple User List
  904. UPGUSER.CMD  Upgrade Limited to Normal
  905. ------------------------------------------------------------------------------
  906.