

/////////////////////////////////////////////////////////////////////////
//                                                                     //
//             M  .  u  .  d  .  d  .  l  .  e  .  s   ! !             //
//                                                                     //
/////////////////////////////////////////////////////////////////////////



'Muddles' is the Metro Userlog & Download Directory List Examining System


                             By Peter Deane


                     Written in GFA-BASIC - V3.51E


                        Version 4.3 - 14-Nov-94


                    Manual $VER: 2.01 (25-Nov-94)  


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                                History

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Muddles  started  as the "Metro Upload/Download Directory List Examining
System"  and  was an alternative to the Sysop Maintenance section of the
Metro  BBS program.  The old Metro file operations were fine - except if
you  had to work on more than about 3 or 4 files!  Muddles came about to
provide some power for manipulations of MULTIPLE files.

It  first  hit  the streets in mid-1991 as a crippleware version, but by
the  end of the year, a shareware version was released with all features
enabled.  I've been adding features to Muddles as required (and in fact,
removing  a  few  functions  no longer needed).  It's grown to be pretty
powerful over the years, and something I've been using frequently.

Currently, Muddles is the SOLE sysop maintenance program for the OzMetro
BBS  package.  It contains all the necessary file and userlog operations
to  run your BBS, in a convenient point-and-click/menu selection manner.
Hence  the  name  change  to  "Userlog  and Download List" - the acronym
remains the same, only the words used needed changing!

I  plan a Sysop Door for the OzMetro BBS shortly, BTW, with standard DOS
commands and BBS maintenance available, but for now, remote sysop access
isn't  possible,  all the behind-the-scenes work has to be done from the
host machine itself.

This  is  a  distinct security ADVANTAGE, incidentally - a remote caller
cannot  do  anything  other than write messages, transfer files and play
games,  even  if  they  are  the world's most ingenious hacker!  There's
nothing  to  hack into (at the moment).  I imagine the Sysop Maintenance
door will be available around early December, keep watching for it :-)

So, as part of the first OzMetro distribution archive, here is your copy
of Muddles!  Use it wisely :-)

Note:   most  of  these  docs were originally written in 1991, and often
refer  to  the  way  the  OLD  Metro program does things.  I've tried to
upgrade  them  to  be  correct for the new OzMetro program, but may have
missed  a  few  points.   Please make allowances for this when using the
program.

