home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1995 December / SOFM_Dec1995.bin / pc / os2 / adeptbbs / read.me < prev    next >
Text File  |  1995-10-31  |  53KB  |  1,316 lines

  1. r
  2. This version of the BBS software includes the following changes:
  3.  
  4. The Area.Control.Sample file should give people an enough of a example of
  5. how to setup areafix echo request forwarding, and auto add capabilities.
  6.  
  7. The English.Text file is no longer called English.Text, but instead called
  8. Language.Text in order to be language neutral.
  9.  
  10. The BBS software now includes Multi-Linqual support.  The following is a
  11. example 'Languages' file.  The Language file is the configuration file for
  12. the multi-lingual support.  The languages file has three fields delimited
  13. by a comma.  The first parameter is the name of the language, the second is
  14. the Identifier for the language, and the third is the root dir in which
  15. that language resides.
  16.  
  17. You can have up to 36 languages.  If the need arises we can expand this
  18. number, but in order to assure that the mailer is still operational on all
  19. levels we decided to limit it to the keys 1-0, and A - Z.
  20.  
  21. -- BEGIN: 'Languages' file ---
  22. English ,ENG,D:\Adept\
  23. French  ,FRN,D:\Adept\French\
  24. Spanish ,SPN,D:\Adept\Spanish\
  25. Finish  ,FIN,D:\Adept\Finish\
  26. -- END: 'Languages' file ---
  27.  
  28. If the user chooses French the BBS will look in the following directories
  29. for the language support files.
  30.  
  31. \Adept\French\System
  32. \Adept\French\Menus
  33. \Adept\French\Text
  34.  
  35. You should place all the files that you would normally put in the
  36. \Adept\System, \Adept\Menus, and \Adept\Text sub-dir in the language
  37. directories corresponding to the language they refere to.
  38.  
  39. If a user chooses a language and the BBS cannot find the Language.text
  40. file in the \Adept\Languagename\System sub-dir it will default to the
  41. language.text in the \adept\system dir.
  42.  
  43. Fixed a bug in menu option 200, and 201.  If you had a message being
  44. forced to a specific subject or node number the BBS would also force
  45. the message to the sysop of the BBS.  This command now works as
  46. documented.
  47.  
  48. Added a option when replying to a message that would allow you to change
  49. who it was to, and the subject, and will also prompt for carbon copies
  50. if the person has the right security level.
  51.  
  52. Added the ability to set a users inactivity timeout period.  The timeout
  53. period is listed in minutes.  Set it to 1440 for a unlimited timeout.
  54.  
  55. The BBS software now uses a new multi-system, multi-server capable chat
  56. server.  You can configure the base node/line number from the config
  57. ->BBS->general settings menu.  Right now this only supports multiple
  58. copies of adept running on the same network.  It will be expanded to
  59. support serial, internet, and other network links.
  60.  
  61. In order for multi-line chat to work, you will need to run the deamon
  62. ChatServer.Exe in anouther Window.
  63.  
  64. The EMSI mailer session have been QUITE cleaned up!  At the moment
  65. AdeptXBBS connects with every mailer we have tested it with and vice
  66. versa.  I personally have not seen a failed connect in a few weeks.
  67.  
  68. Fixed a bug in the files system where the BBS would crash on a uploaded
  69. file.
  70.  
  71. Worked more on stability and speed issues.
  72.  
  73. Fixed a bug in GIOMT.  Sometimes when connecting to a program with a borken
  74. zmodem implementation implementaton protocol engine would completely freak
  75. out and create a GIOMT.LOG from hell sucking all CPU and writing a file
  76. until it ran out of disk space or until you rebooted your computer.
  77.  
  78. Fixed the Bluewave Mail importing!
  79.  
  80. 96a - Fixed two bugs in Gatekeeper.  Removed the PM version.  The two
  81.       bugs in Gatekeeper where it would not allow areas above 1024
  82.       and was not unarchive/arciving mail properly.
  83.  
  84. 97  - Fixed a bug in the mailer, we couldn't sucessfully complete a mail
  85.       session with Xenia.
  86.  
  87.       Fixed a bug in the multi-lingual support.  The BBS software wasn't
  88.       running the MAIN.CMD from the languages menu sub-dir but instead
  89.       from the BBS's default sub-dir.
  90.  
  91.       Fixed a possible timeout bug having to do with the new inactivity
  92.       timeout options.
  93.  
  94.       Fixed a video display problem that was causing the system to act
  95.       like it wasn't working locally when DOS doors when being run.
  96.  
  97.       Fixed several other Misc. Bugs in Gate Keeper.
  98.  
  99.       Fixed a bug in the message editor, when the sysop would exit chat
  100.       mode it would abort the message.
  101.  
  102.       Added a user list to the Find Users Option.
  103.  
  104.       I was accidently shipping a old, thus bad, version of the fsys .dll
  105.       for the BBS.  This was causing readon crashes in trhe BBS software
  106.       especially if the user had entered the file system at some point.
  107.  
  108.       I am now shipping Othello, with full source to give both users and
  109.       authors the ability to work with type 802 doors.  These can be VERY
  110.       powerful.  It will allow you to write native OS/2 doors without
  111.       having to deal with things such as com port access and what type
  112.       of connect they are comming in on.
  113.  
  114.       Rexx now includes the following new functions:
  115.  
  116.       AdeptCheckBit, AdeptSetBit, AdeptUnsetBit.
  117.  
  118.       Retcode = AdeptCheckBit(line, BIT NUMBER, Numeric Long)
  119.  
  120.       Returns '1' if the BIT is set, '0' if it is not.
  121.  
  122.       This can be used to test if a users bit is turned on for any of the
  123.       LONG bitmap'd flags.
  124.  
  125.       AdeptSetBit(line, BIT NUMBER, Numeric Long)
  126.  
  127.       Will set BIT Number 1 - 32 to ON.
  128.  
  129.       AdeptUnsetBit(line, BIT NUMBER, Numeric Long)
  130.  
  131.       Will set BIT Number 1 - 32 to OFF.
  132.  
  133.       'Example:'
  134.  
  135.        -- BEGIN --
  136.  
  137.        /* - - - - - - - - - x - - - - - - - - - - - - - - - - - - - - - - */
  138.  
  139.        UserFlag = AdeptGetVar(line, 42) /* 42 - User Flags */
  140.  
  141.        IsOn = AdeptCheckBit(line, 10, UserFlag)
  142.  
  143.        if IsOn = '1' then
  144.        adeptprint(line, "Flag 10 is on!\r\n")
  145.  
  146.        AdeptUnsetBit(line, 10, UserFlag) /* turns bit 10 off */
  147.  
  148.        /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  149.  
  150.         AdeptSetBit(line, 5, UserFlag) /* Turns bit 5 on */
  151.  
  152.        /* - - - - x - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  153.  
  154.        AdeptPutVar(line, 42, UserFlag) /* Make changes to the user record */
  155.  
  156.        -- END --
  157.  
  158.        The changes are not saved until you put the changes back into active
  159.        memory with the AdeptPutVar option.
  160.  
  161.        AdeptDoDTR(line, '0' or '1')
  162.  
  163.            0 - Drop DTR (Will leave it dropped)
  164.  
  165.            1 - Raise DTR (Will Leave it raised)
  166.  
  167.        Ret = AdeptPeekByte(line, length)
  168.  
  169.            Will place the next char in the incomming stream that is waiting.
  170.            It will NOT remove it from the incomming data steam.
  171.  
  172.            Length is the amount of time to wait for the next char to
  173.            enter the data stream.  (This is a RAW comm function).
  174.  
  175.            The software will return TIMEOUT or LOSTCARRIER.
  176.  
  177.        NNTP Support!  This is the first version of the BBS software with
  178.        native Internet Newsgroup Support via NNTP!
  179.  
  180.        *WARNING* The BBS software WILL CRASH if you are pulling in a news
  181.        group that is NOT setup in the message area configuration!!!
  182.  
  183.        To setup NNTP go to the Config->BBS->Internet Options and fill in
  184.        the name of your NNTP News Server.  Next click on The NNTP Client
  185.        option checkbox. (It is best that you already have your SLIP, PPP
  186.        or TCP/IP network running with the news server available).  The
  187.        BBS should be able to handle it if you are not connected to the
  188.        to the NET.   When the software first connect to the server it will
  189.        pull down the available newsgroup list.  This could take 5/10
  190.        minutes.
  191.  
  192.        After you have the list it is recomended that you then decide what
  193.        newsgroups you would like to get.  There will be a file in the
  194.        \adept\usenet dir called Available.List that will also contain
  195.        a list of available newsgroups.  You can pick the newsgroups to
  196.        turn on, and off from the Config->BBS->Internet Options Menu.
  197.  
  198.        Be Warned!!! Do to a bug that will be fixed in the next release
  199.        if you try to shut the BBS down while your news client is 'BUSY'
  200.        the BBS will have a tendency to 'LOCK' your entire computer for
  201.        30 seconds.  DO NOT freak out!  It will release the message que
  202.        within 30 seconds.  If you shut the BBS down with the upper left
  203.        hand corner this will not happen, but your newgroup last reads and
  204.        other important info will nto be saved.
  205.  
  206.        Fixed a couple of bugs in the AdeptGetVar and AdeptPutVar REXX
  207.        functions.
  208.  
  209.        The Events Editor is BACK!  It actually works this time too. :)
  210.  
  211.        Fixed DUPE Checking in GateKeeper.
  212.  
  213.        Fixed the Dupe Area 0 Warning.
  214.  
  215.        Changed the packet headers a slight bit so that some programs
  216.        would stop complaining about our packets being non-standard.
  217.  
  218.        The ability to post messages in a newsgroup is now available.
  219.  
  220.        I added additional options to the BBS that should allow it to
  221.        hangup on the user almost everywhere now.  Before it wasn't
  222.        always hanging up when you hung up, or locked out a user.
  223.  
  224.        fList is a complete update.  Looks like I was accidently
  225.        distributing a WAY OLD version of this utility.  No wonder it
  226.        didn't work right.
  227.  
  228.        fUtil is also a complete update, same mistake as above.
  229.  
  230.        AdeptComFlush - now really makes sure the incoming/outgoing port
  231.                        info is flushed.
  232.  
  233.        More new REXX functions!
  234.  
  235.        AdeptPrintL(line, "Text to print locally ONLY")
  236.  
  237.         AdeptPrintL works exactly like AdeptPrint except it prints to the
  238.         LOCAL screen only.
  239.  
  240.        AdeptWaitConnect(line, time)
  241.  
  242.         AdeptWaitConnect will wait for a modem connect or error code.  It
  243.         will return 0 if it time outs if it doesn't timeout it will
  244.         then return the return code from the modem i.e. 'CONNECT 28800'
  245.         'ERROR', 'OK', 'NO CARRIER'.
  246.  
  247.         The time is in the format of milliseconds.
  248.  
  249.        AdeptDial(line, "STRING TO DIAL")
  250.  
  251.        AdeptDial will parse a string to the modem through the dialing
  252.        translation.  I.E. "v~^ATDT555-1212|" will be translated to
  253.        LOWER DTR, PAUSE FOR A SECOND, RAISE DTR, SEND 'ATDT555-1212' then
  254.        a CR (Carriage Return to the modem'.
  255.  
  256.        Added a new Meta command to be used with the who is on, {CQ will
  257.        display the users handle, it defaults to {CG the users real name.
  258.  
  259. 97a  - Fixed a possibility that the BBS could go into a loop if a rexx
  260.        script had changed the state of carrier checking and accidently
  261.        exited do to error or a trap.
  262.  
  263.        Made some MAJOR stability enhancements in serveral sections and
  264.        areas of code.  The mysterious BBS 'vanishing' symptoms should
  265.        not accure.  As you know the BBS will shut itself down cleanly
  266.        if it encounters a problem it cannot handle.  There should be
  267.        less of a chance that it will now encounter a problem it cannot
  268.        handle.
  269.  
  270.        The BBS now retains the last known settings for the outbound box.
  271.  
  272.        Fixed a bug in the Message Area configuration, it wouldn't handle
  273.        the message base path properly, now it does.  It was still creating
  274.        some of the files in the \adept\system dir not the path to the
  275.        message area dir.
  276.  
  277.        The message base will no longer allow illegal charecters.  ALL
  278.        message base utilities had to be updated.  These chars will no
  279.        longer be allowed '\, /, *. ?, ^, %' and will be converted
  280.        to '_'.
  281.  
  282.        Added some code the the mailer the will let it settle down a
  283.        little better durring mail session, helping to prevent fewer
  284.        bad mail connects.
  285.  
  286.        The BBS software no longer crashes when you are editing a
  287.        outbound icon and it rescans.
  288.  
  289.        Added a new menu option '28' Message Searching!
  290.  
  291.        Moved several hard coded pieces of text into the Language.Text file.
  292.  
  293.        GateKpr accepts lines in an Areafix style message that
  294.        begin with '+'
  295.  
  296.        GateKpr accepts lines in an areafix style message that
  297.        begin with '%'  the two key words recognized are
  298.        'query' and 'list' all other words are ignored at this
  299.        time.
  300.  
  301.        Attempted fix on routed netmail occasionally getting
  302.        put into a type 2.2 packet.
  303.  
  304.        New GateKpr keyword:  IMPORTALLNETMAIL
  305.        This keyword causes any netmail  going thru a system
  306.        to be imported into the netmail area. If this keyword
  307.        is not present, the current default behavior occurs.
  308.  
  309.        Fixed a bug with time calculation in the system events.
  310.  
  311.        Changed Config->BBS Action Flags, and Config->BBS->Default User
  312.        Settings.
  313.  
  314.        New REXX Function.  AdeptChangeGroup(line, group_num)
  315.  
  316.        The AdeptChangeGroup function will return '0' if the users
  317.        group was not upgraded, or not found.  It will return '1'
  318.        if the users group was upgraded.  This works just like
  319.        upgrading a users group in the local user editor.  The user
  320.        will take on the changes specified for the specific group
  321.        that they have joined/are in.
  322.  
  323. 97b    Definately fixed the bugs in the Events Editor this time around.
  324.  
  325.        Increased stability even more, a LOT more.
  326.  
  327.        EMSI Mail Sessions are MUCH MUCH smoother now!  Sysops who have
  328.        seen failed connects in the past should not see them as much
  329.        or at all.
  330.  
  331.        If the BBS software encounters a error it cannot handle it should
  332.        edit with a errorlevel of '1'.  With this you can automatically
  333.        restart adept in event of a error.
  334.  
  335.        This is definately one of those historic moments.  The SYSOP CHAT
  336.        PAGE TIME NOW WORKS!!!
  337.  
  338.        The BBS_Configuration grunding seems to be gone, we also added some
  339.        additional protection to the mailer configuration saving even though
  340.        we have had no reports of problems with it.  So far the word back
  341.        on this one is good.
  342.  
  343.        Fixed a bug in the logon sequence, if you where running multi-linqual
  344.        support it wouldn't obey login timeouts.
  345.  
  346. 97c  - Fixed a bug in the time bank, it would let a user put in as much
  347.        time as they wanted.  And would let the store ALL of their time.
  348.  
  349.        Added support for Send Crash Mail ONLY, and Send Crash Mail No
  350.        Matter what the cost.  We where not handling this properly, now
  351.        we do.
  352.  
  353.        You can now adjust the amount of time a user used today.  This can
  354.        be changed form the users record of from the right mouse popup while
  355.        they are on-line.
  356.  
  357.        The file list now goes from 1 - 99, then repeats.
  358.  
  359.        Edit Tagged Files List should now allow you to add files when
  360.        chosen from a menu.
  361.  
  362.        FileAreas.asc/ans/avt/etc and MessageAreas.asc/ans/avt/etc will
  363.        now handle meta variables, and more prompts.
  364.  
  365.        Fixed a bug in the file listing more prompt, if you hit any key
  366.        other then one of the ones on the list it went into continuious
  367.        list mode.
  368.  
  369.        In the events editor, if you removed or cleared the COMMAND option
  370.        it wouldn't make the changes.
  371.  
  372.        Added ReadArc.cmd to the distribution archive.
  373.  
  374.        When searching messages the Next key acted as the abort key, and the
  375.        abort key acted as the next key.
  376.  
  377.        Fixed a bug in XMSG it wouldn't handle message bases on multiple
  378.        drives/directories when doing a personal message index scan.
  379.  
  380.        The local user editor would close the second a user logged off,
  381.        now it should not.
  382.  
  383.        New type 803 DOOR.  The type 803 door works exactly like a type
  384.        802 except that it sets, and allows your to set several 32-bit
  385.        semephores giving you and the BBS more interaction.
  386.  
  387.        They are as follows.
  388.  
  389.        \SEM32\ChildDone\Line#
  390.        \SEM32\Carrier\Line#
  391.        \SEM32\TimeTick\Line#
  392.  
  393.        We will activate the \SEM32\Carrier\Line# when a user drops
  394.        carrier.  This then gives you 10 minutes to complete your
  395.        task and return to the BBS software.  If you issue
  396.        a \SEM32\ChildDone\Line# and exit we will handle everything
  397.        normally.
  398.  
  399.        Next the TimeTick warns you of when the user has 3, 2, and 1 minute
  400.        remaining.  We will issue it three times.
  401.  
  402.        These should help make your programs more aware of Adept, and Adept
  403.        more aware of them.
  404.  
  405. 97d  - I wasn't expecting to release v0.97d so soon, but since several
  406.        major bugs are fixed I figured it was important to get this one
  407.        out fast.  Some of the bugs we where going to fix in 97d will
  408.        be moved to 97e.
  409.  
  410.        GateKpr now has a 1.2 meg message size limit.  Also GatePm is
  411.        back! :)
  412.  
  413.        Areafix SYS 3175's should be gone!  Please let us know!
  414.  
  415.        Users have reported some problems with user handles when they
  416.        log on, this is now fixed.
  417.  
  418.        I think I found what was causing AdeptXBBS to not run on
  419.        some systems.  The culprit seems to be OS/2 v2.x and it was
  420.        a limitation in the values we where using that OS/2 v3.0
  421.        could handle but v2.x could not.
  422.  
  423.        Included new REXX DOCS and Examples, these docs where written
  424.        by Steven Tower and Jean-Ray Arseneau.
  425.  
  426.  
  427. 97e    A lot of sysops who resgistered the REXX module have asked what
  428.        will it be getting me.  We have been working on a enhanced REXX
  429.        module for some time now.  As I have said that ONLY the functions
  430.        that duplicate what the .menu system allows will be available to
  431.        the sysops who have not purchased the REXX module.  Since this
  432.        version of the BBS supports the enhanced REXX module I will outline
  433.        what this module will be giving you.
  434.  
  435.        Several things will change in reference to the REXX system
  436.        in this next beta.  We will no longer run .CMD file.   We have
  437.        decided to call .CMD files .SRX (Standard REXX) files.  This
  438.        will pave the way for .ERX (Extended REXX) files.  .ERX files
  439.        are preprocessed REXX files for use with Adept.  Sysops who own
  440.        the REXX module will be able to execute .ERX files.  Sysops who
  441.        do not will ONLY be able to execute .SRX files.
  442.  
  443.        Why ERX files?
  444.  
  445.             ERX files are REXX files that have been preprocessed with the
  446.        AdeptREXX Processor (SrToErx).  ERX files are typically 50% smaller
  447.        and always faster then standard REXX files (When run Cached).
  448.  
  449.        We are acking that people who write rexx scripts for Adept that
  450.        are not pre-processsed please use the extention .srx.  The
  451.        preprocessor will ONLY process files with the .srx extention.
  452.  
  453.        SrxToErx.Exe FileNameWithoutExtention will yield a file with the
  454.        same name, but the .erx extention.  If you are a commercial
  455.        developer is is recomended that you preprocess your rexx .srx
  456.        files before distributing them.  Also it it recomended that you
  457.        DO NOT preprocess the following!
  458.  
  459.        Atstart.Cmd - This MUST remain a .CMD file.  So that others may
  460.        modify it and chain needed rexx scripts (preprocessed or not) from
  461.        it.
  462.  
  463.        The BBS software will look for .erx versions of files that we
  464.        feel are ok to pre-process.  In fact if you are running a .srx
  465.        file (i.e. .cmd) file in cached mode (as we default to) it is
  466.        treated as a .erx file after we preprocess it internally.  So
  467.        it is honestly recomended that you do not preprocess anything
  468.        that you are NOT going to be distributing.
  469.  
  470.        AdeptXBBS now includes REXX Caching.  And two new REXX functions for
  471.        chaining REXX files within REXX files.  The first AdeptChainRexx
  472.        runs the rexx script in cached mode.  The second runs it in NON
  473.        cached mode.  Once a REXX script is cached it's cached until you
  474.        shut down your copy of Adept.
  475.  
  476.        There is also a new menu option 11.  Menu type 11 runs a REXX
  477.        script in NON cached mode.  Menu option 10 runs rexx scripts in
  478.        Cached mode.
  479.  
  480.        AdeptChainRexx("RexxScripName", line)
  481.        AdeptChainRexxNc("RexxScripName", line)
  482.  
  483.        Messages posted in a area that has messages marked as forced
  484.        private will be forced private no matter what the off-line mail
  485.        reader tells it to post it as.  This has been causing confusion
  486.        with users who find that they can read some of the messages in
  487.        the Private Mail area because some mail reader was marking
  488.        messages in a private area as public.
  489.  
  490.        Now when a user send a /s,## message to anouther user NOT in
  491.        multi-node chat a press any key is displayed before the message
  492.        scrolls off the screen. (Prompt #420)
  493.  
  494.        The Call Collision checkmark on the Mail Settings dialog now works.
  495.  
  496.        Changed the way the outbound mail scan works.  It's much less CPU
  497.        intensive!
  498.  
  499.        Fixed the New Message scan bug.  To clean up your current new
  500.        message scan it is recomended that you run XMSG -I to rebuild
  501.        Personal Mail Index's.
  502.  
  503.        There is a new ATO on Data checkbox in the Modem Settings option.
  504.        This is for people who are using the FAX cmd files to receive fax's
  505.        with Adept.  Some modems want a ATO after the DATA string is
  506.        received, soem do not.  This allows you to specify which you wish
  507.        to use for your specific modem.
  508.  
  509.        Made some changed to the BBS Configuration internal functions to
  510.        see who/what how it's getting currupted.
  511.  
  512.        UNREGSITERED SYSOPS:
  513.  
  514.            This will be the last beta of AdeptXBBS that will handle more
  515.        then 2 nodes, and run .erx files, and with REXX caching.  The folling
  516.        REXX functions will NO longer be available to sysops who do not and
  517.        have not purchased the REXX module.
  518.  
  519.      AdeptComFlush
  520.      AdeptComWrite
  521.      AdeptPutVar
  522.      AdeptPutC
  523.      AdeptPutKey
  524.      AdeptDoDTR
  525.      AdeptPeekByte
  526.      AdeptSetTimer
  527.      AdeptTimerUp
  528.      AdeptDial
  529.      AdeptWaitConnect
  530.      Adept16BitCRC
  531.      Adept32BitCRC
  532.  
  533.         The following REXX functions will be NEW in the next major beta
  534.  
  535.      AdeptChatSendMsg     - Multi-node chat
  536.      AdeptCharRead        - Multi-node chat
  537.      AdeptChatDeleteAll   - Multi-node chat
  538.      AdeptChatUnavailable - Multi-node chat
  539.  
  540.      AdeptCheckCard     - Validate credit card
  541.  
  542.      -- Userbase minipulation functions --
  543.  
  544.      AdeptGetUser       - Get a user and pull their record into a temp var
  545.      AdeptNextUser      - Get next user in the file and pull into a temp var
  546.      AdeptPrevUser      - Get prev user in the file and pull into a temp var
  547.      AdeptGetUserVar    - Get functions for temp user in memory
  548.      AdeptPutUserVar    - Put functions for temp user in memory
  549.      AdeptSaveUser      - Saved the temp memory vars to users record
  550.  
  551.     -- More REXX to come --
  552.  
  553.     SysEdit.Exe is a local OS/2 command prompt version of SysEdit. It
  554.     should be run from the Adept directory.
  555.  
  556.     SysEditR.Exe is a remote Adept 802 door version of SysEdit.
  557.  
  558.     The menu option woud look like:
  559.  
  560.     "R, 802, Remote Editor,SysEditR.Exe,0"
  561.  
  562.     Plus whatever security level you want for that program.
  563.  
  564.     This is the first version.. User editor only!  More to come very soon!
  565.  
  566. 97f - Bug Fix, Pressing OK on New user Defaults caused the BBS to crash and
  567.       wouldn't save the changes.
  568.  
  569.       Ok, on the CPU Priorities will used to also cause a crash.
  570.  
  571. 97g - AdeptChainRexxNC is broken, do not use it with .erx files, it will
  572.       still work with .cmd, and .srx files.
  573.  
  574.       AdeptChainRexx and AdeptChainRexxNC have syntax changes, and notes
  575.       that need to be addressed here and now.
  576.  
  577.       I have been informed that ALL rexx functions in the software enless
  578.       you are looking for a value should be called with the CALL function
  579.       NOT with the () method as documented. i.e.
  580.  
  581.       call AdeptChainRexx "RexxCmdFile.Cmd", line
  582.  
  583.       NOT - AdeptChainRexx("RexxCmdFile.Cmd", line)
  584.  
  585.       The second one will usually not work correctly.  The first works.
  586.  
  587.       Also you should try to use the call functioname ANY time you are
  588.       not get a value back i.e.
  589.  
  590.       call AdeptPrint line, "This is a line to print"
  591.  
  592.       key = AdeptWaitKey(line)
  593.  
  594.       Also I documented the AdeptChainRexx, and AdeptChainRexxNC functions
  595.       wrong.  The proper syntax is "call AdeptChainRexx ScriptName, line",
  596.       and  "call AdeptChainRexxNC ScriptName, line" please make a note of
  597.       this.  Using the function the way I originally documented it can
  598.       cause the script to exit wrong, and our cause the BBS software to
  599.       crash.
  600.  
  601.       Fixed a serious bug in the outbound mail scanning/handling.  When
  602.       a node was sent mail, their entry in the outbound box wasn't being
  603.       pulled for up to 5 minutes after the poll was completed.  It was
  604.       causing the system ot be polled again and again until the 5 minute
  605.       timer was up.  This is corrected.  This wouldn't have created any
  606.       dupe problem, and multiple copies of the mail packet where not
  607.       sent, it was just causing accessive calls to be made.
  608.  
  609.       BBS Action flags editing, and New User Default flag editing would
  610.       cause the BBS software to crash.  This is also fixed.
  611.  
  612.       Made some additional speed improvements in the software.
  613.  
  614.       Some people have been confused by the fact that we store our
  615.       Fidonet mail packets in x.x.x.x.x.domain_name format.  Our mailer
  616.       is 100% Fidonet Standard compatible and will convert the long
  617.       filename on the file to the fidonet xxxxxxxx.xxx format when
  618.       transmitting the mail to anouther fidonet mail.  We store our
  619.       mail in this format to make 5-D addressing easyer, and I personally
  620.       don't think any of you want to sit there and do HEX calculations
  621.       to figure out that xxxxxxxx.xxx is actually a packet going to
  622.       p.1.369.210.0.Fidonet.  If you try to do 5-D addressing with
  623.       mail in the standard fidonet xxxxxxxx.xxx format you lose the
  624.       Zone, Point ID and Domain Name.  The xxxxxxxx.xxx is only a 3-D
  625.       capable format and must be put through a lot of work to make it
  626.       4-D and 5-D capable.  For example you then need a Sub-directory
  627.       for each seperate domain.  Then hope you don't have a BBS with
  628.       the same zone, node and net number, because then we're talking
  629.       serious problems.  So as you can see, we eliminate a lot of
  630.       headaches and potential problems with using our format.
  631.  
  632.       Expectations...
  633.  
  634.           Several people have expected a Printed Manual, Box, and
  635.       Diskettes when registering thier copy of AdeptXBBS.  Several
  636.       things prevent us from being able to do the above.  Cost, Time,
  637.       and the fact that Adept is, and will continue to be in such
  638.       rapid development.  First Cost.  I have made it clear that I will
  639.       gladly start shipping AdeptXBBS with a professional Box, Disk,
  640.       and Manuals when either of the following occure.  The price
  641.       doubles, or we become the #1 selling BBS program available.
  642.  
  643.       Time, there are only a handful of us here.  We've already have
  644.       so much to do that we cannot keep up with it.  Stuffing envelopes
  645.       with diskettes, binding manualls, and then shipping them
  646.       would be the straw that would break us as a company.  We're
  647.       trying to put out the best bbs program ever written.  If you want
  648.       pretty box's and bound documentation there are several companies
  649.       who will give you fluff, but very little content.
  650.  
  651.       Last but not least, rapid development.  We have no plans to stop
  652.       the rapid development process that has been going on for the last
  653.       3 years.  You can certianly expect to see new versions, upgrades,
  654.       bug fixes, and blinding speeds.  This also includes revisions to
  655.       the documentation, enhancements of options, and more.  I would
  656.       like to keep this pace up rather then be bogged down with
  657.       things that in no way effect the programs performance, features,
  658.       and how well it runs, and how satisfied you are with it.
  659.  
  660.       For example we have spent the last several weeks boosting our
  661.       support team, and getting tech support up to something that is
  662.       acceptable.  We're not quite there yet.  Please if you are having
  663.       problems log into our support BBS (407) 477-6310, or telnet to
  664.       AdeptSoft.Com (199.227.57.1) and go into message area #10. Post
  665.       what you need help with or are having a problem with.  Someone
  666.       will certianly help you!
  667.  
  668.       Several people have asked about registrations, I will be spending
  669.       all this next week making sure that every single registered sysop
  670.       has thier registration keys.  If by the end of the week you have
  671.       not received your key e-mail Julies@AdeptSoft.Com,
  672.       Tower@AdeptSoft.Com and Jlawlor@AdeptSoft.Com.  This will insure
  673.       that you absolutely DO get your key.
  674.  
  675.       We would also like to thank everyone who registered.  Please remember
  676.       your feedback on this product is VERY important to us.  We need to
  677.       know your about your good experiences, bad experiences, gripes,
  678.       sugestions, and ideas.  It is you who will mold the direction and
  679.       what features go into this program!
  680.  
  681.       I guess thats enough of my soapbox mode.  Thanks for all of your
  682.       support!
  683.  
  684.        -- Steven
  685.  
  686. 97h - When a user forgets their password or entered it wrong 3 times
  687.       the BBS will look for and autoexecute the menu BadPass.Menu.
  688.       We also look for and display BadPass.Asc/Ans/Te2/Etc
  689.  
  690.       Fixed a bug in both the message and file areas.  We where not
  691.       really handling message and file areas above 1024, this is
  692.       now definatly fixed.
  693.  
  694.       In a Rexx Script we where not allowing access to the bbs variables
  695.       and when they where accessed the BBS software would completely
  696.       crash.  This is corrected.
  697.  
  698. 97i - Not released do to the fact that 97i, and 97l will look almost exactly
  699.       alike and we're not out to totally confuse people.
  700.  
  701. 97j - Policy Change - REXX is NO LONGER A OPTION.  #1 Since so few people
  702.       have not registered AdeptXBBS without the REXX programing sub-system
  703.       and since there are so many rexx scripts being released in such a
  704.       small amount of time we've decided to no longer offer AdeptXBBS
  705.       without the REXX options.  The REXX sub-system is one of the most
  706.       unique features of AdeptXBBS, with over 270 keywords and functions
  707.       and over 500 of our own predefined constants and structors it makes
  708.       adept the most unique BBS ever written for OS/2.  We've told people
  709.       that the rexx engine will give you total control over the BBS.  With
  710.       version 97j we've completely lived up to this promise.
  711.  
  712.       Not all the new rexx functions are going to be completely documented
  713.       in this beta.  In the 3 weeks since the release of the last beta
  714.       we've added so many new functions that keeping up with the docs
  715.       has been a impossible task.  As you can see though some of the
  716.       functions are quite concisely documented and this will be the
  717.       format we will be using for a complete rewrite of the docs in the
  718.       next few weeks.  Once the new docs are finished v1.0 of AdeptXBBS
  719.       will be released.
  720.  
  721.       Added:  AdeptCurPos(line, ##, ##) or AdeptCurPos(line)
  722.  
  723.       The AdeptCurPos function works identically to the OS/2 SysCurPos
  724.       rexx function, except that you must pass the line number, and like
  725.       the SysCurPos function it's 0,0 based, not 1,1.  I.E. In ANSI codes
  726.       1,1 is the upper left hand corner, in Screen Positioning like
  727.       what SysCurPos and AdeptCurPos 0,0 is the upper left hand corner.
  728.  
  729.       Fixed mailer connection problems with Intermail.
  730.       Fixed mailer connection problems with VFIDO.
  731.  
  732.       Fixed a bug in AdeptChangeGroup, it would go into a endless loop.
  733.  
  734.       Fixed a bug with not recognizing +FCO fax connects.
  735.  
  736.       Fixed the spawning of sessions durring events.  The BBS should now
  737.       properly free the port, spawn the program, and restart the port.
  738.  
  739.       Added better filtering to the EMSI mail sessions.
  740.  
  741.       Fixed the 'Lockup' on shutdown problems.
  742.  
  743.       View files is now working again.
  744.  
  745.       Fixed a bug in the Events file save routiens.
  746.  
  747.       Fixed a bug in events ignoring costs, and bad calls, etc based on
  748.       the events setup.
  749.  
  750.       Fixed several problems with REXX and .menu interaction.  For example
  751.       if a menu was called from a rexx script the only way to get back to
  752.       the rexx script was to simulate a user loging off.  This is no longer
  753.       the case, a menu will now return to a rexx script when the Clear All
  754.       Gosubs is called, and when your have reached the first gosub and it
  755.       was the menu called by the rexx script.  Also when a user presses
  756.       the menu items for logoff it trigures a option so that you can check
  757.       and see apon returning from your menu if the user wants to log off.
  758.  
  759.       rc = AdeptRequestsLogoff(line) will return 0 of the user doesn't
  760.                                      want to log off, or 1 if the user
  761.                                      wants to log off.
  762.  
  763.       Function keys now work from the local window!!! And Shift-F10 will
  764.       bring up the right mouse popup if you do not have a mouse.
  765.  
  766.       Fixed the problems with files grunging.  You shouldn't see any
  767.       more problems with the user file grunging, along with the
  768.       configuration and other files.
  769.  
  770.       Did a near complete rewrite of the off-line mail functions.
  771.       .QWK, Bluewave, Fidonet, and Text export should all give the
  772.       same display feedback, and should function identically.  It
  773.       should also be faster.
  774.  
  775.       Changed the date storage method in the message base so that GIGO
  776.       doesn't complain anymore.
  777.  
  778.       Fixed several misc bugs having to do with the message base.
  779.  
  780.       The BBS will now look for and display MsgAreas###.ext, and
  781.       FileAreas###.ext, first before displaying MsgAreas.ext, and
  782.       FileAreas.ext.  The ### is the security level of the user.
  783.  
  784.       The [RUN] option in the language.text will execute a rexx script
  785.       of your choice.
  786.  
  787.       AtEnd.Cmd is now executed locally.
  788.  
  789.       NoMoreTime.[ext] will now be properly displayed when a user is
  790.       logged off and has no more time remaining.
  791.  
  792.       Fixed a bug where adept would count BUSY's as no-connects and report
  793.       that it had lost carrier after a busy signal.
  794.  
  795.       Fixed some bugs in the chat, menu driver, edit options, message base,
  796.       text display functions, and numerious other little fixes here and
  797.       there.
  798.  
  799.       Fixed a message write security bug.
  800.  
  801.       Fixed numerious bugs in the new rexx engine, along with a working
  802.       AdeptChainRexxNC function.
  803.  
  804.       Now when the BBS cannot initialize a modem instead of killing the
  805.       node it marks the node as inactive.  The node can be reactivated
  806.       when the problem is corrected by clicking on mailer, and then
  807.       clicking on Inactive.
  808.  
  809.   RetCode = AdeptRexxStartThread(FileName, [var1 var2 var3 var4])
  810.  
  811.   PARAMETERS
  812.  
  813.       FileName - Name of AdeptRexx program to execute as a background
  814.                  thread.
  815.  
  816.       Var1 - Variable to pass to the rexx program, you can pass as many
  817.              variables you want.  They are not shared once they are
  818.              passed. See - AdeptSetGlobalVar, and AdeptGetGlobalVar
  819.  
  820.   RETURNS
  821.  
  822.       Rexx Error Codes
  823.  
  824.   EXAMPLE
  825.  
  826.       ThreadID = AdeptRexxStart('Thread.Cmd', line)
  827.  
  828.   DESCRIPTION
  829.  
  830.       This will cause the program Thread.Cmd to be run in the backgroung
  831.       with the rexx programing calling it as the parent.  When the
  832.       parent ends, all children and grandchildren are killed with it.
  833.  
  834.       Just one programing note.  DO NOT use functions in the background
  835.       script that sit 'inside' internal adept functions.  For example
  836.       AdeptInput should NEVER be used from a child if you want to be
  837.       able to kill that thread with the AdeptKillRexxThread function.
  838.  
  839.   RELATED FUNCTIONS
  840.  
  841.       AdeptKillRexxThread, AdeptSetGlobalVar, AdeptGetGlobalVar,
  842.       AdeptDropGlobalVar
  843.  
  844.   AdeptRexxKillThread(ThreadID)
  845.   AdeptSetGlobalVar('VarName', Value)
  846.   AdeptGetGlobalVar('VarName')
  847.   AdeptDropGlobalVar('VarName')
  848.  
  849.   Data = ARStrip(Var)  /* Right strips leading spaces and tabs from Var */
  850.   Data = ALStrip(Var)  /* Left strips leading spaces and tabs from Var  */
  851.   Data = AToUpper(Var) /* Converts all text in Var to upper case         */
  852.   Date = AStripCr(Var) /* Strips remaining Cariage returns from Var     */
  853.  
  854. <---------------------------------------------------------------------------->
  855.  
  856.   RetCode = AfSysOpen(Directory, fSysHandle, Create)
  857.  
  858.   FSysOpen should be called by each program in the process which wants
  859.   to use the file system.
  860.  
  861.   PARAMETERS
  862.  
  863.     Directory -
  864.         This is the directory that the files system is located in. Normally
  865.         a program whis uses the Adept file system is started in the '\Adept'
  866.         directory, and the files system would then be in '.\Files', or more
  867.         simply, 'Files'.   The directory name should NOT end with a 
  868.         backslash or forward slash.
  869.  
  870.     FSysHandle - output
  871.         This contains the handle to the file system.
  872.  
  873.     Create - input
  874.         Tells the file system whether to open the current file system files,
  875.         or to create new ones.
  876.  
  877.         FALSE - Open current files.
  878.         TRUE  - Create/Open new files.
  879.  
  880.   RETURNS
  881.  
  882.     Return Code.
  883.  
  884.     AFSysOpen may return the following values:
  885.  
  886.     0           No errors.
  887.     90          FSYS_ERROR_ALLOC_MEM        
  888.     91          FSYS_ERROR_INIT_BIDX
  889.     100         FSYS_ERROR_OPEN_DATA
  890.     101         FSYS_ERROR_OPEN_DESC
  891.     102         FSYS_ERROR_OPEN_PATH
  892.     103         FSYS_ERROR_OPEN_NIDX
  893.     104         FSYS_ERROR_OPEN_DIDX
  894.     105         FSYS_ERROR_OPEN_AIDX
  895.     180         FSYS_ERROR_CREATING_KEY
  896.  
  897.   REMARKS
  898.     A successful AfSysOpen request returns a handle to the file system. All
  899.     other calls to the file system functions require this handle.
  900.  
  901.     Note: When you choose to create a new file system, the indexes are
  902.     destroyed if they exist. All other files are opened, and NOT destroyed.
  903.     If you wish to create all files from scratch, make sure there are no
  904.     files in the directory.
  905.  
  906.     You could call AfSysOpen twice with a different directory to open
  907.     two different files system to copy entries from one file system
  908.     to another.
  909.  
  910.   EXAMPLE CODE
  911.     This example calls AfSysOpen, and uses the current file system files.
  912.  
  913.         RetCode = FSysOpen('.\Files', 'FSysHandle', 'FALSE')
  914.  
  915. <---------------------------------------------------------------------------->
  916.  
  917.   RetCode = AfSysClose(fSysHandle)
  918.  
  919.   AfSysClose close the file system.
  920.  
  921.   PARAMETERS
  922.  
  923.     fSysHandle - input
  924.         Handle to the currently open file system.
  925.  
  926.   RETURNS
  927.     Return Code.
  928.  
  929.     AfSysClose may return the following values:
  930.  
  931.     0           No errors.
  932.  
  933.   EXAMPLE CODE
  934.     This example calls AfSysOpen, and creates new file system files, then
  935.     closes the file system.
  936.  
  937.         RetCode = AfSysOpen('.\Files', 'fSysHandle', 'FALSE')
  938.  
  939.         .
  940.         .
  941.         // use the file system.
  942.         .
  943.         .
  944.  
  945.         RetCode = fSysClose(fSysHandle)
  946.  
  947. <---------------------------------------------------------------------------->
  948.  
  949.   RetCode = AfSysDeleteIndexEntries(fSysHandle)
  950.  
  951.   AfSysDeleteIndexEntries deletes a file from all of the indexes.
  952.  
  953.   PARAMETERS
  954.     fSysHandle - input
  955.         Handle to the currently open file system.
  956.  
  957.   RETURNS
  958.     Return Code.
  959.  
  960.     AfSysDeleteIndexEntries may return the following values:
  961.  
  962.     0           No errors.
  963.     92          FSYS_ERROR_SEM_TIMEOUT
  964.     190         FSYS_ERROR_DELETING_DATED
  965.     191         FSYS_ERROR_DELETING_ANAME
  966.     192         FSYS_ERROR_DELETING_NAME
  967.   
  968.   REMARKS
  969.     AfSysDeleteIndexEntries deletes all refrences to a certain file in the
  970.     indexes. It does NOT remove that files record from the data file.
  971.  
  972.     To set which file you wish to delete, you must either search for, and
  973.     find the file using the searching functions, or you must use the
  974.     AfSysSetIndexXXXXX series of functions to set the correct filename, date,
  975.     area name, and file record offset.  Obviously it is best to search for
  976.     the file, find it, and confirm it is the file you wish to delete before
  977.     you delete it.
  978.  
  979.   EXAMPLE CODE
  980.     Assuming you have already set the file index information this example 
  981.     calls AfSysDeleteIndexEntries to delete the file from the indexes.
  982.  
  983.         RetCode = AfSysDeleteIndexEntries(fSysHandle)
  984.  
  985. <---------------------------------------------------------------------------->
  986.  
  987.   RetCode = AfSysAddIndexEntries(fSysHandle)
  988.  
  989.   AfSysAddIndexEntries adds entries in the indexes for a file.
  990.  
  991.   PARAMETERS
  992.     fSysHandle- input
  993.         Handle to the currently open file system.
  994.  
  995.   RETURNS
  996.     Return Code.
  997.  
  998.     AfSysAddIndexEntries may return the following values:
  999.  
  1000.     0           No errors.
  1001.     92          FSYS_ERROR_SEM_TIMEOUT
  1002.     200         FSYS_ERROR_ADDING_DATED
  1003.     201         FSYS_ERROR_ADDING_ANAME
  1004.     202         FSYS_ERROR_ADDING_NAME
  1005.   
  1006.   REMARKS
  1007.     Index data should be set using the AfSysSetIndexXXXX series of functions
  1008.     before adding a file to the indexes.
  1009.  
  1010.   EXAMPLE CODE
  1011.     This example deletes the old index entries for a file, set the new index
  1012.     data, then adds in the new index entries.
  1013.  
  1014.         FSysDeleteIndexEntries(hFSys)
  1015.  
  1016.         /* set new index data */
  1017.         AfSysGetFileName(fSysHandle, 'Buffer')
  1018.  
  1019.         AfSysSetIndexFilename(fSysHandle, Buffer)
  1020.  
  1021.         AfSysGetFileDate(fSysHandle, 'Date')
  1022.  
  1023.         AfSysSetIndexEntryDate(fSysHandle, Date.1, Date.2, Date.3)
  1024.  
  1025.         AreaNum = FSysGetFileArea(fSysHandle)
  1026.  
  1027.         AfSysSetIndexAreaNumber(fSysHandle, AreaNum)
  1028.  
  1029.         /* add in new index entries */
  1030.         FSysAddIndexEntries(fSysHandle);
  1031.  
  1032. <---------------------------------------------------------------------------->
  1033.  
  1034.   AfSysSetIndexFileName(Handle, FileName)
  1035.   AfSysSetIndexRecordOffset(Handle, Offset)
  1036.   AfSysSetIndexAreaNumber(Handle, PathIndex)
  1037.   AfSysSetIndexEntryDate(Handle, Year, Month, Day)
  1038.   (If Year, Month, and Day are omitted it will use the current date)
  1039.   AfSysSetFileName(Handle, FileName)
  1040.   AfSysGetFileName(Handle)
  1041.   AfSysSetUploader(Handle, UserName)
  1042.   AfSysGetUploader(Handle)
  1043.   AfSysSetFileSize(Handle, FileSize)
  1044.   AfSysGetFileSize(Handle)
  1045.   AfSysSetFileArea(Handle, AreaNum)
  1046.   AfSysGetFileArea(AreaNum)
  1047.   AfSysSetFileDate(Handle, Year, Month, Day)
  1048.   (If Year, Month, and Day are omitted it will use the current date)
  1049.   AfSysGetFileDate(Handle, 'Date.')
  1050.   Returns Date.1 - Year, Date.2 - Month, Date.3 - Day
  1051.   AfSysGetFileDescription(Handle, 'Buffer')
  1052.   Fills Buffer with the full description.
  1053.   AfSysSetFileDescription(Handle, Buffer)
  1054.   Will write buffer as the files description.
  1055.   AfSysSetListable(Handle, 'TRUE' or 'FALSE')
  1056.   AfSysGetListable(Handle)
  1057.   AfSysGetFreeFile(Handle)
  1058.   AfSysGetFreeTime(Handle)
  1059.   AfSysGetFreeBytes(Handle)
  1060.   AfSysgetSecLevel(Handle)
  1061.   AfSysGetCopyFile(Handle)
  1062.   AfSysGetAge(Handle)
  1063.   AfSysGetDlAble(Handle)
  1064.   AfSysGetPathName(Handle)
  1065.   AfSysGetTimesDl(Handle)
  1066.   AfSysSetPathIndex(Handle, PathIndex)
  1067.   AfSysSetAge(Handle, Age)
  1068.   AfSysSetDlAble(Handle, 'TRUE' or 'FALSE')
  1069.   AfSysSetSecLevel(Handle, SecLevel)
  1070.   AfSysSetReadDescFlag(Handle, 'TRUE' or 'FALSE')
  1071.   AfSysSetCopyFile(Handle, 'TRUE' or 'FALSE')
  1072.   AfSysSetFileRecord(Handle)
  1073.   AfSysSetDescOffset(Handle, Offset)
  1074.   AfSysReadFilePath(Handle, Index, 'PathBuffer')
  1075.   AfSysWriteFilePath(Handle, Index, FilePath)
  1076.   AfSysFindFirstName(Handle, Buffer)
  1077.   AfSysFindNextName(Handle)
  1078.   AfSysFindExact(Handle, Buffer, AreaNum)
  1079.   AfSysListFirst(Handle, AreaNum, Date, SearchString)
  1080.   AfSysListNext(Handle)
  1081.   AfSysZeroFileRecord(Handle)
  1082.   AfSysFirstName(Handle)
  1083.   AfSysAddIndexEntries(Handle)
  1084.   AfSysResetFilePtr(Handle)
  1085.   AfSysResetDescFilePtr(Handle)
  1086.   AfSysReadDescriptionLine(Handle, 'DescBuffer')
  1087.   AfSysRawReadFileRecord(Handle)
  1088.  
  1089.   AdeptComPutC(Line, Int)
  1090.   AdeptComWrite(Line, Buffer)
  1091.   AdeptComPeekByte(Line, CheckTime)
  1092.   AdeptComGetByte(Line, CheckTime)
  1093.   AdeptComDoDTR(Line, '1' or '0')
  1094.   AdeptComFlush(Line)
  1095.   AdeptComGetString(Line, Len, CheckTime, WatchChar, Ignore, 'Buffer')
  1096.   AdeptComGetBlock(Line, Len, CheckTime, 'Buffer')
  1097.   AdeptComWaitConnect(Line)
  1098.   AdeptComDial(Line, 'String to Dial')
  1099.  
  1100.   AdeptRawOpenSocket(Flags, 'HostName', PortNum)
  1101.   AdeptRawComOpen(PortName, BaudRate, 'N' or 'E' or 'O', Parity, StopBit, Flags, 'HandleBuf')
  1102.   AdeptRawComClose(Handle)
  1103.   AdeptRawComGetBlock(Handle, Len, CheckTime, 'TRUE' or 'FALSE', 'Buffer')
  1104.   AdeptRawComGetString(Handle, Len, Term, CheckTime, 'TRUE' or 'FALSE', 'Buffer')
  1105.   AdeptRawComWrite(Handle, Buffer, Length)
  1106.   AdeptRawSetBPS(Handle, BaudRate)
  1107.   AdeptRawComLink(Handle, ToComHandle)
  1108.  
  1109.   ReturnComPort(Line, Port, Port, Port, etc)
  1110.  
  1111.   AdeptTimeLeft(Line, [NewTime, '1' or '0'])
  1112.   AdeptCurPos(line, etc etc, check the OS/2 docs)
  1113.  
  1114.   Print(line, 'data to display')
  1115.    The print function differs from all the other print functions in that
  1116.    meta variables and \ metas are not converted. i.e. \r\n will not produce
  1117.    a carriage return/new line.
  1118.   AdeptPrintL
  1119.  
  1120.   AChatSendMsg(Line, Flags, Msg, Text)
  1121.   AChatGetMsg(Line, To, From, Text)
  1122.  
  1123.   AdeptCheckCard(Card Number)
  1124.  
  1125.  --- Language Text Changes ---------------------------------------------------
  1126.  
  1127.   If you decided NOT to overwrite your Language.text you will need to replace
  1128.   the following lines with the below info.
  1129.  
  1130.   #590
  1131.   [Cvt][Str]File: %s  **  Page #%u\r\n
  1132.   #591
  1133.    (END)
  1134.   #592
  1135.   [Cvt]\r\nNot found\r\n
  1136.   #593
  1137.   [Cvt][Str]\r\n Search string: [%s]\r\n -> ;
  1138.   #594
  1139.   [Cvt]\r\nNot yet implemented\r\n
  1140.   #595
  1141.   Next Page
  1142.   Prev Page
  1143.   Home
  1144.   End
  1145.   Find String
  1146.   Over
  1147.   More
  1148.   Stop
  1149.   #596
  1150.   [N]ext Page, P)rev Page, H)ome, E)nd, F)ind String, O)ver, M)ore, S)top
  1151.  
  1152.  --- Language Text Changes ---------------------------------------------------
  1153.  
  1154.   Sorry about the state of the READ.ME file.  While the pre-release is
  1155.   available we'll work on the docs, and read.me's to make them more
  1156.   professional.
  1157.  
  1158. v1.02
  1159.  
  1160.  
  1161. When checking use socket and use telnet it would check both - Fixed
  1162. The BBS Software would trap if it couldn't bind a socket    - Fixed
  1163. Hanging up on a user sometimes doesn't work                 - Fixed
  1164. Yoohoo/2u2 Sessions would sometimes fail                    - Fixed
  1165. Zedzap sessions with TBBS and other systems was fail        - Fixed
  1166.  
  1167. Added a 'NOEMSI' option to the Mailer->Controls pulldown.
  1168.  
  1169. Archive was missing the following files:
  1170.  
  1171. XMSG.EXE, Unuke.Exe, and Usermod.Exe - Included
  1172.  
  1173. GS.EXE was corrupt - Replaced
  1174.  
  1175. GATEKPR.EXE now defaults to the text mode version.  GatePm.Exe is the
  1176. PM version of gatekpr.  The doscall1.dll errors should be fixed.  I think
  1177. it too was a cause of a corrupt .exe file.
  1178.  
  1179. v1.04
  1180.  
  1181. Fixed several Zmodem problems that cropped up in the v1.0x series of the
  1182. BBS software.
  1183.  
  1184. Increased Zmodem efficiency.
  1185.  
  1186. Fixed several bugs in Gatekpr.exe, there is ONLY the PM version in this
  1187. release.
  1188.  
  1189. Fixed several problems with the Prompts System, it should be over twice
  1190. as fast.
  1191.  
  1192. Fixed some problems with the meta conversion system, it too should be
  1193. almost twice as fast.
  1194.  
  1195. Fixed NNTP File Corruption.
  1196.  
  1197. Added two new command line options.
  1198.  
  1199. /NOFREEALIAS - This could fix some possible traps that some people are
  1200.                having and should not really effect system usage much at
  1201.                all.
  1202.  
  1203. /MEMDEBUG    - Turn on memory allocation debugging.  This will REALLY slow
  1204.                the BBS Software down, but will give us info on anything
  1205.                in the memory allocaton/deallocation that might go wrong.
  1206.  
  1207. Added several very high level file system functions to the AdeptREXX system.
  1208.  
  1209. AfSysGetAreaFileList(hFsys, AreaNumber, 'ListBuffer')
  1210.  
  1211. Returns = ListBuffer.0 = Number of Files in Current Area
  1212.           ListBuffer.1.1 = File Name
  1213.           ListBuffer.1.2 = File Path
  1214.           ListBuffer.1.3 = File Size
  1215.           ListBuffer.1.4 = File Ul Date
  1216.           ListBuffer.1.5 = Times Downloaded
  1217.  
  1218.           ListBuffer.2.# - Next File Name until last number of files
  1219.  
  1220. AFSysAddFile(hFsys, AreaNumber, FileName, FilePath with trailing '\',
  1221.              Description, FileSize)
  1222.  
  1223. AfSysMoveFile(hFSys, AreaFromNumber, AreaToNumber, FileName)
  1224.  
  1225. AfSysDelFile(hFSys, AreaNumber, FileName)
  1226.  
  1227. Comming in v1.05 -
  1228.  
  1229.  Full Enhanced Support for Durand Communications Windows Interface Protocol.
  1230.  More Internet Options.
  1231.  
  1232. v1.05 -
  1233.  
  1234.   W.I.P. was delayed while we rewrite the AdeptXBBS menu system.
  1235.  
  1236.   Included the complete documentation for the @SPTH supported by AdeptXBBS
  1237.   with sample source and more.  If you are a developer PLEASE add support
  1238.   for this much improved 'PATH' line into your software.  Once two other
  1239.   programs support the SPTH we will gladly add support for the PATH
  1240.   kludge.  The PATH line is a 2-D fidonet Kludge, the SPTH is a 5-D
  1241.   capable version of the PATH.
  1242.  
  1243.   v1.05 has probably the most tested and debugged version of AdeptXBBS
  1244.   released to date.  This is one of the reason why there has been such a
  1245.   gap between the release of v1.04 -> v1.05.
  1246.  
  1247.   The following known bugs have been fixed in the BBS software and related
  1248.   programs.
  1249.  
  1250.   All known .TIC processing bugs are fixed.
  1251.  
  1252.   All known Areafix processing bugs are fixed.
  1253.  
  1254.   Fixed a password packet problem with Gatekpr.
  1255.  
  1256.   Gatekpr trapping on exit is fixed for most people, we have a debug version
  1257.   for those who are still having trap problems.  You can contact us on the
  1258.   support BBS for a copy.
  1259.  
  1260.   FAX is fixed!  The setup of the fax has also changed.  Now when the BBS
  1261.   receives a fax connect it spawns the file FIX#.CMD # = the node number
  1262.   that is receiving the fax.  Please check out the AdeptXBBS FAQ for more
  1263.   details on setting up faxing.
  1264.  
  1265.   Fixed a serious design flaw in the BBS software.  We had to rewrite two
  1266.   very large sections of code in order to fix this one.  With this rewrite
  1267.   some areas of the BBS software are now 4-5x's faster then the previous
  1268.   versions.  This fixed all known random traps!  People who couldn't get
  1269.   AdeptXBBS to stay up for more then a short period of time should no
  1270.   longer have any more stability problems.
  1271.  
  1272.   All known startup problems are fixed in v1.05.  Those of you who couldn't
  1273.   get the software to even run before shouldn't have any problems now.  The
  1274.   events problem mentioned in install.cmd may still exist.
  1275.  
  1276.   If you are still having stability problems, I.E. ZedZap not working, or
  1277.   random traps in .QWK or Bluewave support delete your Line_#_Configuration
  1278.   files and reconfigure the BBS software.  It looks like these files have
  1279.   been corrupted on some people over time and have caused strange problems
  1280.   with the BBS software.
  1281.  
  1282.   Added a NNTP Ctrl pull down.  This will let you know the status of
  1283.   incomming and outgoing NNTP messages.  We also fixed many known bugs
  1284.   in the NNTP support.  You can abort a NNTP mail process by clicking on
  1285.   the STOP option in this pull down.  It will cleanly close a NNTP
  1286.   connect so that you can shut the BBS down.
  1287.  
  1288.   The BBS software was not displaying toomanypages.asc when a user had
  1289.   paged the sysop too many times.
  1290.  
  1291.   I would really like to thank several of our registered sysops (you know
  1292.   who you are) who willingly went through hell to help us find the bugs
  1293.   in this latest version, we wouldn't have found them without you.
  1294.  
  1295.  
  1296. /* Sample Rexx Script to see if a user has expired and expire them */
  1297.  
  1298. ARG Line
  1299.  
  1300.  Expire = AdeptUserExpire(line)
  1301.  
  1302.  if(Expire < 10) then
  1303.  do
  1304.      AdeptPrint(line, '\r\nYou expire in ' || Expire || ' Days\r\n')
  1305.  end
  1306.  
  1307.  if(Expire = 0) then
  1308.  do
  1309.      ExpGroup = AdeptGetVar(line, 65)
  1310.      AdeptChangeGroup(line, ExpGroup)
  1311.  end
  1312.  
  1313. /* End Sample Rexx Script */
  1314.  
  1315.  
  1316.