home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / CDOR0811.ZIP / SOURCE.ZIP / RBBSSUB6.BAS < prev    next >
Encoding:
BASIC Source File  |  1993-08-11  |  202.2 KB  |  2,537 lines

  1. ' $segment                                                           ' DD091303
  2. ' $linesize:132                                                      ' DD090203
  3. ' $title: 'RBBSSUB6.BAS 17.4'                                        ' DD090203
  4. '                                                                    ' DD090203
  5. ' Subroutine  Line               Function of Subroutine              ' DD090203
  6. '   Name     Number                                                  ' DD090203
  7. '                                                                    ' DD090203
  8. '  $INCLUDE: 'RBBS-VAR.BAS'                                          ' DD090203
  9. '                                                                    ' DD091303
  10. 100   SUB DoorSys STATIC                                             ' DD091701
  11.       CALL TimeRemain (MinsRemaining)                                'ER 06/05/92
  12.       Close 2                                                        ' DD091701
  13.       OPEN "O", 2, ZNodeWorkDrvPath$ + "DOOR.SYS"                    'ER 05/31/92
  14.       IF ZLocalUser THEN _                                           ' DD092302/DOORSYS
  15.          PRINT #2, "COM0:" _                                         ' DD092302/DOORSYS
  16.       ELSE PRINT #2, ZComPort$ + CHR$(58)                       '(1) ' DD092302/DOORSYS
  17.       PRINT #2, ZCBaud$                                         '(2) 'ER 05/30/92
  18.       ZPosition% = INSTR(ZBaudParity$, "N,")                         'ER 06/17/92
  19.       PRINT #2, MID$(ZBaudParity$, ZPosition% + 2, 1)           '(3) 'ER 06/17/92
  20.       PRINT #2, ZNodeFileID$                                    '(4) 'ER 05/30/92
  21.       PRINT #2, ZTalkToModemAt$                                 '(5) ' DD092302/DOORSYS
  22.       IF ZSnoop = -1 THEN _                                     '(6) ' DD092302/DOORSYS
  23.          PRINT #2, CHR$(89) _                                        ' DD021301
  24.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  25.       IF ZPrinter = -1 THEN _                                   '(7) 'ER 05/30/92
  26.          PRINT #2, CHR$(89) _                                        ' DD021301
  27.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  28.       IF ZSysopAvail = -1 OR ZSysopAnnoy = -1 THEN _            '(8) 'ER 06/05/92
  29.          PRINT #2, CHR$(89) _                                             'ER 06/05/92
  30.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  31.       IF ZSysopAvail = -1 OR ZSysopAnnoy = -1 THEN _            '(9) 'ER 06/05/92
  32.          PRINT #2, CHR$(89) _                                        ' DD021301
  33.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  34.       IF ZGlobalSysop THEN _                                   '(10) 'ER 05/30/92
  35.          PRINT #2, ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$ _  ' DD021301
  36.       ELSE PRINT #2, OrigFirstName$ + SPACE$(1) + ZLastName$         ' DD021301
  37.       PRINT #2, ZCityState$                                    '(11) ' DD092302/DOORSYS
  38.       PRINT #2, ""    'Home Phone                              '(12) ' DD092302/DOORSYS
  39.       PRINT #2, ""    'Data Phone                              '(13) ' DD092302/DOORSYS
  40.       PRINT #2, ZPswdSave$                                     '(14) 'ER 05/30/92
  41.       ZZ$ = STR$(ZUserSecLevel)                                      'RT070192
  42.       CALL Trim(ZZ$)                                                 'RT070192
  43.       PRINT #2, ZZ$                                            '(15) 'RT070192
  44.       ZZ$ = STR$(ZTimesLoggedOn)                                     'RT070192
  45.       CALL Trim(ZZ$)                                                 'RT070192
  46.       PRINT #2, ZZ$                                            '(16) 'RT070192
  47.       PRINT #2, MID$(ZLastDateTimeOn$, 1, 2) + CHR$(47) + _          ' DD021301
  48.                 MID$(ZLastDateTimeOn$, 4 ,2) + CHR$(47) + _          ' DD021301
  49.                 MID$(ZLastDateTimeOn$, 7 ,2)                         'ER 06/05/92
  50.       CALL TimeRemain (MinsRemaining)                                ' DD020901
  51.       CALL CheckInt (ZDoorTime$)                                     ' DD020901
  52.       IF ZErrCode = 0 AND ZTestedIntValue > 0 THEN _                 ' DD020901
  53.          IF MinsRemaining > ZTestedIntValue THEN _                   ' DD020901
  54.             MinsRemaining = ZTestedIntValue                          ' DD020901
  55.       ZZ$ = STR$(INT(MinsRemaining) * 60)                            ' DD020901
  56.       CALL Trim(ZZ$)                                                 'RT070192
  57.       PRINT #2, ZZ$                                            '(18) 'RT070192
  58.       PRINT #2,INT(MinsRemaining)                              '(19) ' DD020901
  59.       IF ZWasGR = 4 THEN                                             ' DD071702
  60.          PRINT #2, "RIP"                                       '(20) ' DD071702
  61.       ELSEIF ZWasGR = 2 OR ZWasGR = 3 THEN                           ' DD071702
  62.          PRINT #2, "GR"                                              ' DD071702
  63.       ELSE                                                           ' DD071702
  64.          PRINT #2, "NG"                                              ' DD071702
  65.       END IF                                                         ' DD071702
  66.       ZZ$ = STR$(ZPageLength)                                        'RT070192
  67.       CALL Trim(ZZ$)                                                 'RT070192
  68.       PRINT #2, ZZ$                                            '(21) 'RT070192
  69.       IF ZExpertUser THEN _                                    '(22) ' DD092302/DOORSYS
  70.          PRINT #2, CHR$(89) _                                        ' DD021301
  71.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  72.       PRINT #2, ""       'Conferences registered in            '(23) ' DD092302/DOORSYS
  73.       ZZ$ = ZConfName$                                               ' DD092302/DOORSYS
  74.       CALL Trim (ZZ$)                                                ' DD092302/DOORSYS
  75.       PRINT #2, ZZ$                                            '(24) ' DD092302/DOORSYS
  76.       PRINT #2, ZExpirationDate$                               '(25) ' DD092302/DOORSYS
  77.       ZZ$ = STR$(ZUserFileIndex)                                     'RT070192
  78.       CALL Trim(ZZ$)                                                 'RT070192
  79.       PRINT #2, ZZ$                                            '(26) 'RT070192
  80.       PRINT #2, ZUserXferDefault$                              '(27) ' DD092302/DOORSYS
  81.       IF ZUplds = 0 THEN _                                           ' DD021403
  82.          PRINT #2, CHR$(49) _                                        ' DD021301
  83.       ELSE _                                                         ' DD021403
  84.          ZZ$ = STR$(ZUplds) : _                                      ' DD021403
  85.          CALL Trim(ZZ$) : _                                          ' DD021403
  86.          PRINT #2, ZZ$                                         '(28) ' DD021403
  87.       ZZ$ = STR$(ZDnlds)                                             'RT070192
  88.       CALL Trim(ZZ$)                                                 'RT070192
  89.       PRINT #2, ZZ$                                            '(29) 'RT070192
  90.       ZZ$ = STR$(ZBytesToday!)                                       'RT070192
  91.       CALL Trim(ZZ$)                                                 'RT070192
  92.       PRINT #2, ZZ$                                            '(30) 'RT070192
  93.       IF ZByteMethod = 3 THEN _                                      ' DD092302/DOORSYS
  94.          Today# = ZRatioRestrict# - ZBytesToday! - ZNumDnldBytes! : _' DD092302/DOORSYS
  95.          ZZ$ = STR$(Today#) : _                                      ' DD092302/DOORSYS
  96.          CALL Trim(ZZ$) : _                                          ' DD092302/DOORSYS
  97.          PRINT #2, ZZ$ _                                             ' DD092302/DOORSYS
  98.       ELSE PRINT #2, ""                                              ' DD092302/DOORSYS
  99.       PRINT #2, ""         'Callers birthday mm/dd/yy          '(32) ' DD092302/DOORSYS
  100.       CALL BreakFileName (ZMainUserFile$,Drive$,filename$,extension$,ZFalse) ' DD092302/DOORSYS
  101.       PRINT #2, Drive$                                         '(33) ' DD092302/DOORSYS
  102.       PRINT #2, ""   'Path to GEN Directory                    '(34) ' DD092302/DOORSYS
  103.       PRINT #2, ZSysopFirstName$                               '(35) ' DD092302/DOORSYS
  104.       PRINT #2, ZActiveUserName$                               '(36) ' DD092302/DOORSYS
  105.       PRINT #2, ""   'Event Time        (hh:mm)                '(37) ' DD092302/DOORSYS
  106.       IF ZReliableMode = -1 THEN _                             '(38) 'ER 06/17/92
  107.          PRINT #2, CHR$(89) _                                        ' DD021301
  108.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  109.       PRINT #2, ""       'ANSI Supported but caller is NG (Y,N)'(39) 'ER 06/09/92
  110.       IF ZShareIt THEN _                                       '(40) ' DD092302/DOORSYS
  111.          PRINT #2, CHR$(89) _                                        ' DD021301
  112.       ELSE PRINT #2, CHR$(78)                                        ' DD021301
  113.       PRINT #2, ""       'BBS Default color     (1-15)         '(41) 'ER 06/09/92
  114.       ZZ$ = STR$(ASC(ZBankTime$))                                    'RT070192
  115.       CALL Trim(ZZ$)                                                 'RT070192
  116.       PRINT #2, ZZ$                                            '(42) 'RT070192
  117.       CALL UnPackDIRDate (ZListNewDate$, ZZ$,CHR$(47))               '(43) ' DD062606
  118.       PRINT #2, ZZ$                                                  ' DD092302/DOORSYS
  119.       PRINT #2, LEFT$(ZTimeLoggedOn$, 5)                       '(44) 'ER 06/05/92
  120.       PRINT #2, RIGHT$(ZLastDateTimeOnSave$, 5)                '(45) 'ER 06/05/92
  121.       PRINT #2, ""       'Max daily files limit                '(46) ' DD092302/DOORSYS
  122.       ZZ$ = STR$(ZDLToday!)                                          'RT070192
  123.       CALL Trim(ZZ$)                                                 'RT070192
  124.       PRINT #2, ZZ$                                            '(47) 'RT070192
  125.       ZZ$ = STR$(ZULBytes!/1000)                                     'RT070192
  126.       CALL Trim(ZZ$)                                                 'RT070192
  127.       PRINT #2, ZZ$                                            '(48) 'RT070192
  128.       ZZ$ = STR$(ZDLBytes!/1000)                                     'RT070192
  129.       CALL Trim(ZZ$)                                                 'RT070192
  130.       PRINT #2, ZZ$                                            '(49) 'RT070192
  131.       PRINT #2, "RBBS-PC is the Best!"                         '(50) 'ER 06/05/92
  132.       PRINT #2, ""      'Total Doors opened                    '(51) ' DD092302/DOORSYS
  133.       PRINT #2, ""      'Total Messages left                   '(52) ' DD092302/DOORSYS
  134.       CLOSE 2                                                        ' DD091701/DOORSYS
  135.       END SUB                                                        'ER 06/17/92
  136. '                                                                    ' DD121702
  137. 200   SUB PCBoardSys STATIC                                          ' DD121702
  138. '                                                                    ' DD121702
  139.       CALL TimeRemain (MinsRemaining)                                ' DD121702
  140.       CLOSE 2                                                        ' DD121702
  141.       OPEN ZNodeWorkDrvPath$ + "PCBOARD.SYS" FOR RANDOM AS #2 LEN = 128' DD121702
  142.       FIELD #2, 128 AS CONTENTS$                                     ' DD121702
  143.       Template$ = STRING$(128,32)                                    ' DD121702
  144.       IF ZSnoop THEN _                                               ' DD121702
  145.          MID$(Template$,1,2) = "-1" _                                ' DD121702
  146.       ELSE MID$(Template$,1,2) = " 0"                                ' DD121702
  147.       IF ZPrinter THEN _                                             ' DD121702
  148.          MID$(Template$,3,2) = "-1" _                                ' DD121702
  149.       ELSE MID$(Template$,3,2) = " 0"                                ' DD121702
  150.       IF ZSysopAvail THEN _                                          ' DD121702
  151.          MID$(Template$,5,2) = "-1" _                                ' DD121702
  152.       ELSE MID$(Template$,5,2) = " 0"                                ' DD121702
  153.       MID$(Template$,7,2) = " 0"                                     ' DD121702
  154.       IF ZSysop THEN _                                               ' DD121702
  155.          MID$(Template$,9,1) = CHR$(88) _                            ' DD021301
  156.       ELSE MID$(Template$,9,1) = CHR$(78)                            ' DD021301
  157.       IF ZReliableMode THEN _                                        ' DD121702
  158.          MID$(Template$,10,2) = "-1" _                               ' DD121702
  159.       ELSE MID$(Template$,10,2) = " 0"                               ' DD121702
  160.       ZZ$ = CHR$(78)                                                 ' DD021301
  161.       IF ZWasGR > 1 THEN _                                           ' DD121702
  162.          ZZ$ = CHR$(89)                                              ' DD021301
  163.       IF INSTR(ZBaudParity$, ",7") THEN _                            ' DD121702
  164.          ZZ$ = CHR$(55)                                              ' DD021301
  165.       MID$(Template$,12,1) = ZZ$                                     ' DD121702
  166.       IF ZAvailableForChat THEN _                                    ' DD121702
  167.          MID$(Template$,13,1) = CHR$(65) _                           ' DD021301
  168.       ELSE MID$(Template$,13,1) = CHR$(85)                           ' DD021301
  169.       MID$(Template$,14,5) = RIGHT$(ZTalkToModemAt$,5)               ' DD121702
  170.       IF ZLocalUser THEN _                                           ' DD121702
  171.          MID$(Template$,19,5) = "local" _                            ' DD121702
  172.       ELSE MID$(Template$,19,5) = RIGHT$(ZCBaud$,5)                  ' DD121702
  173.       LSET temp$ = MKI$(VAL(ZUserRecord$))                           ' DD121702
  174.       MID$(Template$,24,2) = temp$                                   ' DD121702
  175.       MID$(Template$,26,15) = LEFT$(OrigFirstName$,15)               ' DD121702
  176.       MID$(Template$,41,12) = LEFT$(ZPswdSave$,12)                   ' DD121702
  177.       MID$(Template$,53,2) = MKI$(ZStartTime)                        ' DD121702
  178.       MID$(Template$,55,2) = MKI$(ZElapsedTime)                      ' DD121702
  179.       MID$(Template$,57,5) = LEFT$(ZTimeLoggedOn$,5)                 ' DD121702
  180.       MID$(Template$,62,2) = MKI$(ZTempTimeAllowed)                  ' DD121702
  181.       IF ZGlobalSysop THEN _                                         ' DD121702
  182.          UserName$ =  ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$ _ ' DD021301
  183.       ELSE UserName$ =  OrigFirstName$ + SPACE$(1) + ZLastName$      ' DD021301
  184.       MID$(Template$,85,25) = LEFT$(UserName$,25)                    ' DD121702
  185.       CALL TimeRemain (MinsRemaining)                                ' DD020901
  186.       CALL CheckInt (ZDoorTime$)                                     ' DD020901
  187.       IF ZErrCode = 0 AND ZTestedIntValue > 0 THEN _                 ' DD020901
  188.          IF MinsRemaining > ZTestedIntValue THEN _                   ' DD020901
  189.             MinsRemaining = ZTestedIntValue                          ' DD020901
  190.       pcboardtime = INT(MinsRemaining)                               ' DD121702
  191.       IF pcboardtime > 99 THEN _                                     ' DD121702
  192.          pcboardtime = 99                                            ' DD121702
  193.       min$ = SPACE$(2)                                               ' DD021301
  194.       LSET min$ = MKI$(pcboardtime)                                  ' DD121702
  195.       MID$(Template$,110,2) = min$                                   ' DD121702
  196.       ZZ$ = ZNodeID$                                                 ' DD121702
  197.       CALL Trim (ZNodeID$)                                           ' DD121702
  198.       MID$(Template$,112,1) = LEFT$(ZNodeID$,1)                      ' DD121702
  199.       MID$(Template$,126,1) = MID$(ZComPort$,4,1)                    ' DD121702
  200.       LSET CONTENTS$ = Template$                                     ' DD121702
  201.       PUT 2,1                                                        ' DD121702
  202.       CLOSE #2                                                       ' DD121702
  203.       END SUB                                                        ' DD121702
  204. '                                                                    ' DD121702
  205. ' * UnPackDIRDate - takes ZListNewDate$ and converts to readable text' DD062606
  206. '                                                                    ' DD062606
  207. 600 SUB UnPackDIRDate (SourceStr$, OutStr$, DateSeparator$)          ' DD062606
  208.     OutStr$ = RIGHT$(STR$(ASC(MID$(SourceStr$,2))),2) + _    ' MM    ' DD062606
  209.            DateSeparator$ + _                                        ' DD062606
  210.            RIGHT$(STR$(ASC(MID$(SourceStr$,3))),2) + _       ' DD    ' DD062606
  211.            DateSeparator$ + _                                        ' DD062606
  212.            RIGHT$(STR$(ASC(SourceStr$)),2)                   ' YY    ' DD062606
  213.     IF MID$(OutStr$,1,1) = SPACE$(1) THEN                            ' DD062606
  214.        MID$(OutStr$,1,1) = CHR$(48)                                  ' DD062606
  215.     END IF                                                           ' DD062606
  216.     IF MID$(OutStr$,4,1) = SPACE$(1) THEN                            ' DD062606
  217.        MID$(OutStr$,4,1) = CHR$(48)                                  ' DD062606
  218.     END IF                                                           ' DD062606
  219.     IF MID$(OutStr$,7,1) = SPACE$(1) THEN                            ' DD062606
  220.        MID$(OutStr$,7,1) = CHR$(48)                                  ' DD062606
  221.     END IF                                                           ' DD062606
  222.     END SUB                                                          ' DD062606
  223. '                                                                    ' DD062904
  224. ' * set default toggle options for all new users                     ' DD062904
  225. '                                                                    ' DD062904
  226. 759 SUB SetToggles                                                   ' DD062904
  227.     ZNulls       = ZFalse                                            ' DD062904
  228.     ZUpperCase   = ZFalse                                            ' DD062904
  229.     ZPageLength  = ZPageLengthDef                                    ' DD062904
  230.     ZRightMargin = 74                                                ' DD062904
  231.     ZReadNewMail = ZTrue                                             ' DD070102
  232.     ZReselectAll = ZFalse                                            ' DD070103
  233.     ZMorePromptLF = ZFalse                                           ' DD070104
  234.     ZReselectGraphics = ZFalse                                       ' DD070105
  235.     END SUB                                                          ' DD062904
  236. '                                                                    ' DD062903
  237. ' * NewUserToggles - select various toggle options for new users     ' DD062903
  238. '                                                                    ' DD062903
  239. 760 SUB NewUserToggles                                               ' DD062903
  240. '                                                                    ' DD063002
  241.     DoYouWant$ = "Do you want "                                      ' DD063002
  242.     CALL SkipLine (1)                                                ' DD063002
  243.     CALL QuickTPut1 (ZFGB$ + ZBG1$ + _                               ' DD063002
  244.                      "Please select your preferences " + _           ' DD063002
  245.                      "for the following options" + _                 ' DD063002
  246.                      ZEmphasizeOff$)                                 ' DD063002
  247.     CALL QuickTPut1 (ZFGB$ + ZBG1$ + _                               ' DD063002
  248.                      "Recommended settings can be " + _              ' DD063002
  249.                      "selected by pressing ENTER " + _               ' DD063002
  250.                      ZEmphasizeOff$)                                 ' DD063002
  251. '                                                                    ' DD062903
  252. '   Selection of ANSIEd                                              ' DD062903
  253. '                                                                    ' DD062903
  254.     ZOutTxt$ = ZFG2$ + "Use the " + ZFGE$ + "FULL SCREEN " + _       ' DD062903
  255.                ZFG2$ + "Editor for entering messages"                ' DD062903
  256.     GOSUB 765                                                        ' DD062903
  257.     ZFullScreenEditor = NOT ZNo                                      ' DD062903
  258.     CALL Toggle (-1)                                                 ' DD062903
  259. '                                                                    ' DD070102
  260. ' * Read All New Mail                                                ' DD070102
  261. '                                                                    ' DD070102
  262.     IF NOT ZSkipMailCheck THEN                                       ' DD070102
  263.        ZOutTxt$ = ZFG2$ + "Read All " + ZFGE$ + _                    ' DD070102
  264.                   "NEW MAIL " + ZFG2$ + "at logon"                   ' DD070102
  265.        GOSUB 765                                                     ' DD070102
  266.        ZReadNewMail = NOT ZNo                                        ' DD070102
  267.        CALL Toggle (-14)                                             ' DD070102
  268.     END IF                                                           ' DD070102
  269. '                                                                    ' DD063002
  270. '                                                                    ' DD062903
  271. ' * Review New Bulletins                                             ' DD062903
  272. '                                                                    ' DD062903
  273.     ZOutTxt$ = ZFG2$ + "Review All " + ZFGE$ + "BULLETINS " + _      ' DD062903
  274.                ZFG2$ + "at Logon"                                    ' DD062903
  275.     GOSUB 765                                                        ' DD062903
  276.     ZCheckBulletLogon = NOT ZNo                                      ' DD062903
  277.     CALL Toggle (-2)                                                 ' DD062903
  278. '                                                                    ' DD062903
  279. ' * Check new files                                                  ' DD062903
  280. '                                                                    ' DD062903
  281.     IF ZNewFilesCheck THEN                                           ' DD062903
  282.        ZOutTxt$ = ZFG2$ + "Always Check for " + ZFGE$ + _            ' DD062903
  283.                   ZFGE$ + "NEW FILES " + ZFG2$ + "at Logon"          ' DD062903
  284.        GOSUB 765                                                     ' DD062903
  285.        ZSkipFilesLogon = ZNo                                         ' DD062903
  286.        CALL Toggle (-4)                                              ' DD062903
  287.     END IF                                                           ' DD062903
  288. '                                                                    ' DD062903
  289. ' * Extended DIR Listing                                             ' DD062903
  290. '                                                                    ' DD062903
  291.     ZOutTxt$ = ZFG2$ + DoYouWant$ + ZFGE$ + _                        ' DD062903
  292.                "EXTENDED " + ZFG2$ + "directory " + _                ' DD062903
  293.                "listings when listing files"                         ' DD062903
  294.     GOSUB 765                                                        ' DD062903
  295.     ZExtendedOff = ZNo                                               ' DD062903
  296.     CALL Toggle (-12)                                                ' DD062903
  297. '                                                                    ' DD062903
  298. ' * Case Change                                                      ' DD062903
  299. '                                                                    ' DD062903
  300.     IF ZWasGR < 1 AND ZHiLiteOff THEN                                ' DD062903
  301.        ZOutTxt$ = ZFG2$ + DoYouWant$ + ZFGE$ + "UPPER CASE " + _     ' DD062903
  302.                   ZFG2$ + "only" + _                                 ' DD062903
  303.                   ZEmphasizeOff$ + ZNoPrompt$                        ' DD062903
  304.        GOSUB 768                                                     ' DD062903
  305.        ZUpperCase = ZYes                                             ' DD062903
  306.        CALL Toggle (-3)                                              ' DD062903
  307.     END IF                                                           ' DD062903
  308. '                                                                    ' DD062903
  309. ' * Prompt Bell                                                      ' DD062903
  310. '                                                                    ' DD062903
  311.     CALL PutCom (ZBellRinger$)                                       ' DD062903
  312.     ZOutTxt$ = ZFG2$ + DoYouWant$ + "the " + ZFGE$ + _               ' DD062903
  313.                "PROMPT BELL " + ZFG2$ + "at every Prompt" + _        ' DD062903
  314.                ZEmphasizeOff$ + ZNoPrompt$                           ' DD062903
  315.     GOSUB 768                                                        ' DD062903
  316.     ZPromptBell = ZYes                                               ' DD062903
  317.     CALL Toggle (-10)                                                ' DD062903
  318. '                                                                    ' DD070402
  319. ' * ANSI Music                                                       ' DD070402
  320. '                                                                    ' DD070402
  321.     IF ZWasGR > 1 THEN                                               ' DD070402
  322.        ZOutTxt$ = ZFG2$ + DoYouWant$ + ZFGE$ + _                     ' DD070402
  323.                   "ANSI Music" + ZEmphasizeOff$ + ZNoPrompt$         ' DD070402
  324.        GOSUB 768                                                     ' DD070402
  325.        ZANSIMusic = ZYes                                             ' DD070402
  326.        CALL Toggle (-15)                                             ' DD070402
  327.     END IF                                                           ' DD070402
  328. '                                                                    ' DD062903
  329. ' * Lines Per Page                                                   ' DD062903
  330. '                                                                    ' DD062903
  331.     IF ZWasGR <> 4 THEN                                              ' DD062903
  332.        CALL LinesPerPage                                             ' DD062903
  333.     END IF                                                           ' DD062903
  334. '                                                                    ' DD070104
  335. ' * More Prompt LF                                                   ' DD070104
  336. '                                                                    ' DD070104
  337.     ZOutTxt$ = ZFG2$ + DoYouWant$ + ZFGE$ + _                        ' DD070104
  338.                "MORE PROMPTS " + ZFG2$ + "erased"                    ' DD070104
  339.     GOSUB 765                                                        ' DD070104
  340.     ZMorePromptLF = ZNo                                              ' DD070104
  341.     CALL Toggle (-13)                                                ' DD070104
  342. '                                                                    ' DD062903
  343. ' * Internode Chat Availability                                      ' DD062903
  344. '                                                                    ' DD062903
  345.     ZOutTxt$ = ZFG2$ + DoYouWant$ + "to be " + ZFGE$ + _             ' DD062903
  346.                "AVAILABLE " + ZFG2$ + "for InterNode Chat"           ' DD062903
  347.     GOSUB 765                                                        ' DD062903
  348.     ZAvailableForChat = NOT ZNo                                      ' DD062903
  349.     CALL Toggle (-11)                                                ' DD062903
  350. '                                                                    ' DD062903
  351. ' * Select TurboKeys                                                 ' DD062903
  352. '                                                                    ' DD062903
  353.     IF ZWasGR <> 4 THEN                                              ' DD062903
  354.        CALL SelectTurboKeys                                          ' DD062903
  355.     END IF                                                           ' DD062903
  356. '                                                                    ' DD062903
  357.     EXIT SUB                                                         ' DD062903
  358. '                                                                    ' DD062903
  359. 765 ZOutTxt$ = ZOutTxt$ + ZEmphasizeOff$ + ZYesPrompt$               ' DD062903
  360. 768 ZTurboKey = -ZTurboKeyUser                                       ' DD062903
  361.     CALL SkipLine (1)                                                ' DD062903
  362.     ZSubparm = 1                                                     ' DD062903
  363.     CALL TGet                                                        ' DD062903
  364.     IF ZSubParm < 0 THEN                                             ' DD062903
  365.        EXIT SUB                                                      ' DD062903
  366.     END IF                                                           ' DD062903
  367.     RETURN                                                           ' DD062903
  368.     END SUB                                                          ' DD062903
  369. '                                                                    ' DD030103
  370. 770 SUB SelectTurboKeys                                              ' DD062904
  371.     CALL SkipLine (1)                                                ' DD062904
  372.     CALL QuickTPut (ZFG2$ + "Do you want " + ZFGE$ + _               ' DD080302
  373.          "TURBOKEYS" + ZFG2$ + "?" + ZCRLf$ + _                      ' DD062904
  374.          "(ONE Character Commands without needing to press " + _     ' DD062904
  375.          ZEmphasizeOn$ + "[ENTER]" + ZEmphasizeOff$ + ZFG2$ + ")",0) ' DD080302
  376.     ZOutTxt$ = ZYesPrompt$                                           ' DD080302
  377.     ZSubParm = 1                                                     ' DD080302
  378.     CALL TGet                                                        ' DD062904
  379.     IF ZSubParm < 0 THEN                                             ' DD062904
  380.        EXIT SUB                                                      ' DD062904
  381.     END IF                                                           ' DD062904
  382.     ZTurboKeyUser = NOT ZNo                                          ' DD062904
  383.     CALL Toggle (-8)                                                 ' DD062904
  384.     END SUB                                                          ' DD062904
  385. '                                                                    ' DD030103
  386. 780 SUB LinesPerPage                                                 ' DD062903
  387.     CALL SkipLine (1)                                                ' DD062903
  388.     CALL QuickTPut1 (ZFG2$ + "Please Select " + _                    ' DD030103
  389.                      ZFGE$ + "Lines Per Page " + _                   ' DD030103
  390.                      ZFG2$ + "for Display" + ZEmphasizeOff$)         ' DD030103
  391.     CALL ChangeInt (ZTrue,"Lines Per Page",ZPageLength,1,255)        ' DD030103
  392.     IF ZWasQ <> 0 THEN                                               ' DD030103
  393.        ZPageLength = ZTestedIntValue                                 ' DD030103
  394.     END IF                                                           ' DD030103
  395.     END SUB                                                          ' DD030103
  396. '                                                                    ' DD011601
  397. 815 SUB DisplayWelcome STATIC                                        ' DD011601
  398.     ZStopInterrupts = NOT ZWelcomeInterruptable                      ' DD011601
  399.     ZBypassTimeCheck = ZTrue                                         ' DD011601
  400.     ZFileName$ = ZWelcomeFile$ + ".LST"                              ' DD011601
  401.     CALL FindItX (ZFileName$,18)                                     ' DD051401
  402.     IF ZOK THEN                                                      ' DD011601
  403.        CLOSE 18                                                      ' DD051401
  404.        CALL OpenWork (18, ZFileName$)                                ' DD051401
  405.        WHILE NOT EOF(18)                                             ' DD051401
  406.           CALL ReadDir (18,1)                                        ' DD051401
  407.           ZFileName$ = ZOutTxt$                                      ' DD011601
  408.           ZStopInterrupts = NOT ZWelcomeInterruptable                ' DD011601
  409.           ZBypassTimeCheck = ZTrue                                   ' DD011601
  410.           ZDisplayAsUnit = ZTrue                                     ' DD011601
  411.           GOSUB 816                                                  ' DD011601
  412.        WEND                                                          ' DD011601
  413.        CLOSE 18                                                      ' DD051401
  414.     ELSE                                                             ' DD011601
  415.        ZFileName$ = ZWelcomeFile$                                    ' DD011601
  416.        ZDisplayAsUnit = ZTrue                                        ' DD011601
  417.        GOSUB 816                                                     ' DD011601
  418.     END IF                                                           ' DD011601
  419.     ZDisplayAsUnit = ZFalse                                          ' DD011601
  420.     EXIT SUB                                                         ' DD011601
  421. 816 CALL Graphic (ZFileName$)                                        ' DD011601
  422.     CALL BufFile (ZFileName$,WasX)                                   ' DD011601
  423.     CALL Carrier                                                     ' DD011601
  424.     IF ZSubParm = -1 THEN _                                          ' DD011601
  425.        EXIT SUB                                                      ' DD011601
  426.     RETURN                                                           ' DD011601
  427.     END SUB                                                          ' DD011601
  428. '                                                                    ' DD031203
  429. 820 SUB SayGoodby                                                    ' DD031203
  430. '                                                                    ' DD031203
  431.     CALL BreakFileName (ZEpilog$,Pre$,Body$,Ext$,ZFalse)             ' DD031203
  432.     ZFileName$ = Pre$ + Body$ + ".LST"                               ' DD031203
  433.     CALL FindIt (ZFileName$)                                         ' DD011601
  434.     IF ZOK THEN                                                      ' DD011601
  435.        CALL OpenWork (7, ZFileName$)                                 ' DD011601
  436.        WHILE NOT EOF(7)                                              ' DD011601
  437.           CALL ReadDir (7,1)                                         ' DD011601
  438.           ZFileName$ = ZOutTxt$                                      ' DD011601
  439.           ZStopInterrupts = NOT ZWelcomeInterruptable                ' DD011601
  440.           ZBypassTimeCheck = ZTrue                                   ' DD011601
  441.           ZDisplayAsUnit = ZTrue                                     ' DD011601
  442.           CALL Graphic (ZFileName$)                                  ' DD011601
  443.           CALL BufFile (ZFileName$,WasX)                             ' DD011601
  444.           CALL Carrier                                               ' DD011601
  445.           IF ZSubParm = -1 THEN _                                    ' DD011601
  446.              EXIT SUB                                                ' DD011601
  447.        WEND                                                          ' DD011601
  448.        IF NOT ZLocalUser THEN                                        ' DD051801
  449.           CALL DelayTime (9 + ZBPS)                                  ' DD051801
  450.        END IF                                                        ' DD051801
  451.        CLOSE 7                                                       ' DD011601
  452.     END IF                                                           ' DD031203
  453.     END SUB                                                          ' DD031203
  454. '                                                                    ' DD091701
  455. ' ****  S - COMMAND FROM UTILITY MENU (STATISTICS)  ***              ' DD090203
  456. '                                                                    ' DD090203
  457.      SUB ShowStatistics (HighestMsgRecord,CurUserCount,MaxMsgs) STATIC   ' DD090401
  458. 1000 CALL SkipLine (1)                                               ' DD031302
  459.      ZFileName$ = ZWelcomeFileDrvPath$ + "LGSTATS"                   ' DD040801
  460.      CALL Graphic (ZFileName$)                                       ' DD040801
  461.      CALL BufFile (ZFileName$,WasX)                                  ' DD040801
  462.      IF (NOT ZSysop) AND (ZUserSecLevel < ZSecKillAny) THEN _        ' DD040801
  463.         CALL SmartPause : _                                          ' DD091205
  464.         EXIT SUB                                                     ' DD090201
  465.         CALL QuickTPut1 (ZFGD$ + "Free Stack Space" + _              ' DD080201
  466.                          ZFGB$ + STRING$(13,46) + ZFGD$ + _          ' DD090605
  467.                         (STR$(CINT(FRE(-2))) + " bytes"))            ' DD090605
  468.         CALL QuickTPut1 (ZFG9$ + "Free Temporary String Space" + _   ' DD080201
  469.                          ZFGB$ + STRING$(2,46) + ZFG9$ + _           ' DD090605
  470.                          STR$(FRE("A")) + " bytes")                  ' DD090605
  471.         CALL QuickTPut1 (ZFG2$ + "Free Common String Space" + _      ' DD090402
  472.                          ZFGB$ + STRING$(5,46) + ZFG2$ + _           ' DD090605
  473.                          STR$(FRE(ZWasZ$)) + " bytes")               ' DD090605
  474.         CALL QuickTPut1 (ZFG6$ + "Free Local String Space" + _       ' DD090402
  475.                          ZFGB$ + STRING$(6,46) + ZFG6$ + _           ' DD090605
  476.                          STR$(FRE(WasZ$)) + " bytes")                ' DD090605
  477.         CALL QuickTPut1 (ZFGC$ + "Free Far String Space" + _         ' DD090402
  478.                          ZFGB$ + STRING$(8,46) + ZFGC$ + _           ' DD090605
  479.                          STR$(FRE(-1)) + " bytes")                   ' DD090605
  480.      UserWork = (ZHighestUserRecord * .95) + 1                       ' DD090203
  481.      IF ZMsgsCanGrow THEN _                                          ' DD090203
  482.         ZWasY$ = " open" _                                           ' DD090203
  483.      ELSE ZWasY$ = STR$(HighestMsgRecord + 1 - ZMaxNodes - ZNextMsgRec)' DD090203
  484.      CALL QuickTPut1 (ZFGE$ + "USERS" + ZFGB$ + STRING$(24,46) + _   ' DD091303
  485.                       ZFGE$ + " used" + ZFGB$ + _                    ' DD091303
  486.                       STR$(CurUserCount - 1) + ZFGE$ + " avl" + _    ' DD091303
  487.                       ZFGB$ + STR$(UserWork - CurUserCount))         ' DD091303
  488.      IF ZActiveMessages = 0 THEN _                                   ' DD040706
  489.         msgtemp$ = " (Not Loaded)" _                                 ' DD031301
  490.      ELSE msgtemp$ = " used" + ZFGB$ + STR$(ZActiveMessages) + _     ' DD040706
  491.                      ZFG5$ + " avl" + ZFGB$ + ZFGB$ + _              ' DD031301
  492.                      STR$(MaxMsgs - ZActiveMessages)                 ' DD040706
  493.      CALL QuickTPut1 (ZFG5$ + "MSGS" + ZFGB$ + STRING$(25,46) + _    ' DD091303
  494.                       ZFG5$ + msgtemp$)                              ' DD091303
  495.      CALL QuickTPut1 (ZFG4$ + "MSG REC" + ZFGB$ + STRING$(22,46) + _ ' DD091303
  496.                       ZFG4$ + " used" + ZFGB$ + _                    ' DD091303
  497.                       STR$(ZNextMsgRec - 1) + ZFG4$ + " avl" + _     ' DD091303
  498.                       ZFGB$ + ZWasY$ + ZEmphasizeOff$)               ' DD091303
  499.      CALL SmartPause                                                 ' DD091204
  500.      END SUB                                                         ' DD090203
  501. '                                                                    ' DD012201
  502. 1235 SUB SysopNextMsg STATIC                                         ' DD040602
  503.      IF ZuserSecLevel >= ZSysopSecLevel THEN                         ' DD040602
  504.         ZSysopNext = ZFalse                                          ' DD040602
  505.         EXIT SUB                                                     ' DD040602
  506.      END IF                                                          ' DD040602
  507.      ZFileName$ = ZWelcomeFileDrvPath$ + "SYSNEXT"                   ' DD040602
  508.      CALL Graphic (ZFileName$)                                       ' DD040602
  509.      CALL BufFile (ZFileName$,WasX)                                  ' DD040602
  510.      END SUB                                                         ' DD040602
  511. '                                                                    ' DD041802
  512. 1240 SUB LogOffPlease STATIC                                         ' DD041802
  513.      ZFileName$ = ZWelcomeFileDrvPath$ + "LOGOFF"                    ' DD041802
  514.      CALL Graphic (ZFileName$)                                       ' DD041802
  515.      CALL BufFile (ZFileName$,WasX)                                  ' DD041802
  516.      END SUB                                                         ' DD041802
  517. '                                                                    ' DD090901
  518. 1750 SUB InitialMenus STATIC                                         ' DD090901
  519. '                                                                    ' DD051002
  520. 1751 IF ZExpertUser THEN                                             ' DD051002
  521.         CALL SkipLine (1)                                            ' DD051002
  522.         GOTO 1756                                                    ' DD051002
  523.      END IF                                                          ' DD051002
  524. 1755 ZFileName$ = ZWelcomeFileDrvPath$ + "INFOSCR"                   ' DD051002
  525.      CALL Graphic (ZFileName$)                                       ' DD051002
  526.      CALL BufFile (ZFileName$,WasX)                                  ' DD051002
  527. 1756 ZOutTxt$ = ZFGE$ + ZConfName$ + + ZFG2$ + CHR$(58) + _          ' DD051002
  528.                  ZEmphasizeOff$                                      ' DD051002
  529.      ZSubParm = 4                                                    ' DD051002
  530.      CALL TPut                                                       ' DD051002
  531.      CALL DispTimeRemain (MinsRemaining)                             ' DD051002
  532.      DO                                                              ' DD051002
  533.         ZOutTxt$ = ZFGF$ + "SCREEN " + ZFG2$ + _                     ' DD051002
  534.                    "command" + ZEmphasizeOff$                        ' DD051002
  535.         IF ZCmndsInPrompt THEN                                       ' NW062702
  536.            IF ZExpertUser THEN                                       ' DD062803
  537.               ZOutTxt$ = ZOutTxt$ + " (?,P,W,O,Y,N,H,[Q])"           ' DD062803
  538.            ELSE                                                      ' DD062803
  539.               ZOutTxt$ = ZOutTxt$ + " (?,P)relog,W)elcome," + _      ' DD062803
  540.                          "O)nline,Y)ours," + _                       ' DD062803
  541.                          "N)ewUser,H)elp,[Q]uit)"                    ' DD062803
  542.            END IF                                                    ' DD062803
  543.         END IF                                                       ' NW062702
  544.         ZTurboKey = -ZTurboKeyUser                                   ' DD051002
  545.         ZSubParm = 1                                                 ' DD051002
  546.         CALL TGet                                                    ' DD051002
  547.         IF ZSubParm < 0 THEN _                                       ' DD051002
  548.            EXIT SUB                                                  ' DD051002
  549.         CALL AllCaps (ZUserIn$)                                      ' DD051002
  550.      LOOP UNTIL ZWasQ = 0 OR INSTR("?PWOYNHQ",ZUserIn$) <> 0         ' DD051002
  551.      WasMplX = INSTR("?PWOYNHQ",ZUserIn$)                            ' Mpl090201
  552.      IF ZUserIn$ = "" THEN _                                         ' Mpl090201
  553.         GOTO 1767                                                    ' DD090201
  554.      ON WasMplX GOTO 1755,1761,1762,1763,1764,1765,1755,1767         ' DD051002
  555. 1761 ZFileName$ = ZPreLog$                                           ' DD090201
  556.      GOTO 1766                                                       ' DD090201
  557. 1762 Hold = ZWelcomeInterruptable                                    ' DD011601
  558.      ZWelcomeInterruptable = ZTrue                                   ' DD011601
  559.      CALL DisplayWelcome                                             ' DD011601
  560.      ZWelcomeInterruptable = Hold                                    ' DD011601
  561.      GOTO 1751                                                       ' DD051002
  562. 1763 ZFileName$ = ZNewsFileName$                                     ' DD090201
  563.      GOTO 1766                                                       ' DD090201
  564. 1764 ZFileName$ = ZWelcomeFileDrvPath$ + _                           'Pe 07/19/92
  565.                  ZNodeId$ + _                                        ' DD041803
  566.                  "LG" + _                                            ' Mpl090201
  567.                  STR$(ZUserSecLevel) + _                             ' DD040603
  568.                  ".DEF"                                              'Pe 06/01/92
  569.      CALL Remove (ZFileName$,SPACE$(1))                              ' DD040603
  570.      CALL FindIt (ZFileName$)                                        ' DD041803
  571.      IF NOT ZOK THEN                                                 ' DD041803
  572.         ZFileName$ = ZWelcomeFileDrvPath$ + _                        ' DD041803
  573.                     "LG" + _                                         ' DD041803
  574.                     STR$(ZUserSecLevel) + _                          ' DD041803
  575.                     ".DEF"                                           ' DD041803
  576.         CALL Remove (ZFileName$,SPACE$(1))                           ' DD041803
  577.      END IF                                                          ' DD041803
  578.      GOTO 1766                                                       ' DD090201
  579. 1765 ZFileName$ = ZNewUserFile$                                      ' DD090201
  580. 1766 GOSUB 1790                                                      ' DD090201
  581.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)                       ' DD090201
  582.      GOTO 1751                                                       ' DD051002
  583. 1767 ZFileSysParm = 1                                                ' DD090201
  584.       EXIT SUB                                                       ' DD090201
  585. 1790 CALL FindIt (ZFileName$)                                        ' DD021301
  586.      IF NOT ZOK THEN _                                               ' DD021301
  587.         CALL SkipLine (1) : _                                        ' DD031302
  588.         CALL QuickTPut (ZFGF$ + ZBG5$ + _                            ' DD031302
  589.                         " Review Screen Not Found " + _              ' DD021301
  590.                          ZEmphasizeOff$,2) : _                       ' DD021301
  591.         RETURN                                                       ' DD021301
  592.      CALL Graphic (ZFileName$)                                       ' DD090901
  593.      CALL BufFile (ZFileName$,WasX)                                  ' DD090901
  594.      CALL Carrier                                                    ' DD090901
  595.      IF ZSubParm = -1 THEN _                                         ' DD090901
  596.         EXIT SUB                                                     ' DD090901
  597.      RETURN                                                          ' DD090901
  598.      END SUB                                                         ' DD090901
  599. '                                                                    ' DD091303
  600.      SUB SmartPause STATIC                                           ' DD091303
  601. '                                                                    ' DD091303
  602. 1800 IF NOT ZExpertUser THEN                                         ' DD050102
  603.         CALL SKipLine (1)                                            ' DD050102
  604.         IF ZNonStop THEN                                             ' DD050102
  605.            ZOneStop = ZTrue                                          ' DD050102
  606.            ZNonStop = ZFalse                                         ' DD050102
  607.         END IF                                                       ' DD050102
  608.         CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)                    ' DD090803
  609.      END IF                                                          ' DD050102
  610.      END SUB                                                         ' DD091303
  611. '                                                                    ' DD090901
  612.      SUB GetLastCaller STATIC                                        ' DD090901
  613. '                                                                    ' DD090901
  614. 2000  ZLastCaller$ = SPACE$(1)                                       ' DD021301
  615.       ZActiveMessageFile$ = ZOrigMsgFile$                            ' DD090901
  616.       CALL OpenMsg                                                   ' DD090901
  617.       FIELD 1, 128 AS ZMsgRec$                                       ' DD090901
  618.       GET 1,ZNodeRecIndex                                            ' DD090901
  619.       IF MID$(ZMsgRec$,55,2) = "-1" AND NOT ZSysop THEN _            ' DD090901
  620.          ZLastCaller$ = "SysOp" _                                    ' DD090901
  621.       ELSE _                                                         ' DD090901
  622.          ZLastCaller$ = MID$(ZMsgRec$,1,26)                          ' DD090901
  623.       CALL Trim (ZLastCaller$)                                       ' DD090901
  624.       END SUB                                                        ' DD090901
  625. '                                                                    ' DD021301
  626. 3000 SUB SetupTransferInfo STATIC                                    ' DD021301
  627. '                                                                    ' DD021301
  628.      Temp$ = STR$(ZUserSecLevel)                                     ' DD091001
  629.      CALL Trim (Temp$)                                               ' DD091001
  630.      ZOutTxt$ = ZCRLf$ + ZFGE$ + Temp$ + SPACE$(1) + ZFG2$ + _       ' DD021301
  631.           ZOrigUserName$ + SPACE$(1) + ZFGB$ + ZWasCI$ + _           ' DD021301
  632.           ZFG2$ + " At " + ZFGE$ +  ZCBaud$ + _                      ' DD021301
  633.              ZFG2$ + " Baud" + ZEmphasizeOff$ + ZCRLf$               ' DD021301
  634.      IF ZTransferFunction = 1 THEN                                   ' DD021301
  635.         ZOutTxt$ = ZOutTxt$ + ZFGA$ + "Downloading"                  ' DD021301
  636.         IF ZBlockSize > 0 THEN                                       ' DD021301
  637.            ZOutTxt$ = ZOutTxt$ + _                                   ' DD021301
  638.                 ZFGE$ + STR$(CINT(ZBytesInFile#/ZBlockSize)) + _     ' DD021301
  639.                 ZFG2$ + " blocks "                                   ' DD021301
  640.         END IF                                                       ' DD021301
  641.         ZOutTxt$ = ZOutTxt$ + _                                      ' DD021301
  642.              ZFGE$ + STR$(ZBytesInFile#) + ZFG2$ + " bytes" + ZCrLf$ ' DD021301
  643.         ZOutTxt$ = ZOutTxt$ + _                                      ' DD021301
  644.              ZFGB$ + "Estimated Transfer Time:" + _                  ' DD021301
  645.              ZFGD$ + STR$(INT(ZBlocksInFile# / 60)) : _              ' DD021301
  646.         ZoutTxt$ = ZOutTxt$ + ZFG3$ + " min," + ZFGD$ + _            ' DD021301
  647.              STR$(INT(ZBlocksInFile# - _                             ' DD021301
  648.              (INT(ZBlocksInFile# / 60) * 60))) + _                   ' DD021301
  649.              ZFG3$ + " sec" + ZFG7$ + ZCRLf$                         ' DD021301
  650.      ELSE ZOutTxt$ = ZOutTxt$ + ZFGA$ + "Uploading file" + _         ' DD021301
  651.                 " At " + ZFGE$ + ZCBaud$ + " Baud" + _               ' DD021301
  652.                 ZCRLf$ + ZEmphasizeOff$                              ' DD021301
  653.      END IF                                                          ' DD021301
  654.      END SUB                                                         ' DD021301
  655. '                                                                    ' DD032501
  656. ' Create a TOSS log file for MsgToss to Scan Echo Conferences        ' DD032501
  657. '                                                                    ' DD032501
  658. 3400 SUB TossLog STATIC                                              ' DD032502
  659.      IF ZRBBSName$ = ZOrigRBBSName$ THEN _                           ' DD032502
  660.         EXIT SUB                                                     ' DD032502
  661.      TossFile$ = "TOSS" + ZNodeFileID$ + ".LOG"                      ' DD032502
  662.      CALL FindIt (TossFile$)                                         ' DD032502
  663.      IF NOT ZOK THEN _                                               'LK 033191
  664.         GOTO 3407                                                    ' Mpl032501
  665.      CALL OpenWork (2,TossFile$)                                     ' DD032502
  666.      Found = ZFalse                                                  ' Mpl032501
  667.      GOSUB 3408                                                      ' Mpl032501
  668.      IF Found THEN _                                                 ' Mpl032501
  669.         EXIT SUB                                                     ' DD032502
  670.      GOTO 3409                                                       ' Mpl032501
  671. 3407 CALL OpenOutW (TossFile$)                                       ' DD032502
  672.      PRINT #2, ZRBBSName$                                            ' DD032502
  673.      CLOSE 2                                                         ' Mpl032501
  674.      EXIT SUB                                                        ' DD032502
  675. 3408 IF EOF(2) THEN _                                                ' Mpl032501
  676.         RETURN                                                       ' Mpl032501
  677.      INPUT #2,TossList$                                              ' Mpl032501
  678.      IF ZRBBSName$ <> TossList$ THEN _                               ' DD032502
  679.         GOTO 3408                                                    ' Mpl032501
  680.      Found = ZTrue                                                   ' Mpl032501
  681.      RETURN                                                          ' Mpl032501
  682. 3409 CALL OpenWorkA (2,TossFile$)                                    ' DD040601
  683.      CALL PrintWorkA (2,ZRBBSName$)                                  ' DD040601
  684.      CLOSE 2                                                         ' Mpl032501
  685.      END SUB                                                         ' DD032502
  686. '                                                                    ' DD090802
  687. ' ***** Print A Message to a file or printer                         ' DD090802
  688. '                                                                    ' DD090802
  689.      SUB PrintMsg(OutNum$,OutFrom$,OutTo$,OutRe$,OutRec,OutNumRecs) STATIC ' DD090802
  690. 4615 IF ZSysop = ZTrue THEN                                          ' RS090802
  691.         ZOutTxt$ = "Output to What File " + ZPressEnter$             ' DD090802
  692.         ZSubParm = 1                                                 ' DD090802
  693.         CALL TGet                                                    ' DD090802
  694.         IF ZUserIn$ = "" THEN _                                      ' DD090802
  695.            EXIT SUB                                                  ' DD090802
  696.         ToPrint$ = ZUserIn$                                          ' DD080902
  697.         CALL AllCaps (ToPrint$)                                      ' DD090802
  698.         IF INSTR("CON:AUX:NUL:COM1:COM2:SCRN:" + _                   ' DD090802
  699.                  "KYBD:CONS:CLOCK$:",ToPrint$) THEN _                ' DD090802
  700.            CALL QuickTPut1 ("Bad Filename!") : _                     ' DD090802
  701.            GOTO 4615                                                 ' DD090802
  702.         CALL OpenWorkA(2,ToPrint$)                                   ' DD042604
  703.         IF NOT ZOk THEN _                                            ' DD090802
  704.            CALL QuickTPut1 ("Could Not Open " + ToPrint$) : _        ' DD090802
  705.            EXIT SUB                                                  ' DD090802
  706.         PRINT#2,OutNum$                                              ' RS090802
  707.         PRINT#2,"In Conference: " + ZConfName$                       ' RS090802
  708.         PRINT#2,string$(25,CHR$(45))                                 ' DD021301
  709.         PRINT#2,OutFrom$                                             ' RS090802
  710.         PRINT#2,OutTo$                                               ' RS090802
  711.         PRINT#2,OutRe$                                               ' RS090802
  712.         PRINT#2,string$(80,CHR$(45))                                 ' DD021301
  713.         PLineCt = 7                                                  ' RS090802
  714.         POut$ = ""                                                   ' RS090802
  715.         FOR PrintLoop = OutRec + 1 TO OutRec + OutNumRecs - 1        ' RS090802
  716.            GET 1,PrintLoop                                           ' RS090802
  717.            FOR Loop1 = 1 TO LEN(ZMsgRec$)                            ' RS090802
  718.               IF MID$(ZMsgRec$,Loop1,1) <> CHR$(227) THEN            ' RS090802
  719.                  POut$ = POut$ + MID$(ZMsgRec$,Loop1,1)              ' RS090802
  720.               ELSE                                                   ' RS090802
  721.                  PRINT#2,POut$                                       ' RS090802
  722.                  POut$ = ""                                          ' RS090802
  723.                  PLineCt = PLineCt + 1                               ' RS090802
  724.                  IF PLineCt > ZMaxMsgLines THEN                      ' DD111201
  725.                     PRINT#2,CHR$(12)                                 ' RS090802
  726.                     PLineCt = 7                                      ' RS090802
  727.                     PRINT#2,OutNum$+",   Message Continued"          ' RS090802
  728.                     PRINT#2,"In Conference: " + ZConfName$           ' RS090802
  729.                     PRINT#2,string$(25,CHR$(45))                     ' DD021301
  730.                     PRINT#2,OutFrom$                                 ' RS090802
  731.                     PRINT#2,OutTo$                                   ' RS090802
  732.                     PRINT#2,OutRe$                                   ' RS090802
  733.                     PRINT#2,string$(80,CHR$(45))                     ' DD021301
  734.                  ENDIF                                               ' RS090802
  735.               ENDIF                                                  ' RS090802
  736.            NEXT Loop1                                                ' RS090802
  737.         NEXT PrintLoop                                               ' RS090802
  738.         PRINT#2,CHR$(10)                                             ' RS090802
  739.         CLOSE #2                                                     ' RS090802
  740.      ENDIF                                                           ' RS090802
  741.      END SUB                                                         ' RS090802
  742. '                                                                    ' DD091701
  743.      SUB InitSysopChat STATIC                                        ' DD091701
  744. '                                                                    ' DD091701
  745. 4700 IF NOT ZSysopAvail OR ZNeverCanPage THEN _                      ' DD070601
  746.         ZOutTxt$ = "Sorry, " + _                                     ' DD091301
  747.              ZSysopFirstName$ + _                                    ' DD091301
  748.              " is not available now" : _                             ' DD091301
  749.         CALL QuickTPut1(ZOutTxt$) : _                                ' DD091303
  750.         GOTO 4755                                                    ' DD091701
  751.      CALL QuickTPut1 (ZFGF$ + ZBG1$ + "Chat with SysOp" + _          ' DD062304
  752.           ZEmphasizeOff$)                                            ' DD082302
  753.      WasJJ = VAL(MID$(TIME$,1,2))*100 + VAL(MID$(TIME$,4,2))         ' DD091701
  754.      IF (WasJJ > ZStartOfficeHours AND WasJJ < ZEndOfficeHours) OR ZSysopAnnoy THEN _' DD091701
  755.         GOTO 4710                                                    ' DD091701
  756.      GOTO 4750                                                       ' DD062304
  757.      ZOutTxt$ = "SysOp in from" + _                                  ' DD062304
  758.           STR$(ZStartOfficeHours) + _                                ' DD091701
  759.           " to" + _                                                  ' DD091701
  760.           STR$(ZEndOfficeHours) + CHR$(44)                           ' DD021301
  761.      CALL QuickTPut1(ZOutTxt$)                                       ' DD091303
  762.      GOTO 4755                                                       ' DD091701
  763. 4710 ZOutTxt$ = "Page " + _                                          ' DD091701
  764.           ZSysopFirstName$ + _                                       ' DD091701
  765.           CHR$(63) + ZNoPrompt$                                      ' DD021301
  766.      CALL SkipLine (1)                                               ' DD091701
  767.      ZTurboKey = -ZTurboKeyUser                                      ' DD062304
  768.      ZSubParm = 1                                                    ' DD062304
  769.      CALL TGet                                                       ' DD062304
  770.      IF NOT ZYes THEN _                                              ' DD091701
  771.         EXIT SUB                                                     ' DD091303
  772.      ZMenuSysopPages = ZMenuSysopPages + 1                           ' DD122603/MENU0
  773.      PageCount = 0                                                   ' DD091701
  774.      SoundStr$ = "O3T200MBMLA64L32C64D64E64"                         ' DD070402
  775.      CALL QuickTPut ("Paging " + ZSysopFirstName$,0)                 ' DD062304
  776.      PageTimeStart! = TIMER                                          ' DD091701
  777.      TempSnoop = ZSnoop                                              ' DD091701
  778.      ZSnoop = ZTrue                                                  ' DD091701
  779.      CALL Line25                                                     ' DD091701
  780. 4730 CALL DelayTime (1)                                              ' DD091701
  781.      PageCount = PageCount + 1                                       ' DD062304
  782.      IF INKEY$ = ZEscape$ THEN _                                     ' DD091701
  783.         GOTO 4765                                                    ' DD091701
  784.      ZSubParm = 4                                                    ' DD062304
  785.      CALL QuickTPut (SPACE$(2) + CHR$(46),0)                         ' DD021301
  786.      IF ZANSIMusic THEN                                              ' DD070402
  787.         FOR TelephoneRing = 1 TO 15 STEP 1                           ' DD070402
  788.            CALL PutCom ("MB" + SoundStr$ + CHR$(14))               ' DD070402
  789.         NEXT TelephoneRing                                           ' DD070402
  790.      ELSE                                                            ' DD070402
  791.         CALL PutCom(ZBellRinger$)                                    ' DD070402
  792.      END IF                                                          ' DD070402
  793.      IF INSTR(ZPagingPtrSupport$,CHR$(7)) THEN                       ' DD070402
  794.         LPRINT ZBellRinger$;                                         ' DD070402
  795.      ELSE                                                            ' DD010207
  796.         FOR TelephoneRing = 1 TO 15 STEP 1                           ' DD071401
  797.            CALL RBBSPlay (SoundStr$)                                 ' DD070402
  798.         NEXT TelephoneRing                                           ' DD071401
  799.      END IF                                                          ' DD010207
  800.      CALL Carrier                                                    ' DD062304
  801.      IF ZSubParm = -1 THEN                                           ' DD062304
  802.         EXIT SUB                                                     ' DD062304
  803.      END IF                                                          ' DD062304
  804.      CALL DelayTime (2)                                              ' DD071401
  805.      CALL CheckTime (PageTimeStart!, PageTimeNow!, 2)                ' DD091701
  806.      IF PageTimeNow! < 15 THEN GOTO 4730                             ' DD080601
  807.      ZSnoop = TempSnoop                                              ' DD091701
  808.      ZOutTxt$ = ""                                                   ' DD071401
  809. 4750 IF (WasJJ > ZStartOfficeHours AND WasJJ < ZEndOfficeHours) OR _ ' DD080601
  810.         ZSysopAnnoy THEN _                                           ' DD080601
  811.         CALL SkipLine (1) : _                                        ' DD031302
  812.         CALL QuickTPut1 (ZFGB$ + ZSysopFirstName$ + _                ' DD031302
  813.              ZFG5$ + " not responding!" + ZEmphasizeOff$)            ' DD071401
  814. 4755 CALL QuickTPut1 (ZFG3$ + "Leave a msg or comment" + ZEmphasizeOff$)' DD080601
  815.      PagedFileName$ = ZWelcomeFileDrvPath$ + "PAGED.MNU"             ' DD062603
  816.      CALL Graphic (PagedFileName$)                                   ' DD091502
  817.      Call BufFile (PagedFileName$,WasX)                              ' DD080601
  818.      ZPageStatus$ = "PG!"                                            ' DD091701
  819.      CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)            ' DD091701
  820.      EXIT SUB                                                        ' DD091701
  821. 4765 CALL UpdtCalr ("Paged & chatted with Sysop",1)                  ' DD091701
  822.          ZPageStatus$ = ""                                           ' DD091701
  823.      ZSysopGreeting$ = "SysOp in!  " + ZFirstName$ + _               ' DD062801/ANSICHAT
  824.          ", this is " + ZSysopFirstName$ + ", go ahead!"             ' DD062801/ANSICHAT
  825.      IF ZCanANSIChat = ZTrue THEN                                    ' DD062304
  826.         CALL ResetGraphics                                           ' DD062304
  827.         CALL ANSIChat                                                ' DD062801/ANSICHAT
  828.      ELSE                                                            ' DD062801/ANSICHAT
  829.         CALL SkipLine (1)                                            ' DD062801/ANSICHAT
  830.         CALL QuickTPut1 (ZFGE$ + ZSysopGreeting$ + ZEmphasizeOff$)   ' DD062801/ANSICHAT
  831.         CALL SysopChat                                               ' DD062801/ANSICHAT
  832.      END IF                                                          ' DD062801/ANSICHAT
  833.      END SUB                                                         ' DD091701
  834. '                                                                    ' DD090203
  835. ' *****  R - COMMAND FROM UTILITY MENU (REVIEW PROFILE)  ****        ' DD090203
  836. '                                                                    ' DD090203
  837.      SUB ReviewProfile STATIC                                        ' DD090203
  838. 5400 CALL SkipLine (1)                                               ' DD052302
  839.      ZFileName$ = ZWelcomeFileDrvPath$ + "PROFILE"                   ' DD052302
  840.      CALL Graphic (ZFileName$)                                       ' DD052302
  841.      CALL BufFile (ZFileName$,WasX)                                  ' DD052302
  842.      CALL SmartPause                                                 ' DD091204
  843.      END SUB                                                         ' DD090203
  844. '                                                                    ' DD090901/MENU0
  845. 6000  SUB GetMenu0Info STATIC                                        ' DD090901/MENU0
  846. '                                                                    ' DD090901/MENU0
  847. 6001  CALL OpenWork (2,"MENU0-" + ZNodeFileID$ + ".DEF")             ' DD090901/MENU0
  848.       IF ZErrCode = 52 THEN _                                        ' DD090901/MENU0
  849.          CALL MakeMenu0Info : _                                      ' DD090901/MENU0
  850.          GOTO 6001                                                   ' DD090901/MENU0
  851.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  852.       CALL Trim (ZOutTxt$)                                           ' DD090901/MENU0
  853.       ZMenuTimer! = VAL(ZOutTxt$)                                    ' DD092103/MENU0
  854.       IF ZMenuTimer! > TIMER THEN _                                  ' DD092103/MENU0
  855.          CALL MakeMenu0Info : _                                      ' DD090901/MENU0
  856.          EXIT SUB                                                    ' DD090901/MENU0
  857.       ZMenuTimer! = TIMER                                            ' DD092103/MENU0
  858.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  859.       ZMenuNewUpld = VAL(ZOutTxt$)                                   ' DD090901/MENU0
  860.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  861.       ZMenuNewUsers = VAL(ZOutTxt$)                                  ' DD090901/MENU0
  862.       CALL ReadDIr (2,1)                                             ' DD090901/MENU0
  863.       ZMenuNewCalls = VAL(ZOutTxt$)                                  ' DD090901/MENU0
  864.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  865.       ZMenuNewSysop = VAL(ZOutTxt$)                                  ' DD090901/MENU0
  866.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  867.       ZMenuDownloads = VAL(ZOutTxt$)                                 ' DD090901/MENU0
  868.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  869.       ZMenuSysopPages = VAL(ZOutTxt$)                                ' DD090901/MENU0
  870.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  871.       ZMenuCarriers = VAL(ZOutTxt$)                                  ' DD090901/MENU0
  872.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  873.       ZMenuDoors = VAL(ZOutTxt$)                                     ' DD090901/MENU0
  874.       CALL ReadDir (2,1)                                             ' DD090901/MENU0
  875.       ZMenuNewMsgs = VAL(ZOutTxt$)                                   ' DD090901/MENU0
  876.       CLOSE 2                                                        ' DD090901/MENU0
  877.       END SUB                                                        ' DD090901/MENU0
  878. '                                                                    ' DD090901/MENU0
  879. 6100  SUB PutMenu0Info STATIC                                        ' DD090901/MENU0
  880. '                                                                    ' DD090901/MENU0
  881.       CALL OpenOutW ("MENU0-" + ZNodeFileID$ + ".DEF")               ' DD090901/MENU0
  882.       CALL PrintWorkA (2,STR$(ZMenuTimer!))                          ' DD040601/MENU0
  883.       CALL PrintWorkA (2,STR$(ZMenuNewUpld))                         ' DD040601/MENU0
  884.       CALL PrintWorkA (2,STR$(ZMenuNewUsers))                        ' DD040601/MENU0
  885.       CALL PrintWorkA (2,STR$(ZMenuNewCalls))                        ' DD040601/MENU0
  886.       CALL PrintWorkA (2,STR$(ZMenuNewSysop))                        ' DD040601/MENU0
  887.       CALL PrintWorkA (2,STR$(ZMenuDownloads))                       ' DD040601/MENU0
  888.       CALL PrintWorkA (2,STR$(ZMenuSysopPages))                      ' DD040601/MENU0
  889.       CALL PrintWorkA (2,STR$(ZMenuCarriers))                        ' DD040601/MENU0
  890.       CALL PrintWorkA (2,STR$(ZMenuDoors))                           ' DD040601/MENU0
  891.       CALL PrintWorkA (2,STR$(ZMenuNewMsgs))                         ' DD040601/MENU0
  892.       CLOSE 2                                                        ' DD090901/MENU0
  893.       END SUB                                                        ' DD090901/MENU0
  894. '                                                                    ' DD090901/MENU0
  895. 6200  SUB MakeMenu0Info STATIC                                       ' DD090901/MENU0
  896. '                                                                    ' DD090901/MENU0
  897.       ZMenuTimer! = 0                                                ' DD092304/MENU0
  898.       ZMenuNewUpld = 0                                               ' DD092304/MENU0
  899.       ZMenuNewUsers = 0                                              ' DD092304/MENU0
  900.       ZMenuNewCalls = 0                                              ' DD092304/MENU0
  901.       ZMenuNewSysop = 0                                              ' DD092304/MENU0
  902.       ZMenuDownloads = 0                                             ' DD092304/MENU0
  903.       ZMenuSysopPages = 0                                            ' DD092304/MENU0
  904.       ZMenuCarriers = 0                                              ' DD092304/MENU0
  905.       ZMenuDoors = 0                                                 ' DD092304/MENU0
  906.       ZMenuNewMsgs = 0                                               ' DD092304/MENU0
  907.       CALL OpenOutW ("MENU0-" + ZNodeFileID$ + ".DEF")               ' DD090901/MENU0
  908.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  909.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  910.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  911.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  912.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  913.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  914.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  915.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  916.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  917.       CALL PrintWorkA (2,CHR$(48))                                   ' DD040601
  918.       CLOSE 2                                                        ' DD090901/MENU0
  919.       END SUB                                                        ' DD090901/MENU0
  920. '                                                                    ' DD091101
  921. ' $SUBTITLE: 'ReadDoorSys - Reads a DOOR.SYS drop file'              ' DD091101
  922. ' $PAGE                                                              ' DD091101
  923. '                                                                    ' DD091101
  924. '  SUBPROGRAM NAME    -- ReadDoorSys                                 ' DD091101
  925. '                                                                    ' DD091101
  926. '  INPUT PARAMETERS   --     PARAMETER                    MEANING    ' DD091101
  927. '                                                                    ' DD091101
  928. '                                                                    ' DD091101
  929. '  OUTPUT PARAMETERS  --     ZUserSecLevel                           ' DD091101
  930. '                            ZUplds                                  ' DD091101
  931. '                            ZDnlds                                  ' DD091101
  932. '                            ZBytesToday!                            ' DD091101
  933. '                            ZBankTime$                              ' DD091101
  934. '                            ZDLToday!                               ' DD091101
  935. '                            ZULBytes!                               ' DD091101
  936. '                            ZDLBytes!                               ' DD091101
  937. '                                                                    ' DD091101
  938. '  SUBPROGRAM PURPOSE --  Reads a DOOR.SYS drop file                 ' DD091101
  939. '                                                                    ' DD091101
  940. ' SecurityLevel (15), Total Uploads (28), Total Downloads (29),      ' DD091101
  941. ' Daily Download "K" Total (30) Time Credits (42), Files DL today (47),' DD091101
  942. ' Total "K" Uploaded (48), and Total "K" DL (49) can be modified by a ' DD091101
  943. ' Door, so let RBBS read back in the values!                         ' DD091101
  944. '                                                                    ' DD091101
  945. 9000 SUB ReadDoorSys STATIC                                          ' DD091101
  946. '                                                                    ' DD091101
  947.      CALL OpenWork (2,ZNodeWorkDrvPath$+"DOOR.SYS")                  ' DD091101
  948.      IF ZErrCode = 52 THEN _                                         ' DD091101
  949.         EXIT SUB                                                     ' DD091101
  950.      FOR I = 1 TO 15                                                 ' DD012702
  951.         CALL ReadDir (2,1)                                           ' DD091101
  952.      NEXT I                                                          ' DD091101
  953.      OldVal = ZUserSecLevel                                          ' DD012702
  954.      ZUserSecLevel = VAL (ZOutTxt$)                                  ' DD091101
  955.      IF OldVal <> ZUserSecLevel THEN _                               ' DD012702
  956.         CALL UpdtCalr ("Door set Security Level From" + _            ' DD012702
  957.              STR$(OldVal) +" to" + STR$(ZUserSecLevel),2) : _        ' DD012702
  958.         ZAdjustedSecurity = ZTrue : _                                ' DD012702
  959.         ZUserSecSave = ZUserSecLevel : _                             ' DD012702
  960.         IF (NOT ZConfMode) AND (NOT ZSubBoard) THEN _                ' DD012702
  961.             ZOrigSec = ZUserSecLevel                                 ' DD012702
  962.      MID$(ZUserRecord$,47,2) = MKI$(VAL(ZOutTxt$)) ' sec. level  (15)' DD012702
  963.      FOR I = 16 TO 28                                                ' DD012702
  964.         CALL ReadDir (2,1)                                           ' DD091101
  965.      NEXT I                                                          ' DD091101
  966.      ZZ$ = ZOutTxt$                                                  ' DD012702
  967.      CALL Trim (ZZ$)                                                 ' DD012702
  968.      MID$(ZUserRecord$,125,2) = MKI$(VAL(ZZ$)) 'total uploads    (28)' DD012702
  969.      CALL ReadDir (2,1)                                              ' DD091101
  970.      ZZ$ = ZOutTxt$                                                  ' DD012702
  971.      CALL Trim (ZZ$)                                                 ' DD012702
  972.      MID$(ZUserRecord$,123,2) = MKI$(VAL(ZZ$)) 'total downloads  (29)' DD012702
  973.      CALL ReadDir (2,1)                                              ' DD012702
  974.      ZZ$ = ZOutTxt$                                                  ' DD012702
  975.      CALL Trim (ZZ$)                                                 ' DD012702
  976.      MID$(ZUserRecord$,94,4) = MKS$(VAL(ZZ$))  'bytes dnld today (30)' DD012702
  977.      FOR I = 31 TO 42                                                ' DD012702
  978.         CALL ReadDir (2,1)                                           ' DD091101
  979.      NEXT I                                                          ' DD091101
  980.      ZZ$ = ZOutTxt$                                                  ' DD012702
  981.      CALL Trim (ZZ$)                                                 ' DD012702
  982.      MID$(ZUserRecord$,89,1) = CHR$(VAL(ZZ$))  ' banked time     (42)' DD012702
  983.      FOR I = 43 TO 47                                                ' DD012702
  984.         CALL ReadDir (2,1)                                           ' DD091101
  985.      NEXT I                                                          ' DD091101
  986.      ZZ$ = ZOutTxt$                                                  ' DD012702
  987.      CALL Trim (ZZ$)                                                 ' DD012702
  988.      MID$(ZUserRecord$,90,4) = MKS$(VAL(ZZ$))  ' files dl today  (47)' DD012702
  989.      CALL ReadDir (2,1)                                              ' DD012702
  990.      ZZ$ = ZOutTxt$                                                  ' DD012702
  991.      CALL Trim (ZZ$)                                                 ' DD012702
  992.      MID$(ZUserRecord$,102,4) = MKS$(VAL(ZZ$)*1000)' total kbytes uploaded (48)' DD012702
  993.      CALL ReadDir (2,1)                                              ' DD012702
  994.      ZZ$ = ZOutTxt$                                                  ' DD012702
  995.      CALL Trim (ZZ$)                                                 ' DD012702
  996.      MID$(ZUserRecord$,98,4) = MKS$(VAL(ZZ$)*1000) ' total kbytes downloaded (49)' DD012702
  997.      CLOSE 2                                                         ' DD091101
  998.      END SUB                                                         ' DD091101
  999. '                                                                    ' DD011201
  1000. SUB UserEd (EditFromRead,TempHashValue$,UserRecordHold$,RegDateHold$,UserSecLevelSave,WasTu) STATIC ' PE012301
  1001. '                                                                    ' PE012301
  1002. 10000 ZStopInterrupts = ZTrue                                        ' DD062304
  1003.       WasI = 1                                                       ' PE012301
  1004.       ScanUsers = ZFalse                                             ' PE012301
  1005.       IF EditFromRead = 1 THEN GOTO 11341                            ' PE012301
  1006.       ZOutTxt$ = "A)dd, L)st, P)rt, M)od, S)can users"               ' PE012301
  1007.       GOSUB 12930                                                    ' PE012301
  1008.       IF ZWasQ = 0 THEN _                                            ' DD062304
  1009.       IF EditFromRead > 0 THEN _                                     ' PE012301
  1010.          GOTO 11325 _                                                ' PE012301
  1011.       ELSE _                                                         ' PE012301
  1012.          ZUserFileIndex = WasTU : _                                  ' PE012301
  1013.          GOTO 20093                                                  ' PE012301
  1014.       WasQQ = 0                                                      ' PE012301
  1015.       ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)                          ' PE012301
  1016.       CALL AllCaps (ZWasZ$)                                          ' PE012301
  1017.       IF ZWasZ$ = CHR$(65) THEN _                               'A   ' DD021301
  1018.          GOTO 12300 _                                                ' PE012301
  1019.       ELSE IF ZWasZ$ = CHR$(77) THEN _                          'M   ' DD021301
  1020.          ZStopInterrupts = ZTrue _                                   ' PE012301
  1021.       ELSE IF ZWasZ$ = CHR$(80) THEN _                          'P   ' DD021301
  1022.          WasQQ = ZTrue _                                             ' PE012301
  1023.       ELSE IF ZWasZ$ = CHR$(83) THEN _                          'S   ' DD021301
  1024.          ScanUsers = ZTrue : _                                       ' PE012301
  1025.          ZStopInterrupts = ZTrue _                                   ' PE012301
  1026.       ELSE IF ZWasZ$ <> CHR$(76) THEN _                         'L   ' DD021301
  1027.          GOTO 10000                                                  ' DD062304
  1028.       CALL OpenUser (ZHighestUserRecord)                             ' DD062304
  1029.       GOSUB 26100                                                    ' DD062304
  1030.       IF UCASE$(LEFT$(ZUserLocation$,1)) = "C" THEN _                ' DD062304
  1031.          TempCity$ = "C)" + RIGHT$(ZUserLocation$,LEN(ZUserLocation$)-1) _ ' DD062304
  1032.       ELSE TempCity$ = "C)" + ZUserLocation$                         ' DD082903
  1033.       WasZ = 1                                                       ' PE012301
  1034.       IF ScanUsers THEN _                                            ' PE012301
  1035.          ZOutTxt$ = "Scan for N)ame, P)wd, " + TempCity$ + ", L)evel" + _ ' DD083002
  1036.               LEFT$(", H)ash id",-9*(ZStartHash > 1 AND ZLenHash > 0)) : _' PE012301
  1037.          GOSUB 12930 : _                                             ' PE012301
  1038.          ZOutTxt$ = "" : _                                           ' PE012301
  1039.          ScanFunction$ = LEFT$(ZUserIn$(1),1) : _                    ' PE012301
  1040.          CALL AllCaps (ScanFunction$) : _                            ' PE012301
  1041.          ZCR = 0 : _                                                 ' PE012301
  1042.          GOSUB 12979 : _                                             ' PE012301
  1043.          GOSUB 12966 : _                                             ' PE012301
  1044.          GOTO 12962                                                  ' PE012301
  1045. 10010 FOR WasJ = WasZ TO ZHighestUserRecord                          ' DD062304
  1046.          GET 5,WasJ                                                  ' PE012301
  1047. 10015    CALL DispUserRec (WasQQ)                                    ' DD062304
  1048.          IF NOT ZOK THEN _                                           ' PE012301
  1049.             GOTO 11310                                               ' PE012301
  1050.          IF ZRet <> 0 THEN _                                         ' PE012301
  1051.            GOTO 11330                                                ' PE012301
  1052.         IF NOT ZStopInterrupts THEN _                                ' DD062304
  1053.            GOTO 11310                                                ' PE012301
  1054. 11110   ZOutTxt$ = "1)Delete  2)Find  3)Menu  4)Print  5)Quit  6)User#" ' DD062202
  1055.         GOSUB 12930                                                  ' PE012301
  1056.         IF NOT ScanUsers AND ZWasQ = 0 THEN _                        ' PE012301
  1057.            GOTO 11310                                                ' PE012301
  1058. 11115   ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)                        ' PE012301
  1059.         CALL AllCaps (ZWasZ$)                                        ' PE012301
  1060.         WasX = INSTR("123456ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%&*()<>[]",ZWasZ$) ' DD070601
  1061.         IF ZWasZ$ = "" AND ScanUsers THEN _                          ' PE012301
  1062.            GOTO 12965                                                ' PE012301
  1063.         ON WasX GOTO 11130, 11340, 11330, 11220, 11320, 11127, _     ' DD070601
  1064.                      11190, 11390, 11160, 11470, 11437, 11425, _     ' DD070601
  1065.                      11426, 11420, 11423, 11490, 11435, 11446, _     ' DD070601
  1066.                      11448, 11452, 11424, 11400, 11431, 11427, _     ' DD070905
  1067.                      11432, 11433, 11445, 11436, 11434, 11428, _     ' DD070601
  1068.                      11429, 11444, 11430, 11438, 11439, 11440, _     ' DD070601
  1069.                      11441, 11442, 11443, 11449, 11447, 11450, _     ' DD070601
  1070.                      11451, 11453, 11454                             ' DD070906
  1071.         GOTO 11110                                                   ' PE012301
  1072. 11125   WasZ = VAL(ZUserIn$)                                         ' PE012301
  1073.         IF WasZ < 1 OR WasZ > ZHighestUserRecord THEN _              ' PE012301
  1074.            GOTO 11127                                                ' PE012301
  1075.         GOTO 10010                                                   ' DD062304
  1076. 11127   ZOutTxt$ = "What record #"                                   ' PE012301
  1077.         GOSUB 12932                                                  ' PE012301
  1078.         GOTO 11125                                                   ' PE012301
  1079. '                                                                    ' PE012301
  1080. ' *  D - COMMAND FROM 5- USER MAINTENANCE OPTIONS (DELETE USER)      ' PE012301
  1081. '                                                                    ' PE012301
  1082. 11130   ZOutTxt$ = "Delete user?" + ZNoPrompt$                       ' DD060101
  1083.         GOSUB 12995                                                  ' PE012301
  1084.         IF ZYes THEN _                                               ' PE012301
  1085.            LSET ZUserName$ = CHR$(0) + _                             ' PE012301
  1086.                              "deleted user" : _                      ' PE012301
  1087.            LSET ZSecLevel$ = MKI$(ZMinLogonSec - 1) : _              ' PE012301
  1088.            LSET ZLastDateTimeOn$ = "01-01-80" + _                    ' PE012301
  1089.                                      SPACE$(1) + _                   ' DD021301
  1090.                                      ZTimeLoggedOn$                  ' PE012301
  1091.         GOTO 11290                                                   ' PE012301
  1092. '                                                                    ' PE012301
  1093. ' *  N - COMMAND FROM 5- USER MAINTENANCE OPTIONS (CHANGE USER PASSWORD)' PE012301
  1094. '                                                                    ' PE012301
  1095. 11160   GOSUB 12800                                                  ' PE012301
  1096.         GOTO 11290                                                   ' PE012301
  1097. '                                                                    ' PE012301
  1098. ' *  P - COMMAND FROM 5- USER MAINTENANCE OPTIONS (PRINT USER FILE)  ' PE012301
  1099. '                                                                    ' PE012301
  1100. 11185   CALL QuickTPut1 (ZUserLocation$ + " now " + ZWasCI$)         ' PE012301
  1101.         WasA1$ = "Enter new "                                        ' PE012301
  1102.         RETURN                                                       ' PE012301
  1103. 11190 ' *** C - COMMAND FROM 5 - CHANGE CITY/STATE ***               ' PE012301
  1104.         CityStateSave$ = ZWasCI$                                     ' PE012301
  1105.         ZWasCI$ = ZCityState$                                        ' PE012301
  1106.         CALL Trim (ZWasCI$)                                          ' PE012301
  1107.         GOSUB 11185                                                  ' PE012301
  1108.         GOSUB 12960                                                  ' PE012301
  1109.         ZWasCI$ = CityStateSave$                                     ' PE012301
  1110.         GOTO 11290                                                   ' PE012301
  1111. 11220   WasQQ = NOT WasQQ                                            ' PE012301
  1112.         GOTO 10015                                                   ' DD062304
  1113. 11290   ZUserFileIndex = LOC(5)                                      ' PE012301
  1114.         GOSUB 12989                                                  ' PE012301
  1115.         GOSUB 26000                                                  ' DD062304
  1116.         GOSUB 12991                                                  ' PE012301
  1117.         ZUserFileIndex = 0                                           ' PE012301
  1118.         GOTO 10015                                                   ' DD062304
  1119. 11310   IF ScanUsers THEN _                                          ' PE012301
  1120.            GOTO 12965                                                ' PE012301
  1121. 11311 NEXT                                                           ' PE012301
  1122. '                                                                    ' PE012301
  1123. ' *  Q - COMMAND FROM 5- USER MAINTENANCE OPTIONS (QUIT TO MAIN MENU)' PE012301
  1124. '                                                                    ' PE012301
  1125. 11320 ZUserFileIndex = WasTU                                         ' PE012301
  1126.       LSET ZUserRecord$ = UserRecordHold$                            ' PE012301
  1127.       ZRegDate$ = RegDateHold$                                       ' PE012301
  1128.       IF EditFromRead > 0 THEN _                                     ' PE012301
  1129.          GOTO 11325                                                  ' PE012301
  1130.       EXIT SUB                                                       ' PE012301
  1131. 11325 ZReply = ZFalse                                                ' PE012301
  1132.       JustReplied = ZTrue                                            ' PE012301
  1133.       QuotedReply = ZTrue                                            ' PE012301
  1134.       EditFromRead = 0                                               ' PE012301
  1135.       CALL GetMsgAttr                                                ' PE012301
  1136.       DontPrint = ZTrue                                              ' PE012301
  1137.       ZUserIn$ = CHR$(61)                                       '=   ' DD021301
  1138.       EditFromRead = 3                                               ' PE012301
  1139.       EXIT SUB                                                       ' PE012301
  1140. '                                                                    ' PE012301
  1141. ' *  M - COMMAND FROM 5- USER MAINTENANCE OPTIONS (MAIN USER MAINT. MENU)' PE012301
  1142. '                                                                    ' PE012301
  1143. 11330 CLOSE 2                                                        ' PE012301
  1144.       IF EditFromRead > 0 THEN _                                     ' PE012301
  1145.          EditFromRead = 2                                            ' PE012301
  1146.       GOTO 10000                                                     ' DD062304
  1147. '                                                                    ' PE012301
  1148. ' *  F - COMMAND FROM 5- USER MAINTENANCE OPTIONS (FIND USER)        ' PE012301
  1149. '                                                                    ' PE012301
  1150. 11340 ZOutTxt$ = ZPromptHash$ + _                                    ' PE012301
  1151.            " to find"                                                ' PE012301
  1152.       CALL SkipLine (1)                                              ' PE012301
  1153.       ZParseOff = ZTrue                                              ' PE012301
  1154.       GOSUB 12932                                                    ' PE012301
  1155.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1156.         GOTO 11340                                                   ' PE012301
  1157.       TempHashValue$ = ZUserIn$                                      ' PE012301
  1158. 11341 IF LEN(TempHashValue$) < 3 OR LEN(TempHashValue$) > ZLenHash THEN _' PE012301
  1159.          GOTO 11340                                                  ' PE012301
  1160.       CALL AllCaps (TempHashValue$)                                  ' PE012301
  1161.       IF ZStartIndiv < 1 THEN _                                      ' PE012301
  1162.          GOTO 11345                                                  ' PE012301
  1163. 11342 ZOutTxt$ = ZPromptIndiv$ + _                                   ' PE012301
  1164.            " to find"                                                ' PE012301
  1165.       GOSUB 12995                                                    ' PE012301
  1166.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1167.          GOTO 11342                                                  ' PE012301
  1168.       TempIndivValue$ = ZUserIn$                                     ' PE012301
  1169.       IF LEN(TempIndivValue$) > ZLenIndiv THEN _                     ' PE012301
  1170.          GOTO 11342                                                  ' PE012301
  1171.       CALL AllCaps (TempIndivValue$)                                 ' PE012301
  1172. 11345 GOSUB 12600                                                    ' PE012301
  1173.       GOSUB 12990                                                    ' PE012301
  1174.       GOSUB 12987                                                    ' PE012301
  1175.       ZUserFileIndex = 0                                             ' PE012301
  1176.       IF Found THEN _                                                ' PE012301
  1177.          GOTO 10015                                                  ' DD062304
  1178. 11380 ZOutTxt$ = TempHashValue$ + _                                  ' PE012301
  1179.            SPACE$(1) + _                                             ' DD021301
  1180.            TempIndivValue$ + _                                       ' PE012301
  1181.            " not found"                                              ' PE012301
  1182.       GOSUB 12977                                                    ' PE012301
  1183.       GOTO 11310                                                     ' PE012301
  1184. '                                                                    ' PE012301
  1185. ' *  S - COMMAND FROM 5- USER MAINTENANCE OPTIONS (CHANGE USER SECURITY)' PE012301
  1186. '                                                                    ' PE012301
  1187. 11390 GOSUB 11395                                                    ' PE012301
  1188.       LSET ZSecLevel$ = MKI$(WasOF)                                  ' PE012301
  1189.       GOTO 11290                                                     ' PE012301
  1190. 11395 ZOutTxt$ = "New sec level" + ZPressEnterExpert$                ' DD062304
  1191.       GOSUB 12932                                                    ' PE012301
  1192.       ZWasZ$ = ZUserIn$(ZAnsIndex)                                   ' PE012301
  1193.       WasOF = VAL(ZWasZ$)                                            ' PE012301
  1194.       IF WasOF > ZUserSecLevel THEN _                                ' PE012301
  1195.          WasOF = ZUserSecLevel                                       ' PE012301
  1196.       RETURN                                                         ' PE012301
  1197. '                                                                    ' PE012301
  1198. ' *  R - COMMAND FROM 5- USER MAINTENANCE OPTIONS (SET USER GRAPHICS)' DD062202
  1199. '                                                                    ' PE012301
  1200. 11400 Temp = ASC(MID$(ZUserOption$,6,1))                             ' DD062202
  1201.       CALL ChangeInt (ZTrue,"Graphics Color",Temp,30,99)             ' DD062202
  1202.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1203.          LSET ZUserOption$ = LEFT$(ZUserOption$,5) + _               ' DD062202
  1204.                              CHR$(ZTestedIntValue) + _               ' DD062202
  1205.                              MID$(ZUserOption$,7)                    ' DD062202
  1206.       END IF                                                         ' DD062202
  1207.       GOTO 11290                                                     ' DD062202
  1208. 11420        ' * T - COMMAND FROM 5 - TIME USED                      ' PE012301
  1209.       Temp = CVI (ZElapsedTime$)                                     ' PE012301
  1210.       CALL ChangeInt (ZTrue,"Time Used",Temp,-21900,2000)            ' PE012301
  1211.       IF ZWasQ <> 0 THEN _                                           ' PE012301
  1212.          LSET ZElapsedTime$ = MKI$(ZTestedIntValue)                  ' PE012301
  1213.       GOTO 11290                                                     ' PE012301
  1214. 11423        ' * B - COMMAND FROM 5 - BANKED TIME                    ' PE012301
  1215.       Temp = ASC(ZBankTime$)                                         ' PE012301
  1216.       CALL ChangeInt (ZTrue,"Banked Time",Temp,0,255)                ' PE012301
  1217.       IF ZWasQ <> 0 THEN _                                           ' PE012301
  1218.          LSET ZBankTime$ = CHR$(ZTestedIntValue)                     ' PE012301
  1219.       GOTO 11290                                                     ' PE012301
  1220. 11424        ' * ! - COMMAND FROM 5 - DROPPED CARRIERS               ' DD091401/DROP
  1221.       Temp = ASC(ZDropTimes$)                                        ' DD091401/DROP
  1222.       CALL ChangeInt (ZTrue,"Dropped Carriers",Temp,0,255)           ' DD091401/DROP
  1223.       IF ZWasQ <> 0 THEN _                                           ' DD091401/DROP
  1224.          LSET ZDropTimes$ = CHR$(ZTestedIntValue)                    ' DD091401/DROP
  1225.       GOTO 11290                                                     ' DD091401/DROP
  1226. '                                                                    ' DD062202
  1227. ' * Date/Time last on                                                ' DD062202
  1228. '                                                                    ' DD062202
  1229. 11425 ZOutTxt$ = "Enter Last Date/Time on (DD-MM-YY HH:MM)"          ' DD062202
  1230.       GOSUB 12932                                                    ' DD062202
  1231.       IF ZWasQ = 0 THEN                                              ' DD062202
  1232.          GOTO 10015                                                  ' DD062304
  1233.       END IF                                                         ' DD062202
  1234.       LSET ZLastDateTimeOn$ = ZUserIn$(ZAnsIndex) + _                ' DD062202
  1235.                               " " + ZUserIn$(ZLastIndex)             ' DD062202
  1236.       ZLastIndex = 1                                                 ' DD070602
  1237.       GOTO 11290                                                     ' DD062202
  1238. '                                                                    ' DD062202
  1239. ' * Times On                                                         ' DD062202
  1240. '                                                                    ' DD062202
  1241. 11426 Temp = CVI(MID$(ZUserOption$,1,2))                             ' DD062202
  1242.       CALL ChangeInt (ZTrue,"Times Logged On",Temp,1,32767)          ' DD062202
  1243.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1244.          LSET ZUserOption$ = MKI$(ZTestedIntValue) + MID$(ZUserOption$,3) ' DD062202
  1245.       END IF                                                         ' DD062202
  1246.       GOTO 11290                                                     ' DD062202
  1247. '                                                                    ' DD062202
  1248. ' * ANSIEd                                                           ' DD062202
  1249. '                                                                    ' DD062202
  1250. 11427 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1251.       ZWasA = ZWasA XOR 128                                          ' DD062202
  1252.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1253.               MKI$ (ZWasA) + _                                       ' DD062202
  1254.               MID$(ZUserOption$,11)                                  ' DD062202
  1255.       GOTO 11290                                                     ' DD062202
  1256. '                                                                    ' DD062202
  1257. ' * Protocol                                                         ' DD062202
  1258. '                                                                    ' DD062202
  1259. 11428 ZOutTxt$ = "Enter Protocol"                                    ' DD062202
  1260.       GOSUB 12932                                                    ' DD062202
  1261.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1262.          LSET ZUserOption$ = LEFT$(ZUserOption$,4) + _               ' DD062202
  1263.                              UCASE$(LEFT$(ZUserIn$(ZAnsIndex),1)) + _' DD062202
  1264.                              MID$(ZUserOption$,6)                    ' DD062202
  1265.       END IF                                                         ' DD062202
  1266.       GOTO 11290                                                     ' DD062202
  1267. '                                                                    ' DD062202
  1268. ' * Skip New Files                                                   ' DD062202
  1269. '                                                                    ' DD062202
  1270. 11429 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1271.       ZWasA = ZWasA XOR 64                                           ' DD062202
  1272.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1273.               MKI$(ZWasA) + _                                        ' DD062202
  1274.               MID$(ZUserOption$,11)                                  ' DD062202
  1275.       GOTO 11290                                                     ' DD062202
  1276. '                                                                    ' DD062202
  1277. ' * Check New Bulletins                                              ' DD062202
  1278. '                                                                    ' DD062202
  1279. 11430 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1280.       ZWasA = ZWasA XOR 32                                           ' DD062202
  1281.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1282.               MKI$(ZWasA) + _                                        ' DD062202
  1283.               MID$(ZUserOption$,11)                                  ' DD062202
  1284.       GOTO 11290                                                     ' DD062202
  1285. '                                                                    ' DD062202
  1286. ' * HighLighting                                                     ' DD062202
  1287. '                                                                    ' DD062202
  1288. 11431 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1289.       ZWasA = ZWasA XOR 1024                                         ' DD062202
  1290.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1291.               MKI$(ZWasA) + _                                        ' DD062202
  1292.               MID$(ZUserOption$,11)                                  ' DD062202
  1293.       GOTO 11290                                                     ' DD062202
  1294. '                                                                    ' DD062202
  1295. ' * Page Length                                                      ' DD062202
  1296. '                                                                    ' DD062202
  1297. 11432 Temp = ASC(MID$(ZUserOption$,13,1))                            ' DD062202
  1298.       CALL ChangeInt (ZTrue,"Page Length",Temp,0,255)                ' DD062202
  1299.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1300.          LSET ZUserOption$ = LEFT$(ZUserOption$,12) + _              ' DD062202
  1301.                  CHR$(ZTestedIntValue) + _                           ' DD062202
  1302.                  MID$(ZUserOption$,14)                               ' DD062202
  1303.       END IF                                                         ' DD062202
  1304.       GOTO 11290                                                     ' DD062202
  1305. '                                                                    ' DD062202
  1306. ' * Right Margin                                                     ' DD062202
  1307. '                                                                    ' DD062202
  1308. 11433 Temp = ASC(MID$(ZUserOption$,7,1))                             ' DD063002
  1309.       CALL ChangeInt (ZTrue,"Right Margin",Temp,1,74)                ' DD062202
  1310.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1311.          LSET ZUserOption$ = LEFT$(ZUserOption$,6) + _               ' DD062202
  1312.                  CHR$(ZTestedIntValue) + _                           ' DD063002
  1313.                  MID$(ZUserOption$,8)                                ' DD063001
  1314.       END IF                                                         ' DD062202
  1315.       GOTO 11290                                                     ' DD062202
  1316. '                                                                    ' DD062202
  1317. ' * Mail Waiting                                                     ' DD062202
  1318. '                                                                    ' DD062202
  1319. 11434 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1320.       ZWasA = ZWasA XOR 512                                          ' DD062202
  1321.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1322.               MKI$(ZWasA) + _                                        ' DD062202
  1323.               MID$(ZUserOption$,11)                                  ' DD062202
  1324.       GOTO 11290                                                     ' DD062202
  1325. '                                                                    ' DD062202
  1326. ' * Answered Questionaire                                            ' DD062202
  1327. '                                                                    ' DD062202
  1328. 11435 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1329.       ZWasA = ZWasA XOR 256                                          ' DD062202
  1330.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1331.               MKI$(ZWasA) + _                                        ' DD062202
  1332.               MID$(ZUserOption$,11)                                  ' DD062202
  1333.       GOTO 11290                                                     ' DD062202
  1334. '                                                                    ' DD062202
  1335. ' * Last Message Read                                                ' DD062202
  1336. '                                                                    ' DD062202
  1337. 11436 Temp = CVI(MID$(ZUserOption$,3,2))                             ' DD062202
  1338.       CALL ChangeInt (ZTrue,"Last Msg Read",Temp,0,ZHighMsgNumber)   ' DD062202
  1339.       IF ZWasQ <> 0 THEN                                             ' DD062202
  1340.          LSET ZUserOption$ = LEFT$(ZUserOption$,2) + _               ' DD062202
  1341.                  MKI$(ZTestedIntValue) + _                           ' DD062202
  1342.                  MID$(ZUserOption$,5)                                ' DD062202
  1343.       END IF                                                         ' DD062202
  1344.       GOTO 11290                                                     ' DD062202
  1345. '                                                                    ' DD062202
  1346. ' * Last DIR Date                                                    ' DD062202
  1347. '                                                                    ' DD062202
  1348. 11437 ZOutTxt$ = "Enter Last DIR Date (MM-DD-YY)"                    ' DD062606
  1349.       GOSUB 12932                                                    ' DD062202
  1350.       IF ZWasQ = 0 THEN                                              ' DD062202
  1351.          GOTO 10015                                                  ' DD062304
  1352.       END IF                                                         ' DD062202
  1353.       IF LEN(ZUserIn$(ZAnsIndex)) < 8 THEN                           ' DD062202
  1354.          GOTO 11437                                                  ' DD062202
  1355.       END IF                                                         ' DD062202
  1356.       LSET ZListNewDate$ = CHR$(VAL(MID$(ZUserIn$(ZAnsIndex),7,2))) + _ ' DD062202
  1357.                            CHR$(VAL(MID$(ZUserIn$(ZAnsIndex),1,2))) + _ ' DD062202
  1358.                            CHR$(VAL(MID$(ZUserIn$(ZAnsIndex),4,2)))  ' DD062202
  1359.       GOTO 11290                                                     ' DD062202
  1360. '                                                                    ' DD062202
  1361. ' * Expert User                                                      ' DD062202
  1362. '                                                                    ' DD062202
  1363. 11438 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1364.       ZWasA = ZWasA XOR 2                                            ' DD062202
  1365.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1366.               MKI$(ZWasA) + _                                        ' DD062202
  1367.               MID$(ZUserOption$,11)                                  ' DD062202
  1368.       GOTO 11290                                                     ' DD062202
  1369. '                                                                    ' DD062202
  1370. ' * Prompt Bell                                                      ' DD062202
  1371. '                                                                    ' DD062202
  1372. 11439 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1373.       ZWasA = ZWasA XOR 1                                            ' DD062202
  1374.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1375.               MKI$(ZWasA) + _                                        ' DD062202
  1376.               MID$(ZUserOption$,11)                                  ' DD062202
  1377.       GOTO 11290                                                     ' DD062202
  1378. '                                                                    ' DD062202
  1379. ' * Nulls                                                            ' DD062202
  1380. '                                                                    ' DD062202
  1381. 11440 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1382.       ZWasA = ZWasA XOR 4                                            ' DD062202
  1383.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1384.               MKI$(ZWasA) + _                                        ' DD062202
  1385.               MID$(ZUserOption$,11)                                  ' DD062202
  1386.       GOTO 11290                                                     ' DD062202
  1387. '                                                                    ' DD062202
  1388. ' * Upper Case                                                       ' DD062202
  1389. '                                                                    ' DD062202
  1390. 11441 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1391.       ZWasA = ZWasA XOR 8                                            ' DD062202
  1392.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1393.               MKI$(ZWasA) + _                                        ' DD062202
  1394.               MID$(ZUserOption$,11)                                  ' DD062202
  1395.       GOTO 11290                                                     ' DD062202
  1396. '                                                                    ' DD062202
  1397. ' * Line Feeds                                                       ' DD062202
  1398. '                                                                    ' DD062202
  1399. 11442 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1400.       ZWasA = ZWasA XOR 16                                           ' DD062202
  1401.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1402.               MKI$(ZWasA) + _                                        ' DD062202
  1403.               MID$(ZUserOption$,11)                                  ' DD062202
  1404.       GOTO 11290                                                     ' DD062202
  1405. '                                                                    ' DD062202
  1406. ' * TurboKeys                                                        ' DD062202
  1407. '                                                                    ' DD062202
  1408. 11443 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1409.       ZWasA = ZWasA XOR 2048                                         ' DD062202
  1410.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1411.               MKI$(ZWasA) + _                                        ' DD062202
  1412.               MID$(ZUserOption$,11)                                  ' DD062202
  1413.       GOTO 11290                                                     ' DD062202
  1414. '                                                                    ' DD062202
  1415. ' * Personal Upload Waiting                                          ' DD062202
  1416. '                                                                    ' DD062202
  1417. 11444 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD062202
  1418.       ZWasA = ZWasA XOR 4096                                         ' DD062202
  1419.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD062202
  1420.               MKI$(ZWasA) + _                                        ' DD062202
  1421.               MID$(ZUserOption$,11)                                  ' DD062202
  1422.       GOTO 11290                                                     ' DD062202
  1423. '                                                                    ' DD070102
  1424. ' * Read All New Mail                                                ' DD070102
  1425. '                                                                    ' DD070102
  1426. 11445 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070102
  1427.       ZWasA = ZWasA XOR 1                                            ' DD070102
  1428.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070102
  1429.               CHR$(ZWasA) + _                                        ' DD070102
  1430.               MID$(ZUserOption$,9)                                   ' DD070102
  1431.       GOTO 11290                                                     ' DD070102
  1432. '                                                                    ' DD070103
  1433. ' * Reselect All                                                     ' DD070103
  1434. '                                                                    ' DD070103
  1435. 11446 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070103
  1436.       ZWasA = ZWasA XOR 2                                            ' DD070103
  1437.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070103
  1438.               CHR$(ZWasA) + _                                        ' DD070103
  1439.               MID$(ZUserOption$,9)                                   ' DD070103
  1440.       GOTO 11290                                                     ' DD070103
  1441. '                                                                    ' DD070102
  1442. ' * More Prompt LF                                                   ' DD070102
  1443. '                                                                    ' DD070102
  1444. 11447 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070102
  1445.       ZWasA = ZWasA XOR 4                                            ' DD070102
  1446.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070102
  1447.               CHR$(ZWasA) + _                                        ' DD070102
  1448.               MID$(ZUserOption$,9)                                   ' DD070102
  1449.       GOTO 11290                                                     ' DD070102
  1450. '                                                                    ' DD070105
  1451. ' * Reselect Graphics                                                ' DD070105
  1452. '                                                                    ' DD070105
  1453. 11448 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070105
  1454.       ZWasA = ZWasA XOR 8                                            ' DD070105
  1455.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070105
  1456.               CHR$(ZWasA) + _                                        ' DD070105
  1457.               MID$(ZUserOption$,9)                                   ' DD070105
  1458.       GOTO 11290                                                     ' DD070105
  1459. '                                                                    ' DD070402
  1460. ' * ANSI Music                                                       ' DD070402
  1461. '                                                                    ' DD070402
  1462. 11449 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070402
  1463.       ZWasA = ZWasA XOR 16                                           ' DD070402
  1464.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070402
  1465.               CHR$(ZWasA) + _                                        ' DD070402
  1466.               MID$(ZUserOption$,9)                                   ' DD070402
  1467.       GOTO 11290                                                     ' DD070402
  1468. '                                                                    ' DD070904
  1469. ' * Echoer                                                           ' DD070904
  1470. '                                                                    ' DD070904
  1471. 11450 ZOutTxt$ = "Change ECHO to R)BBS, C)aller's software" + _      ' DD070907
  1472.            MID$(", I)ntermediate host",1,-20 * (ZHostEchoOn$ <> "")) + _ ' DD070907
  1473.            ZPressEnterExpert$                                        ' DD070907
  1474.       ZTurboKey = -ZTurboKeyUser                                     ' DD070907
  1475.       CALL PopCmdStack                                               ' DD070907
  1476.       IF ZWasQ = 0 THEN _                                            ' DD070907
  1477.          GOTO 11290                                                  ' DD070907
  1478.       ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)                          ' DD070907
  1479.       CALL AllCaps (ZWasZ$)                                          ' DD070907
  1480.       IF INSTR("ICR",ZWasZ$) <> 0 THEN _                             ' DD070907
  1481.          LSET ZUserOption$ = LEFT$(ZUserOption$,13) + _              ' DD070907
  1482.          ZWasZ$                                                      ' DD070904
  1483.       GOTO 11290                                                     ' DD070904
  1484. '                                                                    ' DD070601
  1485. ' * Never Can Page                                                   ' DD070601
  1486. '                                                                    ' DD070601
  1487. 11451 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070601
  1488.       ZWasA = ZWasA XOR 32                                           ' DD070601
  1489.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070601
  1490.               CHR$(ZWasA) + _                                        ' DD070601
  1491.               MID$(ZUserOption$,9)                                   ' DD070601
  1492.       GOTO 11290                                                     ' DD070601
  1493. '                                                                    ' DD070905
  1494. ' * Reselect Protocol                                                ' DD070905
  1495. '                                                                    ' DD070905
  1496. 11452 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070905
  1497.       ZWasA = ZWasA XOR 64                                           ' DD070905
  1498.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070905
  1499.               CHR$(ZWasA) + _                                        ' DD070905
  1500.               MID$(ZUserOption$,9)                                   ' DD070905
  1501.       GOTO 11290                                                     ' DD070905
  1502. '                                                                    ' DD070906
  1503. ' * Extended Files                                                   ' DD070906
  1504. '                                                                    ' DD070906
  1505. 11453 ZWasA = CVI(MID$(ZUserOption$,9,2))                            ' DD071902
  1506.       ZWasA = ZWasA XOR 16384                                        ' DD071902
  1507.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + _                  ' DD071902
  1508.               MKI$(ZWasA) + _                                        ' DD071902
  1509.               MID$(ZUserOption$,11)                                  ' DD071902
  1510.       GOTO 11290                                                     ' DD071902
  1511. '                                                                    ' DD070906
  1512. ' * Global Twit                                                      ' DD070906
  1513. '                                                                    ' DD070906
  1514. 11454 ZWasA = ASC(MID$(ZUserOption$,8,1))                            ' DD070906
  1515.       ZWasA = ZWasA XOR 128                                          ' DD070906
  1516.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + _                  ' DD070906
  1517.               CHR$(ZWasA) + _                                        ' DD070906
  1518.               MID$(ZUserOption$,9)                                   ' DD070906
  1519.       GOTO 11290                                                     ' DD070906
  1520. '                                                                    ' PE012301
  1521. ' *  $ - COMMAND FROM 5 - USER MAINTENANCE (CHANGE REGISTRATION DATE)' PE012301
  1522. '                                                                    ' PE012301
  1523. 11470 ZOutTxt$ = "Enter new registration date (MM-DD-YY)"            ' DD070601
  1524.       GOSUB 12932                                                    ' PE012301
  1525.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1526.          GOTO 10015                                                  ' DD062304
  1527. 11475 WorkDate$ = ZUserIn$(ZAnsIndex)                                ' DD070601
  1528.       IF LEN(WorkDate$) < 8 THEN _                                   ' PE012301
  1529.          GOTO 11470                                                  ' DD070601
  1530.       CALL ResetRegDate (WorkDate$)                                  ' PE012301
  1531.       IF NOT ZOK THEN _                                              ' PE012301
  1532.          GOTO 11470                                                  ' DD070601
  1533.       LSET ZUserOption$ = LEFT$(ZUserOption$,10) + _                 ' PE012301
  1534.                            ZRegDate$ + _                             ' PE012301
  1535.                            MID$(ZUserOption$,13)                     ' PE012301
  1536.       CALL SetRegDisplay                                             ' PE012301
  1537.       ZRegDate$ = RegDateHold$                                       ' PE012301
  1538.       GOTO 11290                                                     ' PE012301
  1539. '                                                                    ' PE012301
  1540. ' *  X - COMMAND FROM 5 - USER MAINTENANCE (CHANGE XFER COUNTERS) *  ' PE012301
  1541. '                                                                    ' PE012301
  1542. 11490 CALL CmndSysOpXfer                                             ' PE012301
  1543.       GOTO 11290                                                     ' PE012301
  1544. '                                                                    ' PE012301
  1545. ' *  A - COMMAND FROM 5- USER MAINTENANCE OPTIONS (ADD USER)         ' PE012301
  1546. '                                                                    ' PE012301
  1547. 12300 WasA1$ = ""                                                    ' PE012301
  1548.       Attempts = 0                                                   ' PE012301
  1549.       FirstNameSave$ = ZFirstName$                                   ' PE012301
  1550.       LastNameSave$ = ZLastName$                                     ' PE012301
  1551.       ActiveUserNameSave$ = ZActiveUserName$                         ' PE012301
  1552.       CityStateSave$ = ZWasCI$                                       ' PE012301
  1553.       HashValueSave$ = HashValue$                                    ' PE012301
  1554.       IndivValueSave$ = ZIndivValue$                                 ' PE012301
  1555.       GOSUB 12500                                                    ' PE012301
  1556.       GOSUB 12840                                                    ' PE012301
  1557.       GOSUB 12850                                                    ' PE012301
  1558.       GOSUB 12598                                                    ' PE012301
  1559.       IF ZUserFileIndex = 0 THEN _                                   ' PE012301
  1560.          GOSUB 12984 : _                                             ' PE012301
  1561.          GOTO 12330                                                  ' PE012301
  1562.       IF Found THEN _                                                ' PE012301
  1563.          WasD$ = "User already exists" : _                           ' PE012301
  1564.          CALL LPrnt(WasD$,1) : _                                     ' PE012301
  1565.          GOSUB 12984 : _                                             ' PE012301
  1566.          GOTO 12330                                                  ' PE012301
  1567. 12310 GOSUB 12630                                                    ' PE012301
  1568.       GOSUB 12800                                                    ' PE012301
  1569.       GOSUB 11395                                                    ' PE012301
  1570.       ZTempSecLevel = WasOF                                          ' PE012301
  1571.       CALL SetNewUserDef                                             ' PE012301
  1572.       LSET ZLastDateTimeOn$ = ZCurDate$ + _                          ' PE012301
  1573.                                 SPACE$(1) + _                        ' DD021301
  1574.                                 ZTimeLoggedOn$                       ' PE012301
  1575.       LSET ZListNewDate$ = CHR$(91) + CHR$(1) + CHR$(1)              ' DD081001
  1576.       TempDate$ = DATE$                                              ' DD081001
  1577.       WorkDate$ = LEFT$(TempDate$,6) + RIGHT$(TempDate$,2)           ' DD081001
  1578.       CALL ResetRegDate (WorkDate$)                                  ' DD081001
  1579.       LSET ZUserOption$ = LEFT$(ZUserOption$,10) + _                 ' DD081001
  1580.                            ZRegDate$ + _                             ' DD081001
  1581.                            MID$(ZUserOption$,13)                     ' DD081001
  1582.       LSET ZUserOption$ = LEFT$(ZUserOption$,13) + ZDefaultEchoer$   ' DD081001
  1583.       LSET ZUserOption$ = LEFT$(ZUserOption$,12) + _                 ' DD081001
  1584.               CHR$(23) + _                                           ' DD081001
  1585.               MID$(ZUserOption$,14)                                  ' DD081001
  1586.       LSET ZUserOption$ = LEFT$(ZUserOption$,6) + _                  ' DD081001
  1587.               CHR$(72) + _                                           ' DD081001
  1588.               MID$(ZUserOption$,8)                                   ' DD081001
  1589.       LSET ZUserOption$ = LEFT$(ZUserOption$,7) + CHR$(1) + _        ' DD081001
  1590.               MID$(ZUserOption$,9)                                   ' DD081001
  1591.       LSET ZUserOption$ = LEFT$(ZUserOption$,8) + MKI$(9264) + _     ' DD081001
  1592.               MID$(ZUserOption$,11)                                  ' DD081001
  1593.       GOSUB 12960                                                    ' PE012301
  1594.       CALL AllCaps (ZUserIn$)                                        ' PE012301
  1595.       LSET ZCityState$ = ZUserIn$                                    ' PE012301
  1596.       LSET ZElapsedTime$ = MKI$(0)                                   ' PE012301
  1597.       IF ZStartHash > 1 THEN _                                       ' PE012301
  1598.          MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$         ' PE012301
  1599.       IF ZStartIndiv > 1 THEN _                                      ' PE012301
  1600.          MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$     ' PE012301
  1601.       GOSUB 26000                                                    ' DD062304
  1602. 12320 GOSUB 12991                                                    ' PE012301
  1603. 12330 ZUserSecLevel = UserSecLevelSave                               ' PE012301
  1604.       ZFirstName$ = FirstNameSave$                                   ' PE012301
  1605.       ZLastName$ = LastNameSave$                                     ' PE012301
  1606.       ZActiveUserName$ = ActiveUserNameSave$                         ' PE012301
  1607.       ZWasCI$ = CityStateSave$                                       ' PE012301
  1608.       HashValue$ = HashValueSave$                                    ' PE012301
  1609.       ZIndivValue$ = IndivValueSave$                                 ' PE012301
  1610.       ZUserFileIndex = WasTU                                         ' PE012301
  1611.       LSET ZUserRecord$ = UserRecordHold$                            ' PE012301
  1612.       GOTO 10000                                                     ' DD062304
  1613. '                                                                    ' PE012301
  1614. ' *  GET USER First AND Last NAMES                                   ' PE012301
  1615. '                                                                    ' PE012301
  1616. 12500 IF Attempts > 5 THEN _                                         ' PE012301
  1617.          ZFF = ZTrue : _                                             ' PE012301
  1618.          RETURN                                                      ' PE012301
  1619. 12510 Attempts = Attempts + 1                                        ' DD062304
  1620.       ZOutTxt$ = WasA1$ + _                                          ' PE012301
  1621.            ZFirstNamePrompt$                                         ' PE012301
  1622.       CALL SkipLine (1)                                              ' PE012301
  1623.       ZLogonActive = ZTrue                                           ' PE012301
  1624.       GOSUB 12555                                                    ' PE012301
  1625.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1626.           GOTO 12500                                                 ' PE012301
  1627.       ZLogonActive = ZFalse                                          ' PE012301
  1628.       CALL Trim (ZWasZ$)                                             ' PE012301
  1629.       ZFirstName$ = ZWasZ$                                           ' PE012301
  1630. 12530 ZOutTxt$ = WasA1$ + _                                          ' PE012301
  1631.            ZLastNamePrompt$                                          ' PE012301
  1632.       ZParseOff = ZTrue                                              ' PE012301
  1633.       GOSUB 12555                                                    ' PE012301
  1634.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1635.           GOTO 12500                                                 ' PE012301
  1636. 12540 CALL Trim (ZWasZ$)                                             ' PE012301
  1637.       ZLastName$ = ZWasZ$                                            ' PE012301
  1638.       IF LEN(ZLastName$) < 2 THEN _                                  ' PE012301
  1639.          IF LEN(ZFirstName$) > 2 THEN _                              ' PE012301
  1640.             GOTO 12500                                               ' PE012301
  1641.       IF (LEN(ZFirstName$) + LEN(ZLastName$)) > 30 THEN _            ' PE012301
  1642.          GOTO 12500                                                  ' PE012301
  1643.       IF UserSecLevelSave < ZSysopSecLevel THEN _                    ' PE012301
  1644.          IF (LEN(ZFirstName$) < 2 OR LEN(ZLastName$) < 2) THEN _     ' PE012301
  1645.             GOTO 12500 _                                             ' PE012301
  1646.          ELSE IF LEFT$(ZFirstName$,1)=SPACE$(1) OR LEFT$(ZLastName$,1)=SPACE$(1) THEN _' DD021301
  1647.                  GOTO 12500                                          ' PE012301
  1648. 12550 ZActiveUserName$ = MID$(ZFirstName$ + SPACE$(1) + ZLastName$,1,31) ' DD021301
  1649.       ZWasZ$ = ZFirstName$                                           ' PE012301
  1650.       RETURN                                                         ' PE012301
  1651. '                                                                    ' PE012301
  1652. ' *  CHECK FOR NAMES NOT ALLOWED                                     ' PE012301
  1653. '                                                                    ' PE012301
  1654. 12555 GOSUB 12932                                                    ' PE012301
  1655.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1656.          RETURN                                                      ' PE012301
  1657. 12556 ZWasZ$ = ZUserIn$(ZAnsIndex)                                   ' PE012301
  1658. 12557 CALL AllCaps (ZWasZ$)                                          ' PE012301
  1659.       CALL RemNonAlf (ZWasZ$,31,91)                                  ' PE012301
  1660.       RETURN                                                         ' PE012301
  1661. '                                                                    ' PE012301
  1662. ' *  COMMON SEARCH USER FILE ROUTINE                                 ' PE012301
  1663. '                                                                    ' PE012301
  1664. 12598 TempHashValue$ = HashValue$                                    ' PE012301
  1665.       TempIndivValue$ = ZIndivValue$                                 ' PE012301
  1666. 12600 GOSUB 25000                                                    ' DD062304
  1667.       GOSUB 12988                                                    ' PE012301
  1668. 12605 CALL OpenUser (ZHighestUserRecord)                             ' PE012301
  1669.       GOSUB 26100                                                    ' DD062304
  1670.       CALL FindUser (TempHashValue$,TempIndivValue$,ZStartHash,ZLenHash,_' PE012301
  1671.                      ZStartIndiv,ZLenIndiv,ZHighestUserRecord,Found,_' PE012301
  1672.                      ZUserFileIndex,ZWasSL)                          ' PE012301
  1673.      IF Found THEN _                                                 ' PE012301
  1674.         RETURN                                                       ' PE012301
  1675.      IF CurUserCount < (ZHighestUserRecord-1)*.95 THEN _             ' PE012301
  1676.         RETURN                                                       ' PE012301
  1677.      ZOutTxt$ = "No room for new users in " + ZConfName$             ' PE012301
  1678.      CALL UpdtCalr (ZOutTxt$,2)                                      ' PE012301
  1679.      IF ZActiveUserFile$ <> ZMainUserFile$ THEN _                    ' PE012301
  1680.         ZUserFileIndex = 0 : _                                       ' PE012301
  1681.         RETURN                                                       ' PE012301
  1682.       IF ZRememberNewUsers AND NOT ZSurviveNoUserRoom THEN _         ' PE012301
  1683.               GOTO 12975                                             ' PE012301
  1684.       ZUserFileIndex = 0                                             ' PE012301
  1685.       IF ZSurviveNoUserRoom THEN _                                   ' PE012301
  1686.          ZRememberNewUsers = ZFalse                                  ' PE012301
  1687.       RETURN                                                         ' PE012301
  1688. '                                                                    ' PE012301
  1689. ' *  AUGMENT USER COUNT, LOCK 4 REC BLOCK IN USER, UNLOCK FILES      ' PE012301
  1690. '                                                                    ' PE012301
  1691. 12630 GOSUB 23000                                                    ' PE012301
  1692.       CurUserCount = CurUserCount + (ZWasSL = 0) * ZRememberNewUsers ' PE012301
  1693. 12632 GOSUB 24000                                                    ' PE012301
  1694.       GOSUB 12985                                                    ' PE012301
  1695.       IF ZRememberNewUsers THEN _                                    ' PE012301
  1696.          GOSUB 12989                                                 ' PE012301
  1697.       GOSUB 12990                                                    ' PE012301
  1698.       RETURN                                                         ' PE012301
  1699. '                                                                    ' PE012301
  1700. ' *  GET PASSWORD FROM NEWUSER                                       ' PE012301
  1701. '                                                                    ' PE012301
  1702. 12800 CALL NewPassword ("Password",ZFalse)                           ' DD062304
  1703.       IF ZSubParm < 0 THEN _                                         ' PE012301
  1704.          exit sub                                                    ' PE012301
  1705.       IF UserSecLevelSave < ZSysopSecLevel THEN _                    ' PE012301
  1706.          IF ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _                  ' PE012301
  1707.             GOTO 12800                                               ' PE012301
  1708.       LSET ZPswd$ = ZWasZ$                                           ' PE012301
  1709.       RETURN                                                         ' PE012301
  1710. '                                                                    ' PE012301
  1711. ' *  GET HASH VALUE FOR CURRENT USER TO LOOK UP IN THE USER'S FILE   ' PE012301
  1712. '                                                                    ' PE012301
  1713. 12840 IF ZStartHash = 1 THEN _                                       ' PE012301
  1714.          HashValue$ = ZActiveUserName$ : _                           ' PE012301
  1715.          RETURN                                                      ' PE012301
  1716.       WasX$ = WasA1$ + _                                             ' PE012301
  1717.            ZPromptHash$                                              ' PE012301
  1718.       CALL UntilRight (WasX$,HashValue$,2,ZLenHash)                  ' PE012301
  1719.       RETURN                                                         ' PE012301
  1720. '                                                                    ' PE012301
  1721. ' *  GET FIELD TO INDIVIDUATE ONE USER FROM ANOTHER (NAME FIELD IS DEFAULT)' PE012301
  1722. '                                                                    ' PE012301
  1723. 12850 IF ZStartIndiv < 1 OR ZLenIndiv < 1 THEN _                     ' PE012301
  1724.          RETURN                                                      ' PE012301
  1725.       IF ZStartIndiv = 1 THEN _                                      ' PE012301
  1726.          ZIndivValue$ = ZActiveUserName$ : _                         ' PE012301
  1727.          RETURN                                                      ' PE012301
  1728.       IF ZExitToDoors THEN _                                         ' PE012301
  1729.          RETURN                                                      ' PE012301
  1730.       WasX$ = WasA1$ + _                                             ' PE012301
  1731.            ZPromptIndiv$                                             ' PE012301
  1732.       CALL UntilRight (WasX$,ZIndivValue$,2,ZLenIndiv)               ' PE012301
  1733.       RETURN                                                         ' PE012301
  1734. 12930 ZTurboKey = -ZTurboKeyUser                                     ' PE012301
  1735. 12932 CALL PopCmdStack                                               ' PE012301
  1736.       GOTO 12997                                                     ' PE012301
  1737. '                                                                    ' PE012301
  1738. ' *  GET CITY AND STATE                                              ' PE012301
  1739. '                                                                    ' PE012301
  1740. 12960 ZOutTxt$ = WasA1$ + ZUserLocation$ + ZPressEnterExpert$        ' DD062304
  1741.       ZParseOff = ZTrue                                              ' PE012301
  1742.       GOSUB 12932                                                    ' PE012301
  1743.       IF ZWasQ = 0 THEN _                                            ' DD062304
  1744.          RETURN                                                      ' DD062304
  1745.       CALL AllCaps (ZUserIn$)                                        ' PE012301
  1746.       LSET ZCityState$ = ZUserIn$                                    ' PE012301
  1747.       ZWasCI$ = ZUserIn$                                             ' PE012301
  1748.       RETURN                                                         ' PE012301
  1749. '                                                                    ' PE012301
  1750. ' *  S - COMMAND FROM 5 - USER MAINTENANCE OPTIONS (SCAN USERS)      ' PE012301
  1751. '                                                                    ' PE012301
  1752. 12962 WasX = 0                                                       ' PE012301
  1753.       ZFF = ZFalse                                                   ' PE012301
  1754.       ZMacroMin = 99                                                 ' PE012301
  1755.       ZOutTxt$ = "String to search"                                  ' PE012301
  1756.       GOSUB 12998                                                    ' PE012301
  1757.       IF ZWasQ = 0 THEN _                                            ' PE012301
  1758.          GOTO 10000                                                  ' DD062304
  1759.       CALL AllCaps (ZUserIn$)                                        ' PE012301
  1760.       WasWK$ = ZUserIn$                                              ' PE012301
  1761.       IF ScanFunction$ = CHR$(76) THEN _                        'L   ' DD021301
  1762.          WasWK$ = CHR$(44) + _                                       ' DD021301
  1763.                STR$(VAL(WasWK$)) + _                                 ' PE012301
  1764.                CHR$(44)                                              ' DD021301
  1765. 12963 GET 5,WasI                                                     ' PE012301
  1766.       GOSUB 12966                                                    ' PE012301
  1767.       WasX = INSTR(ScanField$,WasWK$)                                ' PE012301
  1768.       IF WasX > 0 THEN _                                             ' PE012301
  1769.          GOTO 10015                                                  ' DD062304
  1770. 12965 WasI = WasI + 1                                                ' PE012301
  1771.       IF WasI > ZHighestUserRecord THEN _                            ' PE012301
  1772.          LSET ZUserRecord$ = UserRecordHold$ : _                     ' PE012301
  1773.          GOTO 10000                                                  ' DD062304
  1774.       WasX = 0                                                       ' PE012301
  1775.       GOTO 12963                                                     ' PE012301
  1776. 12966 ZFF = INSTR("NCPLH",ScanFunction$)                             ' PE012301
  1777. 12967 ON ZFF GOTO 12968,12969,12970,12972,12971                      ' PE012301
  1778.       GOTO 10000                                                     ' DD062304
  1779. '                                                                    ' PE012301
  1780. ' *  N - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (SEARCH FOR NAME)' PE012301
  1781. '                                                                    ' PE012301
  1782. 12968 ScanField$ = ZUserName$                                        ' PE012301
  1783.       RETURN                                                         ' PE012301
  1784. '                                                                    ' PE012301
  1785. ' *  C - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (SEARCH FOR CITY/ST)' PE012301
  1786. '                                                                    ' PE012301
  1787. 12969 ScanField$ = ZCityState$                                       ' PE012301
  1788.       RETURN                                                         ' PE012301
  1789. '                                                                    ' PE012301
  1790. ' *  P - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (SEARCH FOR PASSWORD)' PE012301
  1791. '                                                                    ' PE012301
  1792. 12970 ScanField$ = ZPswd$                                            ' PE012301
  1793.       RETURN                                                         ' PE012301
  1794. '                                                                    ' PE012301
  1795. ' *  H - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (SEARCH FOR HASH ID)' PE012301
  1796. '                                                                    ' PE012301
  1797. 12971 IF ZStartHash > 0 AND ZLenHash > 0 THEN _                      ' PE012301
  1798.          ScanField$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)         ' PE012301
  1799.       RETURN                                                         ' PE012301
  1800. '                                                                    ' PE012301
  1801. ' *  L - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (SEARCH FOR LEVEL)' PE012301
  1802. '                                                                    ' PE012301
  1803. 12972 ScanField$ = CHR$(44) + _                                      ' DD021301
  1804.                     STR$(CVI(ZSecLevel$)) + _                        ' PE012301
  1805.                     CHR$(44)                                         ' DD021301
  1806.       RETURN                                                         ' PE012301
  1807. '                                                                    ' PE012301
  1808. ' * CALLS INTO SEPARATELY COMPILED SUBROUTINES (RBBS-SUB)            ' PE012301
  1809. '                                                                    ' PE012301
  1810. '                                                                    ' PE012301
  1811. ' * STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL OUTPUT ROUTINE      ' PE012301
  1812. '                                                                    ' PE012301
  1813. 12975 ZSubParm = 1                                                   ' PE012301
  1814.       GOTO 12981                                                     ' PE012301
  1815. 12976 ZSubParm = 2                                                   ' PE012301
  1816.       GOTO 12981                                                     ' PE012301
  1817. 12977 ZSubParm = 3                                                   ' PE012301
  1818.       GOTO 12981                                                     ' PE012301
  1819. 12978 ZSubParm = 4     ' no cr/lf                                    ' PE012301
  1820.       GOTO 12981                                                     ' PE012301
  1821. 12979 ZSubParm = 5     ' cr/lf                                       ' PE012301
  1822.       GOTO 12981                                                     ' PE012301
  1823. 12980 ZSubParm = 6                                                   ' PE012301
  1824. 12981 CALL TPut                                                      ' PE012301
  1825. 12983 IF ZSubParm < 0 THEN _                                         ' PE012301
  1826.          EXIT SUB                                                    ' PE012301
  1827.       IF ZSubParm = 8 THEN _                                         ' PE012301
  1828.          GOSUB 12995                                                 ' PE012301
  1829.       RETURN                                                         ' PE012301
  1830. '                                                                    ' PE012301
  1831. ' * STANDARD ENTRY FOR RBBS-PC'S FILE LOCKING WHEN RUNNING MULTIPLE RBBS-PC'S' PE012301
  1832. '                                                                    ' PE012301
  1833. 12984 ZSubParm = 1  ' LOCK USERS & MESSAGES                          ' PE012301
  1834.       GOTO 12994                                                     ' PE012301
  1835. 12985 ZSubParm = 2  ' UNLOCK MESSAGES AND FLUSH                      ' PE012301
  1836.       Flushed = ZTrue                                                ' PE012301
  1837.       GOTO 12994                                                     ' PE012301
  1838. 12986 ZSubParm = 3  ' LOCK MESSAGES                                  ' PE012301
  1839.       GOTO 12994                                                     ' PE012301
  1840. 12987 ZSubParm = 4  ' UNLOCK MESSAGES                                ' PE012301
  1841.       GOTO 12994                                                     ' PE012301
  1842. 12988 ZSubParm = 5  ' LOCK USERS                                     ' PE012301
  1843.       GOTO 12994                                                     ' PE012301
  1844. 12989 ZSubParm = 6  ' LOCK USER BLOCK                                ' PE012301
  1845.       GOTO 12994                                                     ' PE012301
  1846. 12990 ZSubParm = 7  ' UNLOCK USERS                                   ' PE012301
  1847.       GOTO 12994                                                     ' PE012301
  1848. 12991 ZSubParm = 8  ' UNLOCK USER BLOCK                              ' PE012301
  1849.       GOTO 12994                                                     ' PE012301
  1850. 12994 CALL FileLock                                                  ' PE012301
  1851.       IF Flushed THEN _                                              ' PE012301
  1852.          FIELD 1,128 AS ZMsgRec$ : _                                 ' PE012301
  1853.          Flushed = ZFalse                                            ' PE012301
  1854.       IF ZSubParm = -1 THEN _                                        ' PE012301
  1855.          ZSubParm = -9 : _                                           ' PE012301
  1856.          CALL FindFKey : _                                           ' PE012301
  1857.          EXIT SUB                                                    ' PE012301
  1858.       RETURN                                                         ' PE012301
  1859. '                                                                    ' PE012301
  1860. ' * STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL INPUT ROUTINE       ' PE012301
  1861. '                                                                    ' PE012301
  1862. 12995 GOSUB 12997                                                    ' PE012301
  1863.       ZSubParm = 1                                                   ' PE012301
  1864. 12996 CALL TGet                                                      ' PE012301
  1865. 12997 IF ZSubParm < 0 THEN _                                         ' PE012301
  1866.          EXIT SUB                                                    ' PE012301
  1867.       RETURN                                                         ' PE012301
  1868. 12998 ZOutTxt$ = ZOutTxt$ + _                                        ' PE012301
  1869.            ZPressEnterExpert$                                        ' DD062304
  1870.       GOTO 12995                                                     ' PE012301
  1871. 12999 ZTurboKey = -ZTurboKeyUser                                     ' PE012301
  1872.       GOTO 12995                                                     ' PE012301
  1873. '                                                                    ' PE012301
  1874. ' *  C/R - COMMAND FROM 5 - USER MAINTENANCE SCAN FUNCTION (QUIT TO MAIN MENU)' PE012301
  1875. '                                                                    ' PE012301
  1876. 20093 LSET ZUserRecord$ = UserRecordHold$                            ' PE012301
  1877.       GOSUB 26200                                                    ' DD062304
  1878.       EXIT SUB                                                       ' PE012301
  1879. '                                                                    ' PE012301
  1880. ' *  GET MESSAGE HEADER RECORD DATA                                  ' PE012301
  1881. '                                                                    ' PE012301
  1882. 23000 GET 1,1                                                        ' PE012301
  1883.       ZHighMsgNumber = VAL(LEFT$(ZMsgRec$,8))                        ' DD040707
  1884.       AutoAddSec   = CVI(MID$(ZMsgRec$,9,2))                         ' PE012301
  1885.       ZCallsToDate! = VAL(MID$(ZMsgRec$,11,10))                      ' DD040705
  1886.       ZMsgSecCats$ = LEFT$(CHR$(85),-(MID$(ZMsgRec$,21,1) <> CHR$(47))) + _ ' DD021301
  1887.                      LEFT$(CHR$(82),-(MID$(ZMsgRec$,22,1) <> CHR$(47))) + _ ' DD021301
  1888.                      LEFT$(CHR$(80),-(MID$(ZMsgRec$,23,1) <> CHR$(47))) + CHR$(69) ' DD021301
  1889.       IF ZUserSecLevel >= ZSecKillAny THEN _                         ' PE012301
  1890.           ZMsgSecCats$ = "URPE"                                      ' PE012301
  1891.       IF ZMsgSecCats$ = CHR$(69) THEN _                              ' DD021301
  1892.          ZMsgSecCats$ = "UE"                                         ' PE012301
  1893.       CurUserCount = VAL(MID$(ZMsgRec$,57,5))                        ' PE012301
  1894.       FirstMsgRecord = VAL(MID$(ZMsgRec$,68,7))                      ' PE012301
  1895.       ZNextMsgRec = VAL(MID$(ZMsgRec$,75,7))                         ' PE012301
  1896.       HighestMsgRecord = VAL(MID$(ZMsgRec$,82,7))                    ' PE012301
  1897.       IF ZActiveMessageFile$ = ZOrigMsgFile$ THEN _                  ' PE012301
  1898.          ZMaxNodes = VAL(MID$(ZMsgRec$,127))                         ' PE012301
  1899.       RETURN                                                         ' PE012301
  1900. '                                                                    ' PE012301
  1901. ' *  UPDATE MESSAGE HEADER RECORD DATA                               ' PE012301
  1902. '                                                                    ' PE012301
  1903. 24000 MID$(ZMsgRec$,1,8) = STR$(ZHighMsgNumber)                      ' DD040707
  1904.       MID$(ZMsgRec$,11,10) = STR$(ZCallsToDate!)                     ' DD040705
  1905.       MID$(ZMsgRec$,57,5) = STR$(CurUserCount)                       ' PE012301
  1906.       MID$(ZMsgRec$,68,7) = STR$(FirstMsgRecord)                     ' PE012301
  1907.       MID$(ZMsgRec$,75,7) = STR$(ZNextMsgRec)                        ' PE012301
  1908.       MID$(ZMsgRec$,82,7) = STR$(HighestMsgRecord)                   ' PE012301
  1909.       PUT 1,1                                                        ' PE012301
  1910.       RETURN                                                         ' PE012301
  1911. '                                                                    ' PE012301
  1912. 25000 GOSUB 12986                                                    ' DD062304
  1913.       GOSUB 25200                                                    ' DD062304
  1914.       GOSUB 23000                                                    ' PE012301
  1915.       RETURN                                                         ' PE012301
  1916. '                                                                    ' PE012301
  1917. ' ****  RESTORE A MESSAGE BASE   ***                                 ' PE012301
  1918. '                                                                    ' PE012301
  1919. 25100 GOSUB 25200                                                    ' DD062304
  1920.       GOSUB 23000                                                    ' PE012301
  1921.       RETURN                                                         ' PE012301
  1922. '                                                                    ' PE012301
  1923. ' *****  OPEN AND SETUP MESSAGE BASE  *****                          ' PE012301
  1924. '                                                                    ' PE012301
  1925. 25200 CALL OpenMsg                                                   ' DD062304
  1926.       IF ZErrCode = 64 THEN _                                        ' PE012301
  1927.          ZErrCode = 0 : _                                            ' PE012301
  1928.          GOTO 25300                                                  ' DD062304
  1929.       FIELD 1, 128 AS ZMsgRec$                                       ' PE012301
  1930.       RETURN                                                         ' PE012301
  1931. '                                                                    ' PE012301
  1932. ' ****  JOIN M)AIN   ***                                             ' PE012301
  1933. '                                                                    ' PE012301
  1934. 25300 IF ZConfName$ <> "MAIN" THEN _                                 ' DD062304
  1935.          CALL SkipLine (1) : _                                       ' DD031302
  1936.          CALL QuickTPut1 (ZFG2$ + "Rejoining " + ZFGB$ + _           ' DD031302
  1937.               OrigMsgName$ + ZEmphasizeOff$)                         ' DD082302
  1938.       ZActiveUserName$ = ZOrigUserNameDgs$                           'Dgs-ALias
  1939.       ZFirstName$ = OrigFirstName$                                   'Dgs-ALias
  1940.       CALL DeLink (ZConfName$)                                       ' PE012301
  1941.       ConfFileName$ = OrigMsgName$                                   ' PE012301
  1942.       ZNewsFileName$ = OrigNewsFileName$                             ' PE012301
  1943.       ZTurboLogon = ZTrue                                            ' PE012301
  1944.       ZMarkedMsgs$ = ""                                              ' PE012301
  1945.       ZMarkedFiles$ = ""   'Pe 04/18/92                              ' PE012301
  1946.       ZWasQ = 0                                                      ' PE012301
  1947.       ZNewUser = ZFalse                                              ' PE012301
  1948.       ZInConfMenu = ZTrue                                            ' PE012301
  1949.       IF ZActiveUserName$ = "SYSOP" THEN _                           ' PE012301
  1950.          ZActiveUserName$ = ZSecretName$ : _                         ' PE012301
  1951.          CALL Trim (ZActiveUserName$)                                ' PE012301
  1952.       ZConfigFileName$ = ZOrigCnfg$                                  ' PE012301
  1953.       CALL ReadDef (ZConfigFileName$)                                ' PE012301
  1954.       IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _                 ' PE012301
  1955.          ZActiveMessageFile$ = ZOrigMsgFile$ : _                     ' PE012301
  1956.          GOSUB 25100                                                 ' DD062304
  1957.       IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _                   ' PE012301
  1958.          GOSUB 25600 : _                                             ' DD062304
  1959.          ZActiveUserFile$ = ZOrigUserFile$ : _                       ' PE012301
  1960.          ZActiveUserName$ = ZOrigUserName$ : _                       ' PE012301
  1961.          GOSUB 12598 : _                                             ' PE012301
  1962.          GOSUB 12990 : _                                             ' PE012301
  1963.          IF Found THEN _                                             ' PE012301
  1964.             GOSUB 26200 : _                                          ' DD062304
  1965.             ZMainUserFileIndex = ZUserFileIndex : _                  ' PE012301
  1966.             CALL SetPrompt : _                                       ' PE012301
  1967.             CALL XferType (2,ZTrue) _                                ' PE012301
  1968.          ELSE ZUserFileIndex = 0 : _                                 ' PE012301
  1969.               ZMainUserFileIndex = 0                                 ' PE012301
  1970.       CALL UpdtCalr (ZActiveUserName$ +" Exited " + ZConfName$,3)    'Pe 11/07/91
  1971.       ZConfName$ = "MAIN"                                            ' PE012301
  1972.       ConfNameSave$ = ZConfName$                                     ' PE012301
  1973.       IF ZCurPUI$ = "" OR ZSubBoard THEN _                           ' PE012301
  1974.          ZCurPUI$ = ZMainPUI$                                        ' PE012301
  1975.       CALL FindIt (ZCurPUI$)                                         ' PE012301
  1976.       ZCustomPUI = ZOK                                               ' PE012301
  1977.       IF NOT ZOK THEN _                                              ' PE012301
  1978.          ZCurPUI$ = ""                                               ' PE012301
  1979.       ZPrevPUI$ = ""                                                 ' PE012301
  1980.       ZUplds = ZGlobalUplds                                          ' PE012301
  1981.       ZDnlds = ZGlobalDnlds                                          ' PE012301
  1982.       ZDLToday! = ZGlobalDLToday!                                    ' PE012301
  1983.       ZBytesToday! = ZGlobalBytesToday!                              ' PE012301
  1984.       ZDLBytes! = ZGlobalDLBytes!                                    ' PE012301
  1985.       ZULBytes! = ZGlobalULBytes!                                    ' PE012301
  1986.       ZBankTime = ZGlobalBankTime                                    ' PE012301
  1987.       ZConfMode = ZFalse                                             ' DD062304
  1988.       BoardCheckDate$ = ZLastDateTimeOn$                             ' PE012301
  1989.       ZSubBoard = ZTrue                                              ' PE012301
  1990.       GOSUB 12987                                                    ' PE012301
  1991.       IF ((ZUserSecLevel < ZAutoUpgradeSec) AND ZSubBoard) OR _      ' DD062304
  1992.          ((ZUserSecLevel < OrigUpgradeSec) AND NOT ZSubBoard) THEN _ ' PE012301
  1993.             IF ZUserSecLevel <> ZOrigSec THEN _                      ' PE012301
  1994.                ZUserSecLevel = ZOrigSec : _                          ' PE012301
  1995.                LSET ZSecLevel$ = MKI$(ZUserSecLevel)                 ' PE012301
  1996.       RETURN                                                         ' PE012301
  1997. '                                                                    ' PE012301
  1998. ' *****  UPDATE CURRENT USERS RECORD  ****                           ' PE012301
  1999. '                                                                    ' PE012301
  2000. 25600 IF ZUserFileIndex < 1 THEN _                                   ' DD062304
  2001.          RETURN                                                      ' PE012301
  2002.       IF ZAdjustedSecurity AND NOT ZSysop THEN _                     ' PE012301
  2003.          LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _                   ' PE012301
  2004.          ZUserSecSave = ZUserSecLevel                                ' PE012301
  2005.       IF ZSubBoard THEN _                                            'Dgs-ALias
  2006.          ZActiveUserName$ = ZOrigUserNameDgs$ : _                    'Dgs-ALias
  2007.          ZFirstName$ = OrigFirstName$                                'Dgs-ALias
  2008.       CALL UpdateU (ZFalse)                                          ' PE012301
  2009.       RETURN                                                         ' PE012301
  2010. '                                                                    ' PE012301
  2011. ' * WRITE A RECORD TO THE RBBS-PC "USER" FILE                        ' PE012301
  2012. '                                                                    ' PE012301
  2013. 26000 IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _        ' DD062304
  2014.          PUT 5,ZUserFileIndex                                        ' PE012301
  2015.       RETURN                                                         ' PE012301
  2016. '                                                                    ' PE012301
  2017. ' * DEFINE USER FILE RECORD VARIABLES TO COMPENSATE FOR THE BUG IN QUICKBASIC' PE012301
  2018. ' * THAT REQUIRES A FIELD STATMENT TO BE EXECUTED WITHIN EACH SEPARATELY' PE012301
  2019. ' * COMPILED PROGRAM -- EVEN THOUGH A FIELD STATEMENT WAS EXECUTED WHEN THE' PE012301
  2020. ' * FILE WAS OPENED IN ANOTHER SEPERATELY COMPILED SUBROUTINE        ' PE012301
  2021. '                                                                    ' PE012301
  2022. 26100 FIELD 5,31 AS ZUserName$, _                                    ' DD060304
  2023.               15 AS ZPswd$, _                                        ' PE012301
  2024.                2 AS ZSecLevel$, _                                    ' PE012301
  2025.               14 AS ZUserOption$,  _                                 ' PE012301
  2026.               24 AS ZCityState$, _                                   ' PE012301
  2027.                1 AS MachineType$, _                                  ' DD091401/DROP
  2028.                1 AS ZDropTimes$, _                                   ' DD091401/DROP
  2029.                1 AS ZBankTime$,_                                     ' PE012301
  2030.                4 AS ZTodayDl$, _                                     ' PE012301
  2031.                4 AS ZTodayBytes$, _                                  ' PE012301
  2032.                4 AS ZDlBytes$, _                                     ' PE012301
  2033.                4 AS ZULBytes$, _                                     ' PE012301
  2034.               14 AS ZLastDateTimeOn$, _                              ' PE012301
  2035.                3 AS ZListNewDate$, _                                 ' PE012301
  2036.                2 AS ZUserDnlds$, _                                   ' PE012301
  2037.                2 AS ZUserUplds$, _                                   ' PE012301
  2038.                2 AS ZElapsedTime$                                    ' PE012301
  2039.       FIELD 5,128 AS ZUserRecord$                                    ' PE012301
  2040.       RETURN                                                         ' PE012301
  2041. '                                                                    ' PE012301
  2042. ' * GET USER DEFAULTS                                                ' PE012301
  2043. '                                                                    ' PE012301
  2044. 26200 GOSUB 26100                                                    ' DD060304
  2045.       CALL SetSysOp                                                  ' PE012301
  2046.       CALL SetUserPref                                               ' PE012301
  2047.       RETURN                                                         ' PE012301
  2048.       END SUB                                                        ' PE012301
  2049. '                                                                    ' PE012301
  2050. 42850 SUB ChangeEchoToggle                                           ' DD070904
  2051.       CALL ReportEcho                                                ' DD011201
  2052. 42851 ZOutTxt$ = "Change to R)BBS, C)aller's software" + _           ' DD011201
  2053.            MID$(", I)ntermediate host",1,-20 * (ZHostEchoOn$ <> "")) + _' DD011201
  2054.            ZPressEnterExpert$                                        ' DD011201
  2055.       ZTurboKey = -ZTurboKeyUser                                     ' DD011201
  2056.       CALL PopCmdStack                                               ' DD011201
  2057.       IF ZSubParm < 0 THEN _                                         ' DD011201
  2058.          EXIT SUB                                                    ' DD011201
  2059.       IF ZWasQ = 0 THEN _                                            ' DD011201
  2060.          EXIT SUB                                                    ' DD011201
  2061. 42852 ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)                          ' DD011201
  2062.       CALL AllCaps (ZWasZ$)                                          ' DD011201
  2063.       IF INSTR("ICR",ZWasZ$) = 0 THEN _                              ' DD011201
  2064.          GOTO 42851                                                  ' DD011201
  2065.       ZEchoer$ = ZWasZ$                                              ' DD011201
  2066.       CALL SetEcho (ZEchoer$)                                        ' DD011201
  2067.       CALL ReportEcho                                                ' DD011201
  2068.       END SUB                                                        ' DD011201
  2069. '                                                                    ' DD011201
  2070. 43000 SUB SetGraphicsWanted STATIC                                   ' DD011201
  2071. '                                                                    ' DD011201
  2072.       ZPrevPUI$ = ""                                                 'ANSIEd
  2073.       GOSUB 43005                                                    ' DD011201
  2074.       GOTO 43022                                                     ' DD011201
  2075. 43005 CALL AskGraphics                                               ' DD011201
  2076.       IF ZSubParm = -1 THEN _                                        ' DD011201
  2077.          EXIT SUB                                                    ' DD011201
  2078.       IF ZWasQ = 0 THEN _                                            ' DD011201
  2079.          RETURN                                                      ' DD011201
  2080. 43020 ZOutTxt$ = "Text Graphics: " + _                               ' DD011201
  2081.            MID$("None  Mono  Color AvatarRIP   ",ZWasGR * 6 + 1,6)   ' DD061301
  2082.       ZSubParm = 5                                                   ' DD011201
  2083.       CALL TPut                                                      ' DD011201
  2084.       RETURN                                                         ' DD011201
  2085. 43022 ZPrevPUI$ = ""                                                 'ANSIEd
  2086.       IF ZEmphasizeOnDef$ = "" THEN _                                ' DD011201
  2087.          RETURN                                                      ' DD011201
  2088.       IF ZNewUser THEN _                                             ' DD011201
  2089.          ZEmphasizeOn$ = ZEmphasizeOnDef$ : _                        ' DD083003
  2090.          ZEmphasizeOff$ = ZEmphasizeOffDef$                          ' DD083003
  2091.       IF ZWasGR < 2 THEN                                             ' DD051901
  2092.          ZOutTxt$ = "Do you want colorized prompts"                  ' DD051901
  2093.          IF ZWasGR > 1 THEN                                          ' DD051901
  2094.             ZOutTxt$ = ZOutTxt$ + ZYesPrompt$                        ' DD051901
  2095.          ELSE                                                        ' DD051901
  2096.             ZOutTxt$ = ZOutTxt$ + ZNoPrompt$                         ' DD051901
  2097.          END IF                                                      ' DD051901
  2098.          ZSubParm = 1                                                ' DD051901
  2099.          CALL TGet                                                   ' DD051901
  2100.          ZHiLiteOff = ZYes                                           ' DD051901
  2101.       ELSE                                                           ' DD051901
  2102.          ZHiLiteOff = ZTrue                                          ' DD051901
  2103.       END IF                                                         ' DD051901
  2104.       CALL Toggle(5)                                                 ' DD011201
  2105.       CALL SetGraphic (ZWasGR)                                       ' DD062304
  2106.       IF NOT ZNewUser THEN                                           ' DD062304
  2107.          CALL DefaultU                                               ' DD062304
  2108.       END IF                                                         ' DD062304
  2109.       END SUB                                                        ' DD011201
  2110. '                                                                    ' DD070105
  2111. ' * make all users reselect graphics if set in CONFIG                ' DD070105
  2112. '                                                                    ' DD070105
  2113. 45500 SUB ReselectGraphics                                           ' DD070105
  2114.       UserMode = ZExpertUser                                         ' DD070105
  2115.       ZExpertUser = ZFalse                                           ' DD070105
  2116.       CALL SetGraphicsDefaults                                       ' DD070105
  2117.       CALL QuickTPut (ZCRLf$ + ZFG2$ + _                             ' DD070105
  2118.                       "You must re-select your " + _                 ' DD070105
  2119.                       ZFGB$ + "GRAPHICS " + ZFG2$ + _                ' DD070105
  2120.                       "preferences!" + ZEmphasizeOff$,2)             ' DD070105
  2121.       CALL SetGraphicsWanted                                         ' DD070105
  2122.       ZExpertUser = UserMode                                         ' DD070105
  2123.       IF ZSubParm < 0 THEN                                           ' DD070105
  2124.          EXIT SUB                                                    ' DD070105
  2125.       END IF                                                         ' DD070105
  2126.       IF ZWasQ = 0 THEN                                              ' DD070105
  2127.          CALL SetGraphic (ZWasGR)                                    ' DD070105
  2128.       END IF                                                         ' DD070105
  2129.       ZReselectGraphics = ZFalse                                     ' DD070105
  2130.       CALL DefaultU                                                  ' DD070105
  2131.       END SUB                                                        ' DD070105
  2132. '                                                                    ' DD070105
  2133. 45510 SUB SetGraphicsDefaults                                        ' DD070105
  2134.       IF ZCanANSIChat THEN                                           ' DD070105
  2135.          ZWasGR = 2                                                  ' DD070105
  2136.          ZUserTextColor = 37                                         ' DD070105
  2137.          ZBoldText$ = "1"                                            ' DD070105
  2138.          ZHiLiteOff = ZFalse                                         ' DD070105
  2139.       ELSE                                                           ' DD070105
  2140.          ZWasGR = 0                                                  ' DD070105
  2141.          ZUserTextColor = 37                                         ' DD070105
  2142.          ZBoldText$ = "0"                                            ' DD070105
  2143.          ZHiLiteOff = ZTrue                                          ' DD070105
  2144.       END IF                                                         ' DD070105
  2145.       IF ZRIPGraphics THEN                                           ' DD070105
  2146.          ZWasGR = 4                                                  ' DD070105
  2147.       END IF                                                         ' DD070105
  2148.       END SUB                                                        ' DD070105
  2149. '                                                                    ' DD070105
  2150. 45600 SUB ReselectAll                                                ' DD070103
  2151.       CALL QuickTPut (ZCRLf$ + ZFG2$ + "You must re-select " + _     ' DD070103
  2152.                        ZFGB$ + "ALL " + ZFG2$ + "preferences!" + _   ' DD070103
  2153.                        ZEmphasizeOff$,2)                             ' DD070103
  2154.       CALL SetToggles                                                ' DD070103
  2155.       GOSUB 45610                                                    ' DD070103
  2156.       CALL SetGraphicsDefaults                                       ' DD070103
  2157.       GOSUB 45610                                                    ' DD070103
  2158.       CALL SetGraphicsWanted                                         ' DD070103
  2159.       GOSUB 45610                                                    ' DD070103
  2160.       CALL SetGraphic (ZWasGR)                                       ' DD070103
  2161.       GOSUB 45610                                                    ' DD070103
  2162.       ZOutTxt$ = ZFGE$ + "Default "                                  ' DD070103
  2163.       CALL XferType (3,ZExpertUser)                                  ' DD070103
  2164.       GOSUB 45610                                                    ' DD070103
  2165.       ZUserXferDefault$ = ZWasFT$                                    ' DD070103
  2166.       CALL NewUserToggles                                            ' DD070103
  2167.       GOSUB 45610                                                    ' DD070103
  2168.       ZReselectAll = ZFalse                                          ' DD070103
  2169.       ZReselectGraphics = ZFalse                                     ' DD071102
  2170.       ZReselectProto = ZFalse                                        ' DD071102
  2171.       GOSUB 45610                                                    ' DD071102
  2172.       CALL DefaultU                                                  ' DD070103
  2173.       EXIT SUB                                                       ' DD070103
  2174. 45610 IF ZSubParm < 0 THEN                                           ' DD070103
  2175.          EXIT SUB                                                    ' DD070103
  2176.       ELSE                                                           ' DD070103
  2177.          RETURN                                                      ' DD070103
  2178.       END IF                                                         ' DD070103
  2179.       END SUB                                                        ' DD070103
  2180. '                                                                    ' DD091501/PSWD
  2181. 59934 SUB SetANSIColors                                              ' DD070203
  2182. '                                                                    ' DD070203
  2183.       ZDR1$ = ZDR1Def$ : _                   'filename               ' DD070203
  2184.       ZDR2$ = ZDR2Def$ : _                   'filesize               ' DD070203
  2185.       ZDR3$ = ZDR3Def$ : _                   'filedate               ' DD070203
  2186.       ZDR4$ = ZDR4Def$ : _                   'main description       ' DD070203
  2187.       ZDR5$ = ZDR5Def$ : _                   'extended desc.         ' DD070203
  2188.       ZDR6$ = ZDR6Def$ : _                   'reserved for DL Time   ' DD070203
  2189.       ZDR7$ = ZDR7Def$ : _                   'reserved for X DL      ' DD070203
  2190.       ZFG1$ = ZEscape$ + "[0;34m" : _        'Blue                   ' DD070203
  2191.       ZFG2$ = ZEscape$ + "[0;32m" : _        'Green                  ' DD070203
  2192.       ZFG3$ = ZEscape$ + "[0;36m" : _        'Cyan                   ' DD070203
  2193.       ZFG4$ = ZEscape$ + "[0;31m" : _        'Red                    ' DD070203
  2194.       ZFG5$ = ZEscape$ + "[0;35m" : _        'Magenta                ' DD061303/COLR
  2195.       ZFG6$ = ZEscape$ + "[0;33m" : _        'Brown                  ' DD061303/COLR
  2196.       ZFG7$ = ZEscape$ + "[0;37m" : _        'White                  ' DD061303/COLR
  2197.       ZFG8$ = ZEscape$ + "[1;30m" : _        'Grey                   ' DD061303/COLR
  2198.       ZFG9$ = ZEscape$ + "[1;34m" : _        'Brt Blue               ' DD061303/COLR
  2199.       ZFGA$ = ZEscape$ + "[1;32m" : _        'Brt Green              ' DD061303/COLR
  2200.       ZFGB$ = ZEscape$ + "[1;36m" : _        'Brt Cyan               ' DD061303/COLR
  2201.       ZFGC$ = ZEscape$ + "[1;31m" : _        'Brt Red                ' DD061303/COLR
  2202.       ZFGD$ = ZEscape$ + "[1;35m" : _        'Brt Magenta            ' DD061303/COLR
  2203.       ZFGE$ = ZEscape$ + "[1;33m" : _        'Yellow                 ' DD061303/COLR
  2204.       ZFGF$ = ZEscape$ + "[1;37m" : _        'Brt White              ' DD061303/COLR
  2205.       ZBG0$ = ZEscape$ + "[40m" : _          'Blk BackGround         ' DD081801/BGCOLOR
  2206.       ZBG1$ = ZEscape$ + "[44m" : _          'Blue BackGround        ' DD081801/BGCOLOR
  2207.       ZBG2$ = ZEscape$ + "[42m" : _          'Grn BackGround         ' DD081801/BGCOLOR
  2208.       ZBG3$ = ZEscape$ + "[46m" : _          'Cyan BackGround        ' DD081801/BGCOLOR
  2209.       ZBG4$ = ZEscape$ + "[41m" : _          'Red BackGround         ' DD081801/BGCOLOR
  2210.       ZBG5$ = ZEscape$ + "[45m" : _          'Mag BackGround         ' DD081801/BGCOLOR
  2211.       ZBG6$ = ZEscape$ + "[43m" : _          'Brn BackGround         ' DD081801/BGCOLOR
  2212.       ZBG7$ = ZEscape$ + "[47m"              'Wht BackGround         ' DD081801/BGCOLOR
  2213.       END SUB                                                        ' DD070203
  2214. '                                                                    ' DD070203
  2215. 60000 SUB ExpiredPswd STATIC                                         ' DD091501/PSWD
  2216. '                                                                    ' DD091501/PSWD
  2217.       IF ZPswdChngReqTime = 0 THEN _                                 ' DD091501/PSWD
  2218.          EXIT SUB                                                    ' DD091501/PSWD
  2219.       IF ZTimesLoggedOn MOD ZPswdChngReqTime <> 0 THEN _             ' DD091501/PSWD
  2220.          EXIT SUB                                                    ' DD091501/PSWD
  2221. 60010 CALL SkipLine (1)                                              ' DD091501/PSWD
  2222.       ZFileName$ = ZHelpPath$ + "PASSWORD" + ZHelpExtension$         ' DD041002
  2223.       CALL BufFile (ZFileName$,WasX)                                 ' DD041002
  2224.       CALL QuickTPut1 ("Password has expired!")                      ' DD091501/PSWD
  2225.       Prompt$ = "Enter a new Password"                               ' DD091501/PSWD
  2226.       CALL NewPassword (Prompt$,ZTrue)                               ' DD091501/PSWD
  2227.       CALL AllCaps (ZOldPassword$)                                   ' DD091501/PSWD
  2228.       IF ZWasZ$ = ZOldPassword$ THEN _                               ' DD091501/PSWD
  2229.          CALL SkipLine (1) : _                                       ' DD091501/PSWD
  2230.          CALL QuickTPut ("You cannot reuse your old Password!",2) : _ ' DD091501/PSWD
  2231.          GOTO 60010                                                  ' DD091501/PSWD
  2232.       ZOutTxt$ = "Re-enter your New Password"                        ' DD091501/PSWD
  2233.       ZHidden = ZTrue                                                ' DD091501/PSWD
  2234.       ZSubParm = 1                                                   ' DD091501/PSWD
  2235.       CALL TGet                                                      ' DD091501/PSWD
  2236.       CALL AllCaps (ZUserIn$)                                        ' DD091501/PSWD
  2237.       IF ZWasZ$ <> ZUserIn$ THEN _                                   ' DD091501/PSWD
  2238.          ZOutTxt$ = "Passwords do not match" : _                     ' DD091501/PSWD
  2239.          ZSubParm = 1 : _                                            ' DD091501/PSWD
  2240.          CALL TPut : _                                               ' DD091501/PSWD
  2241.          GOTO 60010                                                  ' DD091501/PSWD
  2242.       CALL UpdtCalr ("Expired Password! " + Time$,2)                 ' DD091501/PSWD
  2243.       ZSubParm = 6                                                   ' DD091501/PSWD
  2244.       CALL FileLock                                                  ' DD091501/PSWD
  2245.       CALL OpenUser (HighestUserRecord)                              ' DD091501/PSWD
  2246.       GET 5,ZUserFileIndex                                           ' DD091501/PSWD
  2247.       CALL AllCaps (ZUserIn$)                                        ' DD091501/PSWD
  2248.       LSET ZPswd$ = ZUserIn$                                         ' DD091501/PSWD
  2249.       IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _        ' DD091501/PSWD
  2250.          PUT 5,ZUserFileIndex                                        ' DD091501/PSWD
  2251.       ZSubParm = 8                                                   ' DD091501/PSWD
  2252.       CALL FileLock                                                  ' DD091501/PSWD
  2253.       ZOutTxt$ = "Password Changed."                                 ' DD091501/PSWD
  2254.       ZStopInterrupts = ZTrue                                        ' DD091501/PSWD
  2255.       ZSubParm = 1                                                   ' DD091501/PSWD
  2256.       CALL TPut                                                      ' DD091501/PSWD
  2257.       CALL SkipLine (1)                                              ' DD091501/PSWD
  2258.       CALL UpdtCalr ("New Password " + ZUserIn$(1),2)                ' DD091501/PSWD
  2259.       CALL SmartPause                                                ' DD091501/PSWD
  2260.       END SUB                                                        ' DD091501/PSWD
  2261. '                                                                    ' DD070402
  2262. ' * ANSIMusic                                                        ' DD070402
  2263. '                                                                    ' DD070402
  2264. 63630 SUB SetANSIMusic                                               ' DD070402
  2265.       IF ZANSIMusic AND NOT ZLocalUser THEN                          ' DD070402
  2266.          ZBellRinger$ = "MBO3T200MBMLA64L32C64D64E64" + CHR$(14)   ' DD070402
  2267.       ELSE                                                           ' DD070402
  2268.          ZBellRinger$ = CHR$(7)                                      ' DD070402
  2269.       END IF                                                         ' DD070402
  2270.       END SUB                                                        ' DD070402
  2271. '                                                                    ' DD012602
  2272.       SUB DropCarrier STATIC                                         ' DD091401/DROP
  2273. '                                                                    ' DD091401/DROP
  2274. 70000 IF ZDropCarSecChng = 0 THEN _                                  ' DD091401/DROP
  2275.          EXIT SUB                                                    ' DD091401/DROP
  2276.       IF ZDropTimes > ZDropCarSecChng THEN _                         ' DD091401/DROP
  2277.          ZDropTimes = ZDropCarSecChng - 1                            ' DD091401/DROP
  2278.       IF ZDropChange = ZFalse THEN                                   ' DD091401/DROP
  2279.          ZDropTimes = ZDropTimes + 1                                 ' DD091401/DROP
  2280.          CALL UpdtCalr ("Dropped Carriers set to " + _               ' DD030802
  2281.                           STR$(ZDropTimes),1)                        ' DD030802
  2282.          IF ZDropTimes MOD ZDropCarSecChng <> 0 THEN                 ' DD091401/DROP
  2283.             ZGlobalDropTimes = ZDropTimes                            ' DD091401/DROP
  2284.             ZDropChange = ZTrue                                      ' DD091401/DROP
  2285.             EXIT SUB                                                 ' DD091401/DROP
  2286.          END IF                                                      ' DD091401/DROP
  2287.          ZUserSecLevel = ZUserSecLevel - ZDropIncrement              ' DD091401/DROP
  2288.          ZSubParm = 6                                                ' DD091401/DROP
  2289.          CALL FileLock                                               ' DD091401/DROP
  2290.          CALL OpenUser (HighestUserRecord)                           ' DD091401/DROP
  2291.          GET 5,ZUserFileIndex                                        ' DD091401/DROP
  2292.          LSET ZSecLevel$ = MKI$(ZUserSecLevel)                       ' DD091401/DROP
  2293.          IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _     ' DD091401/DROP
  2294.             PUT 5,ZUserFileIndex                                     ' DD091401/DROP
  2295.          ZSubParm = 8                                                ' DD091401/DROP
  2296.          CALL FileLock                                               ' DD091401/DROP
  2297.          ZDropChange = ZTrue                                         ' DD091401/DROP
  2298.          CALL UpdtCalr ("Security reset for Dropped Carriers!",2)    ' DD091401/DROP
  2299.          ZDropTimes = 0                                              ' DD091401/DROP
  2300.          ZGlobalDropTimes = ZDropTimes                               ' DD091401/DROP
  2301.          ZSubParm = -1                                               ' DD091401/DROP
  2302.       END IF                                                         ' DD091401/DROP
  2303.       END SUB                                                        ' DD091401/DROP
  2304. '                                                                    ' DD090202
  2305. ' $SUBTITLE: 'ANSISysop5 --- ANSI driven sysop's key 5'              ' DD090202
  2306. '                                                                    ' DD090202
  2307. ' $PAGE                                                              ' DD090202
  2308. '                                                                    ' DD090202
  2309. 80000 SUB ANSISysop5 (ToPrint) STATIC                                ' DD090202
  2310. '                                                                    ' DD090202
  2311.       ZOk = ZFalse                                                   ' DD090202
  2312.       WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)                 ' DD090202
  2313.       IF ASC(WasX$) = 0 OR LEFT$(WasX$,3) = SPACE$(3) THEN _         ' DD021301
  2314.          EXIT SUB                                                    ' DD090202
  2315.       WasOF = CVI(ZSecLevel$)                                        ' DD090202
  2316.       IF WasOF > ZUserSecLevel THEN _                                ' DD090202
  2317.          IF NOT ZGlobalSysop THEN _                                  ' DD090202
  2318.             EXIT SUB                                                 ' DD090202
  2319.       SysMenu$ = ZWelcomeFileDrvPath$ + "SYSOP5.MNU"                 ' DD062202
  2320.       CALL Graphic (SysMenu$)                                        ' DD062202
  2321.       ZLinesPrinted = 0                                              ' DD122901
  2322.       ZNonStop = ZTrue                                               ' DD063002
  2323.       CALL BufFile (SysMenu$,WasX)                                   ' DD062202
  2324.       ZStopInterrupts = ZTrue                                        ' DD122901
  2325.       TempUserOptions = CVI(MID$(ZUserOption$,9,2))                  ' DD091103
  2326.       TempExtendedUserOptions = ASC(MID$(ZUserOption$,8,1))          ' DD063002
  2327.       ZOutTxt$ = ZFGF$ + ZBG2$                                       ' DD070104
  2328.       IF WasOF < ZMinLogonSec THEN _                                 ' DD090202
  2329.          ZOutTxt$ = ZFGE$ + ZBG4$ _                                  ' DD070104
  2330.       ELSE IF WasOF >= ZSysopSecLevel THEN _                         ' DD090202
  2331.          ZOutTxt$ = ZFGF$ + ZBG1$                                    ' DD070104
  2332.       Temp$ = LEFT$(ZUserName$,24)                                   ' DD070103
  2333.       CALL Trim (Temp$)                                              ' DD070103
  2334.       CALL ANSIPut (2,20)                                            ' DD090202
  2335.       CALL QuickTPut (ZOutTxt$ + Temp$ + ZFGB$ + ZBG7$,0) 'name      ' DD070909
  2336.       Temp$ = RIGHT$(SPACE$(5) + STR$(LOC(5)),4)                     ' DD021301
  2337.       CALL Trim (Temp$)                                              ' DD090202
  2338.       CALL ANSIPut (2,71)                                            ' DD090202
  2339.       CALL QuickTPut (Temp$,0)                             ' Record #' DD090202
  2340.       CALL ANSIPut (3,20)                                            ' DD090202
  2341.       CALL QuickTPut (ZCityState$,0)                       ' City/State' DD090202
  2342.       Temp$ = RIGHT$(SPACE$(6) + STR$(WasOF),6)                      ' DD021301
  2343.       CALL Trim (Temp$)                                              ' DD090202
  2344.       CALL ANSIPut (4,20)                                            ' DD090202
  2345.       CALL QuickTPut (Temp$,0)                             ' Security Level' DD090202
  2346.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 1) > 0))       ' DD070102
  2347.       CALL ANSIPut (4,71)                                            ' DD070102
  2348.       CALL QuickTPut (Temp$,0)        'ZReadNewMail                  ' DD070102
  2349.       CALL ANSIPut (5,20)                                            ' DD090202
  2350.       CALL QuickTPut (ZPswd$,0)                            ' Password' DD090202
  2351.       Temp$ = STR$(CVI(MID$(ZUserOption$,3,2)))                      ' DD090902
  2352.       CALL Trim (Temp$)                                              ' DD091103
  2353.       CALL ANSIPut (5,71)                                            ' DD063002
  2354.       CALL QuickTPut (Temp$,0)        ' Highest Msg #                ' DD090202
  2355.       IF ZRestrictByDate THEN _                                      ' DD090202
  2356.          CALL SetRegDisplay : _                                      ' DD090202
  2357.          CALL ANSIPut (6,20) : _                                     ' DD090202
  2358.          CALL QuickTPut (ZRegDisplayDate$,0)               ' Subscription date' DD090202
  2359.       Temp$ = FNYesNo$(-((TempUserOptions AND 512) > 0))             ' DD091103
  2360.       CALL ANSIPut (6,71)                                            ' DD063002
  2361.       CALL QuickTPut (Temp$,0)        ' Mail Waiting                 ' DD090202
  2362.       CALL UnPackDIRDate (ZListNewDate$, Temp$, CHR$(45))            ' DD062606
  2363.       CALL ANSIPut (7,20)                                            ' DD063002
  2364.       CALL QuickTPut (Temp$,0)        ' Last DIR Date                ' DD090202
  2365.       Temp$ = MID$(ZUserOption$,5,1)                                 ' DD090902
  2366.       IF Temp$ = SPACE$(1) THEN Temp$ = CHR$(78)                     ' DD021301
  2367.       CALL ANSIPut (7,71)                                            ' DD063002
  2368.       CALL QuickTPut (Temp$,0)        'ZUserXferDefault$ -  Protocol ' DD090202
  2369.       CALL ANSIPut (8,20)                                            ' DD090202
  2370.       CALL QuickTPut (ZLastDateTimeOn$,0)                  ' Last date on' DD090202
  2371.       Temp$ = FNYesNo$(-((TempUserOptions AND 64) > 0))              ' DD062202
  2372.       CALL ANSIPut (8,71)                                            ' DD063002
  2373.       CALL QuickTPut (Temp$,0)                ' Skip New Files       ' DD062202
  2374.       Temp$ = RIGHT$(SPACE$(5) + STR$(CVI(MID$(ZUserOption$,1,2))),5)' DD021301
  2375.       CALL Trim (Temp$)                                              ' DD090202
  2376.       CALL ANSIPut (9,20)                                            ' DD090202
  2377.       CALL QuickTPut (Temp$,0)                             ' Times on' DD090202
  2378.       Temp$ = FNYesNo$(-((TempUserOptions AND 4096) > 0))            ' DD090902
  2379.       CALL ANSIPut (9,71)                                            ' DD063002
  2380.       CALL QuickTPut (Temp$,0)        'ZFileWaiting - Per. Upld      ' DD090202
  2381.       Temp$ = STR$(CVI(ZElapsedTime$))                               ' DD090202
  2382.       CALL Trim (Temp$)                                              ' DD090202
  2383.       CALL ANSIPut (10,20)                                           ' DD090202
  2384.       CALL QuickTPut (Temp$,0)                            ' Time used' DD090202
  2385.       Temp$ = FNYesNo$(-((TempUserOptions AND 32) > 0))              ' DD062202
  2386.       CALL ANSIPut (10,71)                                           ' DD063002
  2387.       CALL QuickTPut (Temp$,0)                  ' Check New Bulls    ' DD062202
  2388.       Temp$ = RIGHT$(SPACE$(5) + STR$(ASC(ZBankTime$)),5)            ' DD021301
  2389.       CALL Trim (Temp$)                                              ' DD090202
  2390.       CALL ANSIPut (11,20)                                           ' DD090202
  2391.       CALL QuickTPut (Temp$,0)                          ' Banked Time' DD090202
  2392.       Temp$ = FNYesNo$(-((TempUserOptions AND 2) > 0))               ' DD090902
  2393.       CALL ANSIPut (11,71)                                           ' DD063002
  2394.       CALL QuickTPut (Temp$,0)        'ZExpertUser - Expert          ' DD090202
  2395.       Temp$ = RIGHT$(SPACE$(5) + STR$(CVI(ZUserDnlds$)),5)           ' DD021301
  2396.       CALL Trim (Temp$)                                              ' DD090202
  2397.       CALL ANSIPut (12,20)                                           ' DD090202
  2398.       CALL QuickTPut (Temp$,0)                       ' Total Files DL' DD090202
  2399.       Temp$ = FNYesNo$(-((TempUserOptions AND 1) > 0))               ' DD090902
  2400.       CALL ANSIPut (12,71)                                           ' DD063002
  2401.       CALL QuickTPut (Temp$,0)        'ZPromptBell - Prompt Bell     ' DD090202
  2402.       Temp$ = RIGHT$(SPACE$(5) + STR$(CVI(ZUserUplds$)),5)           ' DD021301
  2403.       CALL Trim (Temp$)                                              ' DD090202
  2404.       CALL ANSIPut (13,20)                                           ' DD090202
  2405.       CALL QuickTPut (Temp$,0)                       ' Total Files UL' DD090202
  2406.       Temp$ = FNYesNo$(-((TempUserOptions AND 4) > 0))               ' DD090902
  2407.       CALL ANSIPut (13,71)                                           ' DD063002
  2408.       CALL QuickTPut (Temp$,0)        'ZNulls - Nulls                ' DD090202
  2409.       Temp$ = STR$(CVS(ZDlBytes$))                                   ' DD090202
  2410.       CALL Trim (Temp$)                                              ' DD090202
  2411.       CALL ANSIPut (14,20)                                           ' DD090202
  2412.       CALL QuickTPut (Temp$,0)                             ' Total Bytes DL' DD090202
  2413.       Temp$ = FNYesNo$(-((TempUserOptions AND 8) > 0))               ' DD090902
  2414.       CALL ANSIPut (14,71)                                           ' DD063002
  2415.       CALL QuickTPut (Temp$,0)        'ZUpperCase - Upper Case       ' DD090202
  2416.       Temp$ = STR$(CVS(ZULBytes$))                                   ' DD090202
  2417.       CALL Trim (Temp$)                                              ' DD090202
  2418.       CALL ANSIPut (15,20)                                           ' DD090202
  2419.       CALL QuickTPut (Temp$,0)                       ' Total Bytes UL' DD090202
  2420.       Temp$ = FNYesNo$(-((TempUserOptions AND 16) > 0))              ' DD090902
  2421.       CALL ANSIPut (15,71)                                           ' DD063002
  2422.       CALL QuickTPut (Temp$,0)        'ZLineFeeds Line Feeds         ' DD090202
  2423.       Temp$ = STR$(CVS(ZTodayDl$))                                   ' DD090202
  2424.       CALL Trim (Temp$)                                              ' DD090202
  2425.       CALL ANSIPut (16,20)                                           ' DD090202
  2426.       CALL QuickTPut (Temp$,0)                      ' Todays DL Files' DD090202
  2427.       Temp$ = FNYesNo$(-((TempUserOptions AND 2048) > 0))            ' DD090902
  2428.       CALL ANSIPut (16,71)                                           ' DD063002
  2429.       CALL QuickTPut (Temp$,0)        'ZTurboKeyUser - TurboKey      ' DD090202
  2430.       Temp$ = STR$(CVS(ZTodayBytes$))                                ' DD090202
  2431.       CALL Trim (Temp$)                                              ' DD090202
  2432.       CALL ANSIPut (17,20)                                           ' DD090202
  2433.       CALL QuickTPut (Temp$,0)                      ' Todays DL Bytes' DD090202
  2434.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 16) > 0))      ' DD070402
  2435.       CALL AnsiPut (17,71)                                           ' DD070402
  2436.       CALL QuickTPut (Temp$,0)        'ZANSIMusic                    ' DD070402
  2437.       Temp$ = FNYesNo$(-((TempUserOptions AND 256) > 0))             ' DD090902
  2438.       CALL ANSIPut (18,20)                                           ' DD063002
  2439.       CALL QuickTPut (Temp$,0)  'ZReqQuesAnswered - Ans. Questionaire' DD090202
  2440.       WasX = ASC(MID$(ZUserOption$,6,1))                             ' DD050501
  2441.       TempZBoldText$ = FNYesNo$(VAL(CHR$(48 - (WasX > 64))))         ' DD061301
  2442.       Temp$ = STR$(WasX)                                             ' DD050501
  2443.       CALL Trim (Temp$)                                              ' DD091103
  2444.       CALL ANSIPut (18,45)                                           ' DD063002
  2445.       CALL QuickTPut (Temp$,0)        'color number                  ' DD050501
  2446.       Temp$ = FNYesNo$(-(((NOT TempExtendedUserOptions) AND 4) > 0)) ' DD070104
  2447.       CALL ANSIPut (18,71)                                           ' DD070104
  2448.       CALL QuickTPut (Temp$,0)        'ZMorePromptLF                 ' DD070104
  2449.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 2) > 0))       ' DD070103
  2450.       CALL ANSIPut (19,20)                                           ' DD070103
  2451.       CALL QuickTPut (Temp$,0)        'ZReselectAll                  ' DD070103
  2452.       Temp$ = FNYesNo$(-((TempUserOptions AND 1024) > 0))            ' DD062202
  2453.       CALL ANSIPut (19,45)                                           ' DD063002
  2454.       CALL QuickTPut (Temp$,0)        'Highlighting                  ' DD062202
  2455.       CALL ANSIPut (19,71)                                           ' DD070904
  2456.       CALL QuickTPut (MID$(ZUserOption$,14),0) 'Echo Preference      ' DD070905
  2457.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 8) > 0))       ' DD070105
  2458.       CALL AnsiPut (20,20)                                           ' DD070105
  2459.       CALL QuickTPut (Temp$,0)        'ZReselectGraphics             ' DD070105
  2460.       Temp$ = FNYesNo$(-((TempUserOptions AND 128) > 0))             ' DD090902
  2461.       CALL ANSIPut (20,45)                                           ' DD090202
  2462.       CALL QuickTPut (Temp$,0)        'FullScreenEditor - ANSIEd     ' DD090202
  2463.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 32) > 0))      ' DD070601
  2464.       CALL AnsiPut (20,71)                                           ' DD070601
  2465.       CALL QuickTPut (Temp$,0)        'ZNeverCanPage                 ' DD070601
  2466.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 64) > 0))      ' DD070905
  2467.       CALL ANSIPut (21,20)                                           ' DD070905
  2468.       CALL QuickTPut (temp$,0)        'ZReselectProto                ' DD070905
  2469.       Temp$ = STR$(ASC(MID$(ZUserOption$,13,1)))                     ' DD090902
  2470.       CALL Trim (Temp$)                                              ' DD091103
  2471.       CALL ANSIPut (21,45)                                           ' DD063002
  2472.       CALL QuickTPut (Temp$,0)        ' Page Length                  ' DD090202
  2473.       Temp$ = FNYesNo$(-((TempUserOptions AND 16384) > 0))           ' DD071902
  2474.       CALL ANSIPut (21,71)                                           ' DD071902
  2475.       CALL QuickTPut (Temp$,0)        ' Extended Off                 ' DD071902
  2476.       Temp$ = STR$(ASC(ZDropTimes$))                                 ' DD091402
  2477.       CALL Trim (Temp$)                                              ' DD091402
  2478.       CALL ANSIPut(22,20)                                            ' DD091402
  2479.       CALL QuickTPut (Temp$,0)        ' Carrier Drops                ' DD091402
  2480.       Temp$ = STR$(ASC(MID$(ZUserOption$,7,1)))                      ' DD063002
  2481.       CALL Trim (Temp$)                                              ' DD091103
  2482.       CALL ANSIPut (22,45)                                           ' DD063002
  2483.       CALL QuickTPut (Temp$,0)        ' Right Margin                 ' DD090202
  2484.       Temp$ = FNYesNo$(-((TempExtendedUserOptions AND 128) > 0))     ' DD070906
  2485.       CALL ANSIPut (22,71)                                           ' DD070906
  2486.       CALL QuickTPut (Temp$,0)        'Twit                          ' DD070906
  2487.       CALL ANSIPut (24,1)                                            ' DD090202
  2488.       CALL QuickTPut (ZEmphasizeOff$,0)                              ' DD090202
  2489.       ZOk = ZTrue                                                    ' DD090202
  2490.       END SUB                                                        ' DD090202
  2491. '                                                                    ' DD090202
  2492. 80100 SUB ANSIPut (ANSIRow,ANSICol)                                  ' DD090202
  2493. '                                                                    ' DD090202
  2494.       CALL QuickTPut (CHR$(27) + CHR$(91) + MID$(STR$(ANSIRow),2) + CHR$(59) + _ ' DD021301
  2495.            MID$(STR$(ANSICol),2) + CHR$(72),0)                       ' DD021301
  2496.       END SUB                                                        ' DD090202
  2497. '                                                                    ' DD090202
  2498. 80200 SUB UploadMessage                                              ' DD090202
  2499. '                                                                    ' DD090202
  2500.       IF ZSysop THEN _                                               ' DD090201
  2501.          EXIT SUB                                                    ' DD090201
  2502.       CALL BreakFileName (ZMainMsgFile$,Drive$,FileName$,ZWasY$,ZFalse)' DD122701
  2503.       IF RIGHT$(FileName$,1) = CHR$(77) THEN _                       ' DD021301
  2504.          FileName$ = LEFT$(FileName$,LEN(FileName$)-1)               ' DD122701
  2505.       ZFileName$ = ZHelpPath$ + FileName$ + "U" + ZHelpExtension$    ' DD041003
  2506.       CALL Findit(ZFileName$)                                        ' DD122701
  2507.       IF ZOK THEN _                                                  ' DD122701
  2508.          GOTO 80220                                                  ' DD122701
  2509.       ZFileName$ = ZHelpPath$ + "UPMSG" + ZHelpExtension$            ' DD062304
  2510. 80220 CALL Graphic (ZFileName$)                                      ' BH072201
  2511.       ZNonStop = ZTrue                                               ' BH071901
  2512.       CALL BufFile (ZFileName$, ZWasX)                               ' BH071901
  2513.       END SUB                                                        ' DD090202
  2514. '                                                                    ' DD062301
  2515. ' * Reset Graphics if RIP active                                     ' DD062301
  2516. '                                                                    ' DD062301
  2517. 80300 SUB ResetGraphics STATIC                                       ' DD062301
  2518.       IF ZWasGR = 4 THEN                                             ' DD062301
  2519.          CALL PutCom (ZRIPGraphicsReset$)                            ' DD071001
  2520.       END IF                                                         ' DD062301
  2521.       END SUB                                                        ' DD062301
  2522. '                                                                    ' DD071703
  2523. ' * New Mail Waiting                                                 ' DD071703
  2524. '                                                                    ' DD071703
  2525. 80400 SUB MailWait                                                   ' DD071703
  2526.       IF ZMailWaiting THEN                                           ' DD070802
  2527.          ZFileName$ = ZHelpPath$ + "MAIL" + ZHelpExtension$          ' DD071703
  2528.          CALL Graphic (ZFileName$)                                   ' DD071703
  2529.          CALL BufFile (ZFileName$, WasX)                             ' DD071703
  2530.          IF NOT ZOK THEN                                             ' DD071703
  2531.             CALL QuickTPut (ZCRLf$ + ZFGF$ + ZBG1$ + _               ' DD070802
  2532.                            "You have new Mail!" + _                  ' DD070802
  2533.                            ZEmphasizeOff$,2+ZTurboLogon)             ' DD070802
  2534.          END IF                                                      ' DD071703
  2535.       END IF                                                         ' DD070802
  2536.       END SUB                                                        ' DD070802
  2537.