[Any  comment  made in retrospect in this revision will be put in square
brackets,  like  this.   My  observation that we may not be using Amigas
come 1999 just might prove to be false!  Let's hope so, anyway!]


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                                 Setup

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Copy  the files 'Muddles', 'Muddles.info' into the same directory.  This
help  file is optional.  If you are a CLI man, then the icon is optional
as  well  -  just  type  "Run  Muddles"  from the shell to launch it.  I
haven't used the icon in years!

This  file  ('Muddles.help')  should  be  copied  to your BBS:Textfiles1
directory,  although  since  a  file  requester  is loaded when the Help
feature  is  invoked,  it  can  be  elsewhere.   It's just that the file
requester  will  default  to  looking for a file TEXTFILES1/Muddles.help
when  you  choose  the  "Help"  option.   You  can,  however change this
filename from the file requester.

Muddles knows where everything is by reading your Metro.cfg, so there is
no need for you to do anything else.

Muddles  uses  a few other programs, which all must be in either your c:
directory,  the  current  directory or any other directory in the search
path  that  Muddles was launched from.  Fortunately, OzMetro itself also
uses them, so it probably won't involve you in additional work.

These programs are called at various stages:

        Copy
        Protect
        PkaX
        Booz
        LhA
        UnArj
        UnZip

        A Text Editor

The COPY and PROTECT are mandatory.  I don't think the program would get
too far without them.

The  archivers  are used for listing archive contents simply to give you
more  information  as  to whether to keep the file or not, and so may do
without them, particularly if your BBS, like mine, is almost exclusively
'.lha'.   All  you'd  really  then need then is a copy of LhA in your c:
directory,  which  I  think  is  a  pre-requisite of being sysop anyway.
These  archivers  (with  the exception of LhA of course) are included in
the  OzMetro distribution archive, so you shouldn't have to look far for
them.

Muddles now can also spawn your favourite text editor without you having
to type its name (like before).  The default name of the editor is "ED",
however  if  you  are  using  something  different,  add  a line to your
s:Metro.cfg file which reads something like:

        EDITOR AZ

or maybe:

        EDITOR wb:Editors/GEd



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                          Starting the program

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MUDDLES  runs  more  comfortably  with a stack size of 10,000 bytes.  It
will NOT work real well with the default stack of 4,000 bytes.  The only
symptom  of  this  is  it will guru.  So make sure you set your stack up
from the default before you run it.

By  the  way,  running the program from the CLI/Shell will make for much
faster operation.  This is because if run from the workbench, every time
a  DOS  command  is  executed,  GFA  will  open  a  small window on your
workbench  screen in preparation for any possible output (eg command has
failed) from that DOS command.  If run from the CLI it won't need to, as
any  message  will  go  to the window you started Muddles from.  You can
really  see  this when you use the 'PROTECT FILES' feature.  Run it from
workbench,  flip  Muddles's screen to the back and watch what's going on
while  each  file  is protected.  A window is opened and closed for each
file.   

[PS:   I gotta fix this, and soon, by not using the DOS protect command,
but I NEVER run this from workbench, anyway...]


CLI/Shell:

Type 'Stack 10000'

Then it's just a matter of 'run Muddles'


WorkBench:

Double-click on the supplied icon.  The icon will set the stack to 20000
for you itself.

By  the way, I setup enough stack space for Metro in my startup-sequence
(20,000  bytes),  so the STACK command may not be needed on your system.
Simply typing 'stack' will report how much has been reserved.

************************************************************************
*   DO NOT RUN THIS AT THE SAME TIME THE BBS HAS A CALLER LOGGED IN!   *
************************************************************************

If  the user tries to list files from Metro, and you are using the files
from  Muddles,  then you will almost certainly induce a file conflict at
some  stage.   You  can  run  the  program  when the BBS is idle, but if
someone logs in, stop all file operations (eg Browse, File Lengths, etc)
immediately  and  try  to  quit before they get to the files menu on the
BBS!!   Best  to  just take the BBS off-hook when using Muddles and then
you'll never be in this precarious situation.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                              General Tips

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I  have tried to amiga-tise the program as far as possible, although you
will  definitely  see  the influence of door-writing in this program for
the  text-based  I/O.   However,  there are pull-down menus with hotkeys
(RightAmiga-Key style) and the program is interrupt driven from the main
menu.

The  program makes use of three features built into GFA BASIC, the Alert
Box,  the  FORM  INPUT  and the File Selector.  If you haven't used them
before, take the time to gain some familiarity with them now:


File Selector:
--------------

The  File  Selector  box  is a little bit primitive, but I'm sure you'll
come  to  terms  with  it.  Don't forget that you can enter in any valid
path  or  filename  to  the file-requester with the keyboard - you don't
HAVE to select the file with the mouse unless you want to.

If  you  are going to be entering a directory name at ANY time, you need
to add a trailing slash (or colon) at the end

The  file selector box is usually called with a default pathname already
in place, which will often be just the right one.

The  box  sorts  the  filename list according to CASE as well, so that a
listing  like  the  following  IS  in  alphabetical order as far as it's
concerned:


MAinSuff
MUDDLES
Metro
Yackety-yak
ZZZInquestor.pad
muddles.doc
myfile


'm' (lowercase) is after 'Z' (uppercase) in the ASCII chart, it seems.

I  can call the file selector box with 1 line of code, so I hope you can
understand WHY I'm using it.



Alert Gadget:
-------------
The  Alert  box  is  a  simple  gadget  requester (with up to 3 possible
choices),  and  has  a  default gadget highlighted.  IF you simply press
<Return>  when  the alert box is displayed, the default will be selected
without  you  having  to  leave  the  keyboard.  I think I have sensibly
chosen  the  default  answers  for you, so make use of this feature.  It
saves  a  lot  of  time  having  to  grab the mouse if you are typing in
details anyway.

If  you  wish  to select the non-default, you HAVE to use the mouse.  If
you  wish to select the default answer you MAY use the mouse, it's up to
you.

As  a tip, if you are consistently using one non-default option from the
Alerts (say to NOT add a listing to the area) you can position the mouse
over the area you are selecting a lot, and press the Left-Alt Left-Amiga
buttons.   This  will  click in the right spot for you without having to
move your hands away from the keyboard.


Form Input:
-----------
I  also  use  a  command called 'FORM INPUT xx% AS yy$'.  This is mainly
used  in the Browse section when you Edit a file.  The advantage of this
is  I can print up the old contents of whatever you're going to edit and
accept  editing of the buffer rather than gettting you to type it all in
again.   You'll notice the cursor positioned at the left side of the old
string.   You  can use the left and right arrow keys to move the cursor,
and  Shift-Left/Shift-Right will position it to as far to one side as it
will  go.  You can use backspace to delete characters to the left of the
cursor, and the delete key to remove characters to the right.

You  can  also use the up and down arrows to get to the far left and far
right  of the text - pressing the Escape key clears whatever text may be
there completely.

On  another  note, the form input will only accept as many characters as
we have room for in the field.  So, for instance, if you are editing the
date  (which  has a 10-character slot) you'll find it more convenient to
scrub  out  what's  already there before entering new stuff.  You'll get
the hang of it, I'm sure!


Backups:
--------
When  Muddles  does  a  major  operation  on a file area, OR you use the
backup a file operation, the DOS 'copy' command is used to copy the file
to  filename.bak, just in case something goes wrong and you want to undo
what Muddles just did.

(This  save  me  having  to  use  the kernel AllocMem(), Open(), Read(),
Write(),  Close()  and  FreeMem()  functions  - I can do that, but I'm a
little  bit lazy considering there's almost certainly going to be a copy
command hanging around on the drive!).

So I just execute the DOS command COPY "filename" TO "filename.bak" from
the  program.  The only problem with this is if you have a filename with
a  wildcard  in  it, the DOS copy command will fail.  AmigaDOS wildcards
are  '?', '%' and '#'.  So if you have a file area with those keypresses
(eg '% - Misc Files') you will not be able to back it up from Muddles.

The  program  still  works  fine, of course, but if you notice a warning
"Cannot  Rename  to a Pattern" coming up in the CLI you ran Muddles from
(or  if  running  it from workbench, the window that GFA opens for you),
then you'll know what the problem is.

It  will only mean you don't get a backup file, so don't panic.  Muddles
is  pretty  good, and you'll still have your new file area intact.  It's
just  that  you  have  to be careful to not make an error and wipe out a
file area, or something, while using Muddles :-|

If  you  are  going  to be a heavy user of this program, I might suggest
that  if  you  are using the keypresses '%', '#' or '?' for a file area,
you go and edit UDFILES/file.areas to change the keypresses to something
else.  This way you'll ALWAYS get a backup before Muddles goes about its
business.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                           Menu Descriptions

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                              ------------
                              PROJECT MENU
                              ------------

------------------------------------------------------------------------
                              Browse Area 
------------------------------------------------------------------------

The  'Browse  An  Area'  is  Muddles's  most powerful option, and really
allows you to clean up your file listings in a workable way.

After  asking  you  which  file area to examine, Muddles will go through
your  file  area  one file at a time (similar to Metro's Browse option).
Note  that you must enter the starting number yourself - <Return> is NOT
good enough, you must enter '1' (or another number).

There are two filescans done per browse.  Once is the first browse where
you  can  mark  a  number of files for later consideration.  Nothing you
choose here is permanent or destructive, except the Edit feature.

Note that if you are using the Edit feature ONLY, it is NOT necessary to
proceed with the second scan.

The  second  scan  is where the files you have marked are presented, and
then you have the option of killing them from either or both the listing
and  the  drive  (& copying it elsewhere if you elect to remove the file
from the drive).  You can also chicken out and do nothing to the file if
you have accidentally marked it in the first scan.

The  first thing that happens after you have selected an area is the old
'FileList_X'  file  is  backed  up.   Should  you  ever wish to un-do an
operation,  all  you have to do is delete the newly created 'FileList_X'
file,  and  rename 'FileList_X.bak' back to 'FileList_X'.  I NEVER clean
up  the  '.bak' files from the UDFILES directory with this program.  You
may  do  so  later  yourself  either  using Muddles's delete function, a
directory utility or from the CLI.

From the CLI a suitable command would be:

                     DELETE "BBS:UDFILES/FileList_?.BAK"


First Scan:
~~~~~~~~~~~

The  files in the area will be listed with complete details.  After each
file you have these options:


   [N]ext - [P]rev - [J]ump - [K]ill - [L]ist - [E]dit - [Q]uit


  Next, Previous & Jump
  ---------------------
For  moving  around  in the area.  Jump will jump you to any file number
you  type in.  If you attempt to move beyond the bounds of an area, that
will  terminate  the  browse  and  you will be asked whether you want to
process  the  marked  files.   If  you  HAVE marked some files, and have
accidentally jumped beyond the area, then you will probably then have to
resign  yourself  to a partial process of the area, because if you don't
process it now, you'll have to go back and mark them all again!


  Kill
  ----
This  doesn't  do  anything  for  the moment, so use it with confidence.
What  it  does  is  flag this file number for later consideration in the
second file scan.  It's better to tag it now if you MIGHT kill it rather
than  have  to go through the area again later.  The system is flexible,
however,  so  it's  no  drama scanning an area twice to make sure you do
clean it up correctly.

If  you  select  Kill  on a file that is already marked for deletion, it
will toggle the kill flag back to off.


  List
  ----
This  will  list  the contents of a ZIP ARJ ARC ZOO LZH LHA file, so you
can  get a little more idea of what's in it.  Also if the file is #?.DOC
#?.TXT  #?.LST or #?.ADS the file itself will be displayed.  Support for
more archivers, or possibly the automatic EXTRACTION of files are things
I'm considering for later versions.

Naturally,  you'll  need  the  relevant program in your c:  directory to
list  the  file.   If the archivers aren't there, I'd say it will merely
trigger a "file not found" error, and you'll continue on.


  Edit
  ----
Allows you to change any of the file details then and there.

You have these options:

Edit: Filename Bytes dAte Uploader Path Index Desc'n Save Cancel

(Sorry about the dAte - its keypress is 'A'.  'D' was being used to edit
the  Description,  which  I  think  will  be  a  more frequently invoked
feature.)

You  can  then  edit  any  of  the  fields then and there.  When you are
finished,  select  Save, and the details as displayed on the screen will
be  written  to  disk immediately.  (There is no need for you to process
the area if all you are doing is editing items from the fields).

If  you  select  cancel, ALL the changes you have made will be cancelled
(the actual record is read back from the disk), and you'll be back where
you started from.

If  you  chose to edit the wrong field, just press return, and by virtue
of the FORM INPUT, the exisiting value will be re-set to whatever it was
before.

Please  be  careful  to correctly enter the date if you are editing this
field,  as  I  do  no  checking on what you input.  (This field is NOT a
major  one,  it's only for the users' information, so it won't cause any
problems, it will just look bad if you use the date conversion functions
on  it!   In  fact, you can enter any 10 character string in this field.
All of my file listings entries, for instance, say 'Today', because they
ARE  updated  in every midnight event.  I also have the index figure set
to about 9,999 so they will come up on everyone's new file searches).


  Quit
  ----
This  is  functionally identical to jumping beyond a file area's bounds.
It  breaks  you  out of the first scan and asks if you want to enter the
second stage....


Second Scan:
~~~~~~~~~~~~

You  are firstly asked whether you want to process the marked files.  If
you  haven't  marked any, or want to back out, then simply click on 'No'
and you'll be returned to the main loop.  Assuming you have told Muddles
to  proceed,  then  the  file area is 'processed' a file at a time.  Any
file  you  haven't  tagged  will be written out as it appears in the old
list.   However,  when  we hit a file that has been marked for kill, the
file details are printed up and you will have these options:


        Kill file from: [L]isting - [D]rive - [B]oth - [N]either


  Listing
  -------
Removes that file's entry in the 'FileList_X' file.

  Drive
  -----
Will  firstly  ask you if you want the file copied elsewhere.  I imagine
the main use would be to drop the old files on to a floppy or something.
If  you  answer  yes  you  will  be  prompted  for  the  pathname of the
destination.   If  you  specify  a directory destination, that directory
MUST  exist  (and I check for this like crazy - this part is very safe -
we don't want to lose files unintentionally).

You'll probably be answering DF0:  or similar in answer to the question,
however  if  you  wish to move the files to a hard drive partition, this
would  be handy as it's pretty slow writing to floppies.  You could then
move  them  from  that  directory  on to floppies later with a directory
utility or CLI command.

Muddles will now NOT let you copy to a device which doesn't have room to
hold  the  file.   It  will  also  report  how much free space is on the
destination  drive  before  you attempt to copy the file over.  However,
it's  up  to  you  to  answer  'NO'  to the FINAL confirmation of delete
question that will then come up.


After  the file has been copied, or you said you didn't want to copy the
file  elsewhere,  Muddles  will  prompt  you  for  a confirmation of the
delete.  This is your FINAL chance to back out (you've already had about
3  or  4 chances!).  Even if the file is delete protected, it will still
be  deleted from the drive, so be sure you don't blindly answer 'YES' to
this one!


  Both
  ----
Simply does both of the above functions.


  Neither
  -------
Forgets  about all operations on this file and enters the details to the
new files list.


At  the  end of the second scan, the file listing is renamed and you are
returned to the main menu.

You   will   have  a  backup  file  remaining  after  the  second  scan:
'FileList_X.BAK'  (where  X  is  the  keypress of the file area you just
scanned).   If  you  wish  to  undo  the operation, don't forget you can
restore  the .BAK files to their original names with Muddles, the CLI or
a Directory Utility.


------------------------------------------------------------------------
                               Add a File
------------------------------------------------------------------------

This will allow you to add one file to a file list.  If the file doesn't
exist in the correct directory, Muddles will still let you add it to the
files  listing.   (You  can  then copy it over later or edit the listing
entry, etc to enable BBS access to the file).

If  the file is not on the drive, then you will need to tell Muddles the
file length.  (It guesses 16k if you leave this information out).

The  file  description  allows  upper/lowercase.   The  description will
automatically be truncated to the first 76 characters only!

The  DEFAULT  description  for  a file is 'Added by Muddles' if you just
press return here.  You can always edit it later if you like.  Press the
Escape  key to clear the 'Added by Muddles' text, if you want to type in
your own description.


------------------------------------------------------------------------
                              Set Lengths
------------------------------------------------------------------------

This  is  a  VERY  useful  function if you have altered the files on the
drive  (say  by removing a few files from the archives, or maybe putting
up a new version, but maintaining the same filename).

I  mainly  use  this  for  my  file listings, which are generated in the
midnight  event, and have listings in the file areas enabling them to be
downloaded.   They  are  never  the same length, but the filesize in the
listing is probably a bit out.

This  feature  goes through one or all file areas, examines each file in
the list, and then checks to see how long the file actually is.  It then
'touches'  the  file  size  in  the  file  listing, making it completely
accurate.


------------------------------------------------------------------------
                               File List
------------------------------------------------------------------------

I  was  originally  thinking  that the Browse function covered this, but
decided  to add this as yet another feature.  This is basically the same
as Metro's Forward List command.  You enter the starting number, and the
same  output  as  a  user  would  see  on  Metro  (except  a little more
colourful) is produced.


------------------------------------------------------------------------
                                 About
------------------------------------------------------------------------

Some  info  about registering the program, how to contact me, and so on.
If  your cursor has been turned off somehow, and you want it back again,
then  selecting  this option will also turn it back on again.  Also, the
ANSI  attributes  will  be  re-set  to  none,  black  background,  white
foreground  after  an  'About', so if you've read a text that's set your
ANSI all weird, then there IS a use for this option apart from seeing my
name in lights!


------------------------------------------------------------------------
                                  Help
------------------------------------------------------------------------

This  will open a file selector box, looking initially in the TEXTFILES1
directory  for a file called 'Muddles.help' (you CAN change this, and it
sorta reverts to a 'display a file' function).

You  can  read  any  textfile (ANSI included) with this feature, but its
main use (I envisage) will be to read these docs.

I  was  thinking  of  chopping  this  out in, as it's not much use - the
display  a file function is basically the same thing - but I'll leave it
in for now.


------------------------------------------------------------------------            
                                  Quit
------------------------------------------------------------------------

Asks you if you really want to quit, if so, it does!

You  can also quit the program by holding down both mouse-buttons at the
same time, and answering yes to the requester.


                             -------------
                             FILE OPS MENU
                             -------------

All  the  file  operations  can  work on ANY file at all, anywhere.  The
fileselector  box  will  initially  read  your  UDFILES directory, as we
assume  that  most  of  the work is going on here.  The program does NOT
attempt to emulate a Directory Utility program, there are many excellent
versions of these available for the Amiga.  What it does do, however, is
allow  you  to  perform  a  few  operations  without having to leave the
Muddles Screen.

See  the  'General Tips' section for info about using filenames with the
Amiga wildcards '%', '#' and '?'.


------------------------------------------------------------------------
                                Backup 
-----------------------------------------------------------------------

Simply  reproduces  a  file  as 'FILENAME.bak'.  The backup stays in the
same  directory  as  the  original.   If  you should wish to COPY a file
anywhere,  I suggest you first use this Backup command, and then Re-name
the backup to whatever you want.

You  should  make  a  backup  for any file area listing you are going to
change  BEFORE  you  hack  it from Muddles, if you have any doubts about
what  Muddles will do.  (Muddles will make backups of its own in several
- BUT NOT EVERY - file operations).


------------------------------------------------------------------------
                                 Delete
------------------------------------------------------------------------

Deletes  a  file.  Before the delete is performed, the protection bit is
set  to  deletable, so this will even kill the files you have protected.
Be careful!


------------------------------------------------------------------------
                                 Rename
------------------------------------------------------------------------

This  isn't  really  a DOS rename command.  It simply copies the file to
the  path/name  you  specify  (and thus it CAN go across devices eg from
RAM:  to DH0:), and deletes the original.

When you enter in the name of the destination, you MUST include the full
pathname  as well.  If a file of the same name exists, AmigaDOS is quite
happy to over-write it.  Again, be careful!

If  you 'rename' the file to the SAME filename as it already is, Muddles
will  now ignore the command.  Also, the existing filename is taken into
the form input that this uses, making it a lot easier for you to enter a
filename with only a small change.


                              ------------
                              GOODIES MENU
                              ------------


------------------------------------------------------------------------
                              Alphabetise
------------------------------------------------------------------------

Sorts  the  file  listing  into  strict  alphabetical order.  You simply
select  the  file  area,  or  ALL  file areas and Muddles goes about its
business, very quickly, too I might add!


------------------------------------------------------------------------
                              Move A File
------------------------------------------------------------------------

Moves a file and the file list entry from one area to another.  You must
know  the  file number and area of the file you are going to move before
using  this  feature.   Find  it  out from the search, list or browse or
whatever.


------------------------------------------------------------------------
                            Multi File Move
------------------------------------------------------------------------

Moves  a  GROUP  of  files  from  one  area to another, along with their
listings.  This works in a similar way to the file BROWSE.  You select a
file  area to go through, and then you are presented the details of each
file one at a time.

After each file is displayed you have these options:

[N]ext - [P]rev - [J]ump - [M]ove - [L]ist - [Q]uit

Next,  Previous  and  Jump are used for getting around in the file area,
and Quit is for when you are done.  If you should try to jump beyond the
file area's bounds, this is functionally the same as Quit.

List  will  list the archive contents to your screen, so you can quickly
get  a  little  bit  of feedback as to what's in the file.  (Provided of
course the file is .ZIP .LZH .ARC .ZOO .ARJ .ADS .DOC .TXT or .LST - see
the section on Browsing a file area).

The  Move  command  is  the main one - if you select to move a file, you
will  then  be  shown a list of your file areas and you select which one
you  want  to move the file to.  If you (accidentally) select to move it
to  the same file area it's in, no action will be taken.  You can move a
file  from the selected file area to any other file area you want.  File
1  can  go  to  area  H, file 34 to area K, file 56 to area Z, etc, etc.
It's very flexible.

Don't forget that the file area selection is actually hot-keyed now, you
don't have to wait for all your areas to print up (same as the BBS).

After  you've  chosen  which area you wish to move the file to, the file
details will be re-listed, and the area it will be sent to reported.

When  looking  at  a  file  that has been flagged to be moved to another
area, pressing 'M' again will toggle the flag for that file, and make it
stay  put.   You  can  press  M  again to chose another area if you have
typo'ed the area you want to move it to, for instance.

Once  you  make  it  through  the  whole area, or chose Quit, we then go
through  the area a file at a time.  Every file you have flagged to move
will  be  shown, and you have another option to back out.  It is at this
stage the actual work of moving the files themselves and the listings is
done.   (There  is  now  an  option to perform the move non-stop without
pausing in between each file).

I  don't backup the FileList_file with this function, simply because you
can  un-do what you just did by moving the files back to the old area at
a  later  stage.   By  restoring  a  backup file here, you'd end up with
duplicate file entries all over the place.

Muddles will now not let you copy to a device which has insufficent room
for  the file in question.  Be careful to note, however, that the actual
file LISTING will be moved regardless.  You can always note the filename
and  then copy it somewhere manually with a directory utility at a later
stage.

Apart  from the obvious use of this function (to keep files in the right
areas) there are a few other things you may like to use it for.

For  instance,  say I'm short on hard drive space.  But I have a heap of
files  that  some  users  may want.  So firstly I set up a new file area
with the path name of 'DF1:'.  The entry in File.areas looks like:

1
1
4
4 - GIF Pics
DF1:

Then I go through the areas and move all the GIF files into the Gif pics
area.  This is better than using the KILL function from the browse area,
because  what  I'll end up with is a FileList_file for all the files.  I
can  leave  the file area up for selection, and all I have to do to make
that area active, is ensure that the GIFs floppy is in DF1.  I (used to)
have  a  few  other  areas setup like this, including 1 big LONG area of
requestable files.

You  could  use this to your advantage by having a number of areas setup
like this of 'requestable' files, or even leave a message up saying 'GIF
files  are online this week', 'IFFs A-H are online this week' and so on,
cycling  the  different floppies.  The only thing that limits you is the
856k worth you can fit on a floppy.

In  fact  it's  probably better to move the files to a new area you have
setup rather than kill them outright, because then you will preserve the
file descriptions in a UD file.

Don't  panic, you can quite validly move files into an area which has no
files  in it already.  The FileList_X file will be created for you.  All
you  need  do  is  ensure  you  have a valid entry for this area in your
file.areas  file,  and  that  the  device  or  directory you have chosen
actually exists.


------------------------------------------------------------------------
                             No Listing Rpt
------------------------------------------------------------------------

Has  a  look  at your file directory, and ensures that each file in that
directory does have a listing in the 'FileList_X' file.

If not, it will produce a summary of the files you have in the directory
that  aren't  available  to  the users.  The summary can be printed to a
file or the printer.

If  you  want  to  get  the  program  to  add  missing  files to an area
AUTOMATICALLY,  this  can be done from the 'Add From Dir' function.  See
the 'Add From Dir' notes for more info.


------------------------------------------------------------------------
                              Search Files
------------------------------------------------------------------------

Searches  through the file areas for a certain filename or PART of name.
Very similar to the file search already in Metro, however you can search
any of the fields.  You can also specify to search in more than 1 field.

Metro's  file  search  looks in the file description and filename field,
but  Muddles  will  also let you search for the date, index number, byte
size and uploader's name fields as well.

I don't know how useful some of the searches are going to be, but if you
know the byte size you can even search for that!  (??).

When  selecting  which  fields  to  search, naturally the search will be
faster  if  you  only select one or two fields to look at.  Searching is
NOT case sensitive, by the way.

To  actually enter a search field, all is required is that the number of
the  field  you'd like to search appears in the search field string.  It
will  default  to fields 2 & 3, but you can easily erase a few '-' signs
and  add  (or  subtract)  a digit or two.  You don't HAVE to put the '-'
signs  in,  I  only  do  that  to make it easier for you to see how many
options you have.

If you'd like a report produced that lists EVERY file, I'd recommend you
search  the  date  field for a '9'.  You'll always find one there!  Some
other  uses are searching the files for '.ARC' and '.ZOO' so you can get
a  list  of  files you know you can re-archive to save a bit of precious
drivespace!


------------------------------------------------------------------------
                              Add from Dir
------------------------------------------------------------------------

This function serves two purposes:  to get file listings for those files
that  are actually in the directories, but NOT listed in the file lists,
and to make it very easy for you to add a HEAP of files at once.

If  you've got a few diskloads of new files you wish to add to your BBS,
then  first thing you should do is drag out a directory utility and copy
the files into their appropriate download directories.  Note which areas
you  have  added files to.  Once they are actually in the download path,
you can then use this function to add them to your BBS.

What  you  do  now  is  select the Add from Dir option, and tell Muddles
which file area you are looking at.  It is essential you are NOT running
Metro at the same time as Muddles when you do this, for the sake of both
avoiding file conflicts.

Muddles  will then have a look at the directory, and list the files that
are  actually  there.   It  will  do  a  check to see if the filename is
already in the file listing, and if not, it will note it.

At  the  end  of the scan, all the files NOT currently in your file list
are  presented,  and  you  are  invited to enter a description for them.
Firstly you are asked whether you want to list the archive, in case this
would jog your memory as to what's in the file.  The alert requester for
this defaults to 'No' however.

The  default  description is 'Added By Muddles'.  Simply pressing return
will  enter  this, and in fact you can add files to the system extremely
quickly  by  merely  pressing return 3 times for each file.  However, if
you  would  like  to  add  a  proper  description,  delete the 'Added By
Muddles' bit, and type in your own.

[Note  there  is  now  a  separate  bulk-upload function that works in a
similar  way  to  this,  adding  files  found in one hit without a pause
between  files.   You can also set the default description to other than
"Added by Muddles" for these files.  See under "Quick Add Files"]

After the description is added, Muddles asks you whether to add the file
details  or  not.   So  if you don't want to actually add that file, you
still have to enter a description firstly!  (Pressing return does this).

Also,  I had to give you a way out of this.  Perhaps you've added enough
files already, and there are still 50 files that Muddles scanned for you
not  listed!   Well, typing the letters 'QUIT' as the first four letters
of  the  description  (not case sensitive) will stop Muddles throwing up
any more unlisted files and asking for a description.

(The  alternative is to press return for each one's description and then
select  the  'No'  gadget on the alert for each subsequent file!  It was
murder, I can tell you!)

Oh,  and  if  you are going to be adding only a few files from the area,
then  the  way to go is to position the mouse over where the 'No' option
in  the  Alert  Gadget comes up.  Then press Return once to not list the
arc,  Return  again  for  the  description,  and  Left-Amiga/Left-Alt to
activate  the  'No' gadget on the alert to not add the file.  Be careful
to  read  the filename for each one in case you accidentally skip a file
you SHOULD have added!


------------------------------------------------------------------------
                              Set Index #s
------------------------------------------------------------------------

Allows the setting of file index numbers for a file or a group of files.
You  will  simply be asked what index number you wish to use (default is
the  current  index  number), and then which file number to start at and
end  with.   Note  that  to abort this operation, enter in a file number
outside the range, and no action will be taken (eg starting number -1).

There  are  many  reasons  why  you  may  like to set the index numbers.
Perhaps  you'd  like  some files that are already in your directories to
come  up as New files on a new file search.  Maybe you'd like some files
to NOT come up as new.

For  instance, if you'd like all the files in one area to come up as new
files  for  EVERY  call, set their index numbers to some ludicrous value
such as 99,999.


------------------------------------------------------------------------
                             Protect Files
------------------------------------------------------------------------

This function will allow you to set the protection for those files
listed in your file listings.  There is a definite advantage to setting
the Delete bit in your files to off.

The  advantage  is  if  someone  uploads  a file of the same name to the
directory.  If the file is delete protected, Metro will not overwrite or
resume on to that file, but merely abort the upload before anything goes
on.

It's  a  nasty  trick  you could play on any Metro sysop:  capture their
file  list  and upload a dummy file of the same name on top of their old
files.   If  you are using Ymodem, this would be quite feasible!  They'd
wonder why the hard drive sudenly had a lot more room on it than before!
Fortunately,  hackers  have  disappointed  us  all,  and  this  has only
happened to me once or twice by accident.  No-one's actually overwritten
files en masse.

Anyway,  you  can  avoid  all  that by setting the delete bit off in the
downloadable files.

This function asks you for a start and ending number for the protection,
and  then  allows you three types of protection.  The default is to just
turn  off the Delete bit, the second is to turn off the Delete and Write
bits  (even  more  protection)  and the third is to actually turn ON the
RWED, making the files normal again.

Naturally,  this function will not affect the Archive bits (used by hard
drive backup programs), so use with confidence!


------------------------------------------------------------------------
                              Change Dates
------------------------------------------------------------------------

This  is  the  function  to  use for converting dates from one format to
another.   The old Metro uses the standard US format MM/DD/YYYY, but one
of the first modifications I made to Metro when I finally got GFA was to
change the format of the date to a more reasonable one to Australians.

I  have  NEVER  been able to adjust to seeing the month first in a date.
I've deleted messages and users erroneously by entering the date in what
I reckon is the correct format, but Metro had a different interpretation
of!

So  I  went  and  changed  the  date format to standard Fido format.  IE
DD-Mmm-YY.   Percy  has  fielded things always allowing for 10 bytes for
the  date,  Fido format only needs 9, and has three letters of the month
completely  avoiding  any  confusion  even to US citizens.  Say it's the
12th  of January.  In US format this looks like 01/12/1991.  When I read
that  I  say 'First of December, 1991'.  However in Fido format it looks
like 12-Jan-91.  Even an American can understand that, surely?

The  only  confusion  may arise 9 years down the track when we reach the
year  2000,  but  we'll probably not be running Metro at that stage, and
not using Amigas!  Anyway, I'll worry about a revision to this in 1999.

[Hmmm, 1999 is getting ominously close]

In  Muddles,  the date format will default to Fido Format.  If you don't
want  to  use that, then you should simply convert all the dates in your
file listings to the old format, which is easily arranged.

Of  course  you  can also use this the other way (Australian Sysops will
appreciate this) to convert the US date formats into Fido format!

[Well,  this  function  is  now  almost  completely useless, OzMetro and
Muddles  uses  the  Fido  format,  you'd  have to be crazy to use the US
format at all, however it still works if you MUST use backward dates!]


------------------------------------------------------------------------
                              Add an Area
------------------------------------------------------------------------

This  function  simply  allows you to add 1 file area to your file.areas
file without having to edit file.areas with a text editor [or indeed now
the  File.areas  editor  of  Muddles].   It  will  ensure  you  are  not
duplicating  key  presses,  and  the default download directory actually
exists.  In fact it's probably safer to add an area through Muddles than
doing it manually because of this.

However it just gets tacked on to the very end of File.areas, so may not
appear in the menu as you like.  Edit the file.areas later if you should
wish to move it around.

Don't forget the download path you specify MUST ALREADY EXIST before you
add the file area.

It's  sometimes  useful to add a dummy area so you can use the Mass Move
feature into a temporary holding area, or maybe you figure you DO need a
new file area while using Muddles.  This saves a fair bit of work.

After you've successfully added a file area, the file.areas file is read
back in again, so Muddles keeps up with the change you've made.


------------------------------------------------------------------------
                              Convert Case
------------------------------------------------------------------------

Here's  yet  another  feature, added new for V2.0.  The need for this is
because  Percy  has  modified  Metro to allow for upper/lowercase in the
file descriptions.  I much prefer looking at mixed case than upper case,
so it was a welcome change but the problem was, all the old descriptions
were  all  uppercase,  and looking at the older descriptions next to the
newer ones was a bit weird!

Converting  from  LOWER  to  UPPER  case  is easy in GFA.  You simply go
new$=UPPER$(old$).   To  go the other way, is difficult because there is
no  LOWER$() function.  Besides, converting EVERY character to lowercase
will make it look just as bad as all uppercase!

So I settled on a compromise.  Each byte of the string is inspected, and
if  the  character preceeding it is an uppercase letter, OR the ' symbol
(single apostrophe), then that letter is converted to lowercase.

As an example:

"THIS IS A FILE DESCRIPTION, ISN'T IT?"

Gets converted to:

"This Is A File Description, Isn't It?"

Basically,  it  means  the first letter of every word will be a capital,
and all the rest lowercase.

Only problem is 'GFA'->'Gfa', 'WWII'->'Wwii', and the like.  But overall
it works pretty well.  You'll have more typo's in your file descriptions
than  unwanted  changes  from  this  function.   It's  also  a credit to
GFA-BASIC  at how fast the conversion is done.  I'm actually using peeks
and  pokes to do this, but even still, for EACH FILE, something like 200
lines are executed.  GFA takes longer to print the details to the screen
than do the work!  (And that's the console.device's fault, not GFA's).

I  also  added  the  feature  to  convert  from  lowercase  back  to all
uppercase,  as  this  only  involves  1  line  of  code  for  each  file
description  (yeah,  VERY  easy  to add!).  This doesn't quite un-do the
first operation because if you have a file description like:

"This is a file description, isn't it?"

This gets converted to:

"THIS IS A FILE DESCRIPTION, ISN'T IT?"

Which is fine, but would then convert back to:

"This Is A File Description, Isn't It?"

With capitals begining EVERY word.  Ah well, you can't win em all!

[Again,  this function is going to be pretty useless for OzMetro sysops,
all the descriptions are in mixed case anyway now]


                              ------------
                              SPECIAL MENU       
                              ------------

Here are a few functions that are useful, but don't seem to fit in
elsewhere:

------------------------------------------------------------------------
                           Edit Main.f.areas
------------------------------------------------------------------------

If  you  are  using  FILEAREAGROUPS  in  OzMetro, you need a file in the
udfiles/  directory  called  main.f.areas.  This command simply launches
your editor to edit this file.


------------------------------------------------------------------------
                           Display ANSI/ASCII
------------------------------------------------------------------------

If  you  wish to display an ANSI (or ASCII) screen, use this.  This uses
the  same  routines  that  Metro  uses, and so if a textfile would crash
Metro,  I  don't  error-check  for it in this routine, and it will crash
Muddles, too!  This will remind you to edit the file!

The  ANSI  display  is  quite  good,  and 100% Amiga ANSI, not IBM ANSI.
Amiga  ANSI doesn't support the SCP and RCP (esc[s & esc[u) functions of
IBM  ANSI,  and some ANSI looks pretty weird when displayed on an Amiga,
although working quite well on an IBM or a user's terminal.

Make  use of this function to display your menus, help screens, texts and
so  on,  so  you  can  see  exactly  what  they'd look like if Metro was
displaying them.

I  don't  check  what you display here (it's quite possible to select an
executable  or similar), so please use discretion when chosing a file to
display.   If you really DO wish to display binary files, then be warned
that this section will probably crash at the end of file.  Also, you may
get  a  Shift-In  character in an executable causing the rest of Muddles
display  to be in weird hi-ascii text.  If this ever happens, you better
quit and restart the program.  Good luck reading the menus :-)

Output  is paged, and Alert boxes will come up during the read.  You may
select  More,  Continuous or No More at each screenful.  If displaying a
binary  file,  please abort it before the end of file, otherwise it will
most  probably  crash  the program (not dangerously) when it reaches the
last screenful.

Be  careful  when choosing 'Continuous' for large files.  As the program
stands,  it  is  NOT  possible to abort the read until the file has been
completely output.  If you wish to pause the display during a continuous
read,  then simply hold down the right mouse button, as this will freeze
ANY program's output.


------------------------------------------------------------------------
                             Check for EOF
------------------------------------------------------------------------

Examines  a  file  internally,  and  warns  you  if  the  EOF  marker is
misplaced.   Does this sound handy?  Please make use of this for all new
texts, menus and so forth that you are going to be using on the BBS.


------------------------------------------------------------------------
                              Spawn Editor
------------------------------------------------------------------------

Runs the editor you have specified in the EDITOR line in Metro.cfg.  You
can add a filename (or more) to open into the editor if you like.


------------------------------------------------------------------------
                              Run C: Prog
------------------------------------------------------------------------

Opens  a  fileselector  box looking in the SYS:C/ directory.  Naturally,
you can alter the path to select any other file.

It  then runs that program.  Arguments are not possible.  No checking is
done  on what you enter, except that the file exists, and is a file (not
a directory).


------------------------------------------------------------------------
                           Re-read file.areas
------------------------------------------------------------------------

If  you have edited your file.areas file in a text editor and removed or
added  areas,  or  changed keypresses and paths, etc, Muddles won't know
about it.  However, by selecting this option you can force it to re-read
the file.areas file again.

It  is  NOT  necessary  to  use this after you use Muddles's Add an Area
function, because it does it in this case by itself.  And likewise after
using Muddles File.areas file editor section.


------------------------------------------------------------------------
                             Set User Path
------------------------------------------------------------------------

When  using  the  rename,  backup,  delete,  check EOF and view options,
Muddles  will  open a file selector box for you.  The directory the file
selector  box  initially looks in is determined by the sub-menu item you
chose  for  that  function.   You  have three choices:  the BBSFiles and
UDFiles directories, and your own path.

Use  this  function to set whatever you like for the file path.  It will
be  initially set to 'RAM:' on startup, and will stay that way until you
change  it.  It will remain whatever you set it until you quit or change
it again.

Note  that  I  perform  some pretty stringent checking on what you enter
here.   It  MUST  be  a  valid directory (and not a file).  The trailing
slash is optional.  If you don't type one, Muddles will add one for you.


                              -----------
                              EXTRAS MENU
                              -----------

All these commands (and the next "Userlog" menu) have been added for the
OzMetro distribution, and give you more power in Muddles!  Any more file
commands  will  be added under this menu.  Basically, the order in which
the commands are thought of is the way they've been added to Muddles :-)


------------------------------------------------------------------------
                            Quick Add Files
------------------------------------------------------------------------

This  works  in  a  similar  way  to  the  "Add  From  Dir"  function to
"bulk-upload"  files  to  the  BBS.   Simply copy them into the relevant
directory,  and  choose  this function.  The program will search for all
files  in  the  directory  that  are NOT already included in the OzMetro
FileList_X file, and then proceed to add them to the FileList_X file.

It will ask you for a default description (used for ALL files added this
way),  and will add ALL files not listed.  If you only want to add a few
files  to  the  area,  you'd  be  best using the "Add From Dir" function
itself.

Be  aware  this function may take a while to complete.  Make sure you've
taken  the  phone  offhook  so you don't get a caller if you want to add
HEAPS  of  files.   There's  also  no  way of aborting the bulk add once
you've  started  it  (save  rebooting).   It  was written in response to
sysops  who  didn't  like  the  "Add From Dir" function - too slow, they
said.  Well, here's what you get.  I must admit that I use this function
more than "Add From Dir" myself now


------------------------------------------------------------------------
                             Set FileNotes
------------------------------------------------------------------------

Writes the file description from the FileList_X files into the filenotes
of  the  online files.  Having the descriptions in the filenotes is VERY
handy.   For  a  start, my File Request server includes the descriptions
when producing a File Request report message if it can get them from the
filenotes.   They are also VERY handy for you to look at when inspecting
files  from  a directory utility.  It also means you may be able to move
your files to another BBS platform with descriptions already in place.

This function will work on either one file area or ALL file areas.


------------------------------------------------------------------------
                             Trim FileLists
------------------------------------------------------------------------

The  Browse  function  can  do this for you with a lot more control, but
with more sysop effort.  What this does is check every file mentioned in
the FileList_X file to see if it exists.  If it doesn't exist, the entry
is  removed  permanently  from  the  FileList_X file.  This is an ALL or
NOTHING  affair,  you can't leave some entries there and kill others (to
do this, use the Browse function).

So  now,  another way you can remove files from OzMetro is simply remove
the files from the hard drive and run the Trim FileLists function.  This
may be a lot quicker than the Browse or Multi File Move functions.

I  find  this  really useful when receiving file revisions.  Say you had
Muddles42.lha  and  Muddles43.lha  in  your  file area.  Checking with a
directory  utility,  you can easily see which one is the latest edition.
So  delete  Muddles42.lha  (or move it elsewhere if you're a bower-bird)
and then run this function.  Only the latest version will remain in your
file  listings.   I  also  use  this for the NodeLists file area, simply
deleting anything other than the current list, and then when I remember,
I run the Trim FileLists function and clean up OzMetro's listing for the
area.   (Hey!  That reminds me, I haven't done this for a while - I just
removed  the  entries  for  23  non-existant files from my Nodelist file
area).

This function will work on either one file area or ALL file areas.


------------------------------------------------------------------------
                            Edit File.areas
------------------------------------------------------------------------

This  is  a  very  nice little section of code - I'm starting to come to
terms  with  the  Mouse  in  programming  now,  and  have developed some
intuition  coding  here  for  you  to use.  Selecting this function will
clear the screen and bring up the editor screen.  You may like to review
the  notes  on  the  File.areas  file given in the OzMetro documentation
before  using  this  section.   There the technical requirements for the
file.areas file are outlined in detail enabling you to edit it in a text
editor instead of using this function.

At  the  top  you will see four gadgets QUIT, SAVE, ADD, DELETE.  Simply
click on them with the mouse to use them.

Quit  and  Save  will  do  just that - Quit the editor part, or save the
File.areas  file.   Quit  does  not  check  if  you  haven't  saved  the
file.areas  file,  so  make sure you have saved if you want your changes
committed to disk.

Add  and  Delete  are  used  for  adding or deleting file areas from the
File.areas  file.   BEWARE!   There  is  a  maximum  of fifty file areas
available  in  OMetro.   Muddles  won't crash until you get to 55 areas,
however  OzMetro will the instant you have more than 50 areas.  (As soon
as  you  hit  the  Main menu).  I suppose I should add some checking for
this in here, but that can come later.

There  are  then  a set of movement gadgets along the top of the screen.
These allow you to move through the file areas sections.

        |<<     Moves you to the very first area
        <<<     Is a kind of VERY fast "rewind"
        <<      Is like a normal "rewind"
        <       Jumps you back one area

          >     Jumps you forward one area
         >>     Is like a fast forward
        >>>     Is a VERY fast forward
        >>|     Gets you to the very last area

Just  how  far each gadget moves you (in number of area) is a proportion
of  how many areas you have.  The area number you're actually at appears
in  between the forward and backward gadgets.  If you're at the very end
of  the  file, and select to go further, your movement selection will be
ignored.

You'll  then  see  your file area details listed on an area basis in the
rest of the screen.  TWO file areas are shown, but you can only edit the
FIRST  one (in white text).  The next one is for display only so you can
see the details for the next file area you have.

To  edit any of the settings, click on the text you wish to change.  You
should  see  a cursor light up and you can use the commands listed above
under  the  "Form  Input"  notes  to change the setting.  You MUST PRESS
RETURN  TO  LEAVE  A  FIELD.   If you click in another field when one is
already highlighted, your mouseclicks will be ignored.

When you're happy with the changes you've made, save and quit and the
File.areas file will be re-written (and re-loaded by Muddles).

BTW  when you quit, you quit from the File.areas editor back to Muddles,
not out of the program entirely :-)


                              ------------
                              USERLOG MENU
                              ------------

Here  are  the  major functions you'll need to be able to edit OzMetro's
userlog.  It doesn't let you alter ALL the fields, but WILL let you edit
the  fields  that  matter.   If you REALLY do need to change things that
this  section doesn't allow for, feel free to use a Hex editor.  I don't
ever  envisage  this  will  be  necessary,  however,  the  other  fields
shouldn't  ever  NEED  to be edited at all - the BBS can look after them
fine by itself.


------------------------------------------------------------------------
                             Purge by Date
------------------------------------------------------------------------

This  code  was pinched from a small standalone program I wrote a couple
of  years  ago.   It  asks  you for a cut-off date for users, checks the
userlog,  finds  the  date the user last called, and if earlier than the
cutoff date you specified removes that user from your userlog.

There  are  ample  opportunities  given to back out of this.  Just check
your  input  like  crazy  before sending it off on its business.  If you
really  want  to make sure, backup your userlog FIRST so you can restore
it.  (My userlog is backed up by a script once a day in any case).

When a user is removed from the userlog, the file itself doesn't get any
smaller.  This allows your users to keep the same user NUMBER regardless
of  the  number  of  users  we  may have deleted.  Any deleted user will
appear  as  a blank "hole" in the userlog - next time a user logs in the
first  vacant  slot is used.  If there is no vacant slot, his entry gets
tacked on to the END of the userlog file.

What  this means is your userlog will NEVER get smaller than what it is.
After it's grown to a sufficient size, please use this function to purge
non-active  callers  and  provide  vacant  slots  for  new  users  to be
allocated  so  you don't wind up with a MASSIVE userlog file after a few
years.   (Each  user  only  occupies  125 bytes in this file, so you can
store  quite  a  few in a small space - unlike other BBS programs, where
each  user  entry is a FILE thus using a minimum 1024 bytes on your hard
drive PER USER).


------------------------------------------------------------------------
                             Validate Users
------------------------------------------------------------------------

Use  this  function  to upgrade users' time limits and security level to
that  you  have  specified  in  the VALIDTIMEPERCALL VALIDTIMEPREDAY and
VALIDUSERLEVEL  keywords  in  Metro.cfg.   (See  the  OzMetro docs under
"Metro.cfg" for full details on these keywords).

You're  first asked what security level users you wish to upgrade.  This
defaults  to  the  level  you  have set in NEUSERLEVEL, although you can
specify  any  other  level.   Any  user  of  this level OR LOWER will be
flagged for editing.

It then asks you which user number to begin with.  Entering a number out
of bounds (eg -1) will abort the function.

You  then  have the opportunity to cancel the operation, or let it go on
automatically,  or  pausing  between  each  user.   If you select not to
pause,  then ALL users meeting your search and user number criteria will
be upgraded to the levels you've specified.

Since  I require users to fill in an online survey before upgrading them
I don't use the non-stop function at all, but it would save you a lot of
time, if you just wish to upgrade en-masse.

As  each  user  meeting  the  search  criteria is found, the usernumber,
username,  security  level, time per call and time per day is displayed.
If you've selected to pause it will ask whether you want to upgrade this
user or not - or quit the entire process.

If  the user's security or time limits are changed the new settings will
also  be  displayed  on  the screen and the program moves on to the next
user.


------------------------------------------------------------------------
                              Edit a User
------------------------------------------------------------------------

This  allows you to edit most of a user's details stored in the userlog.
These fields can be changed:

        UserName
        Password
        Level
        Suburb, State
        Phone Number
        Date Lst Call
        Time Per Call
        Time Per Day

Some  other fields such as page pausing, screen height and file transfer
protocol can be changed by the user himself from the BBS.

Firstly  the  program  asks  which user you wish to edit.  You can enter
either  the  user's  number or name to edit the account.  The usernumber
will be located more quickly than the name.

The  program then asks you to type in the number of the field to change,
and gets a new value for it from you.  You enter 9 to save the record to
disk, or 0 to abandon the changes.


------------------------------------------------------------------------
                               Add a User
------------------------------------------------------------------------

This  simply  asks  you  for the user details and creates an account for
that user.  Useful for pre-arranged accounts either on a private system
or to give a user a higher than normal security so they can login and do
something  not  normally available to first-time callers.  Naturally the
user will have to be conveyed the password for them to use this account.

At  the  moment, this will allow you to enter a username ALREADY in your
userlog  - something I will have to fix later.  If you have two accounts
of  the  same  name, then if the user logs in with his user NAME (rather
than  number) the FIRST matching account will be found (which may or may
not be the right one).

There's  no  way  to  cancel  this operation once you've started it off,
except by deleting the user (see next section)


------------------------------------------------------------------------
                             Delete a User
------------------------------------------------------------------------

Really  easy section this one - deletes any old account.  Simply specify
the  usernumber  or  username,  some  details will be shown, then you're
asked to confirm or cancel.


------------------------------------------------------------------------
                              View Userlog
------------------------------------------------------------------------

Prints up the userlog one line per entry displaying these fields:

        User Number
        User name
        Suburb, State
        Phone number
        Security Level

Every  screenful,  you'll get a MORE prompt, where you can quit, get the
next screenful, or run through the rest without any more prompts.

As  a  tip, if you're looking for dodgy accounts, the PHONE NUMBER field
often  reveals  a  few  interesting  snippets  of info.  Numbers such as
123-456-789 are an obvious indicator the user is a fake.

Blank lines in the Userlog listing simply indicate that this is a vacant
userlog slot (as outlined above in "Purge By Date")


------------------------------------------------------------------------
                            View NewAccounts
------------------------------------------------------------------------

As each new user gets an account, a file called BBS:BBSFiles/NewAccounts
is appended to.  This is useful if you allow users to use handles rather
than  their  real  names  as  login  names.  You can cross reference the
handle  with  this  file  to  get  the real names.  This function simply
displays this file.



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                                Politics

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The Muddles archive is not and has never been in the Public Domain.  The
copyright  always  remains  the  property  of  Peter Deane.  You may not
modify, copy, distribute, attempt to reverse-engineer or disassemble the
program except as provided for in the licence agreement below.

The  Muddles archive can be distributed by any means provided the person
or  organisation making such distribution makes no charge over and above
a  small  copying  fee.   By  "small copying fee" I mean a value usually
charged for a freely distributable disk, and in NO CASE WHATSOEVER above
a fee of $AUD8.00 plus postage.

Any  person  or  organisation asked by Peter Deane to cease distributing
the archive shall comply forthwith.

Partial  distribution  of  the  Muddles  software is NOT ALLOWED, if you
distribute  the  program, you must distribute it lock, stock and barrel,
with  no  files removed or added from the original distribution archive
as created by Peter Deane - re-archiving is NOT allowed.

You  may  not  use  or  distribute this software for an illegal purpose.
Without  limiting  the  generality  of the foregoing this means that any
person  using the software to run a pirate BBS where COMMERCIAL software
is  available  for download is infringing the copyrights of this product
(Not  to mention the copyrights of the commercial software they have for
download)!

The  maximum  liability  of  Peter  Deane  for any damages the use of or
inability  to  use  this software may cause is limited to the amount (if
any) paid directly to Peter Deane for the software, exclusive of postage
and handling charges.

There  is  no  individual  registration  fee  for Muddles.  If you are a
registered user of the OzMetro package, you get registration for Muddles
thrown  in  for free.  See the OzMetro docs for details of what benefits
registration bring.


If  you  have ANY questions, need ANY help or simply want to let me know
this  software  is  being  used  please  send  me  mail  to any of these
addresses:


        Peter Deane

        FidoNet:   3:622/401        Postal: PO Box 228
        GlobalNet: 54:6101/401              Swansea  NSW  2281
        AmigaNet:  41:200/401               AUSTRALIA


        Or call the BBS:   from O/S   +61-49-72-1647
        (24 hrs)           from Aust  (049) 72-1647


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

