home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / CDOR0811.ZIP / CDORMRGS.ZIP / R-PCCDOR.MRG < prev    next >
Encoding:
Text File  |  1993-08-11  |  193.4 KB  |  4,267 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RBBS-PC.BAS to produce RBBS-PC.NEW
  3. * RBBS-PC.BAS:  Date 6-20-92  Size 147219 bytes
  4. * ------------[ Created 08-11-1993 19:33:32 ]------------
  5. * INSERTING new line(s)
  6. 1 ' $segment
  7. * REPLACING old line(s) by new
  8. 29 ' **************************************************************************
  9.    '
  10.    ' $INCLUDE: 'RBBS-VAR.BAS'
  11.    '
  12.    ' $SUBTITLE: 'Main-line RBBS-PC Program'
  13.     ZCrLf$ = CHR$(13) + CHR$(10)
  14.     WasJ = 60
  15.     DIM ZOptSec(WasJ)
  16.     ZConfigFileName$ = "RBBS-PC.DEF"
  17.     CALL GetCommand (ZDebug,ZNetTime$,ZNetBaud$,ZNetReliable$)
  18.     ZSubParm = -62
  19.     ZBulletinMenu$ = ""
  20.     CALL ReadDef (ZConfigFileName$)
  21.     IF ZErrCode > 0 THEN _
  22.        GOTO 31
  23. * ------[ first line different ]------
  24. '                                                                    ' DD021903/VGA
  25. ' * SET UP FOR VGA 25/43/50 Screen Lines                             ' DD021903/VGA
  26. '                                                                    ' DD021903/VGA
  27.     SCREEN 0                                                         ' DD021903/VGA
  28.     WIDTH 80,ZLocalPageLength                                        ' DD021903/VGA
  29. '   CALL MLInit (1)                                                  ' DD090401
  30.     GOTO 100
  31. * REPLACING old line(s) by new
  32. 100 CLEAR,,ZSizeOfStack
  33.     CALL VarInit
  34.     IF ZErrCode > 0 THEN _
  35.        GOTO 31
  36.     OrigUpgradeSec = ZAutoUpgradeSec
  37.     OrigMainSec = ZMinLogonSec
  38.     CALL BreakFileName (ZOrigMsgFile$,Drive$,OrigMsgName$,ZWasY$,ZFalse)
  39.     IF OrigMsgName$ = "MESSAGES" THEN _
  40.        OrigMsgName$ = "MAIN" _
  41.     ELSE IF RIGHT$(OrigMsgName$,1) = "M" THEN _
  42.             OrigMsgName$ = LEFT$(OrigMsgName$,LEN(OrigMsgName$)-1)
  43.     ConfFileName$ = OrigMsgName$
  44.     OrigNewsFileName$ = ZWelcomeFileDrvPath$ + _
  45.               OrigMsgName$ + ".NWS"
  46.     ZNewsFileName$ = OrigNewsFileName$
  47. * ------[ first line different ]------
  48.     CALL GetMenu0Info                                                ' DD091201/MENU0
  49.     IF ZNetMail$ <> "NONE" AND VAL(ZNetTime$) > 0 THEN _
  50.        ZLimitMinsPerSession = VAL(ZNetTime$) : _
  51.        ZExpectActiveModem = ZTrue : _                                ' DD051503
  52.        PRINT "Loading RBBS-PC " + ZVersionID$ : _                    ' DD051503
  53.        IF NOT ZKeepInitBaud THEN _
  54.           ZModemInitBaud$ = ZNetBaud$
  55.     IF ZFossil THEN _
  56.        ZComPort = VAL(RIGHT$(ZComPort$,1)) - 1 : _
  57.        IF ZComPort < 0 THEN _
  58.           GOTO 108 _
  59.        ELSE CALL FOSinit(ZComPort,Result) : _
  60.             IF Result = -1 THEN _
  61.                ZSnoop = ZTrue : _
  62.                CALL PScrn("ERROR INITIALIZING FOSSIL") : _
  63.                GOTO 204
  64. * REPLACING old line(s) by new
  65. 108 CALL BreakFileName (ZCallersFile$,Drive$,WasX$,ZWasY$,ZTrue)
  66.     ZCallersFilePrefix$ = WasX$
  67.     ZNodeWorkDrvPath$ = Drive$
  68.     ZArcWork$ = ZNodeWorkDrvPath$ + _
  69.                 "ARCWORK" + _
  70.                 ZNodeFileID$ + _
  71.                 ".DEF"
  72. * ------[ first line different ]------
  73. '   IF ZUseBASICWrites THEN _                                        ' DD050701
  74. '      ZLocalBksp$ = ZBackArrow$ _                                   ' DD050701
  75. '   ELSE ZLocalBksp$ = ZBackSpace$                                   ' DD050701
  76.     ZLocalBkSp$ = ZBackSpace$                                        ' DD050701
  77.     ZSysopFullName$ = LEFT$(ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$ + SPACE$(2),22) ' DD021301
  78.     ZFastFileSearch = ZFalse
  79.     CALL FindIt (ZFastFileList$)
  80.     IF ZOK THEN _
  81.        CALL FindIt (ZFastFileLocator$) : _
  82.        IF ZOK THEN _
  83.           ZFastFileSearch = ZTrue : _
  84.           CALL BreakFileName (ZFastFileList$, Drive$,WasX$,ZWasY$,ZTrue) : _
  85.           ZFileName$ = Drive$ + WasX$ + CHR$(84) + ZWasY$ : _   'T   ' DD021301
  86.           CALL FindIt (ZFileName$) : _
  87. '         ZErrCode = 0 : _                                           ' DD090201
  88.           IF ZOK THEN _
  89.              CALL OpenRSeq (2,ZFileName$, WasX, WasY, 72) : _        ' DD031703
  90.              FIELD 2, 72 AS IndexRec$ : _
  91.              GET 2, 1 : _
  92.              ZFastTabs$ = IndexRec$ : _
  93.              CLOSE 2 _
  94.           ELSE ZFastTabs$ = ""
  95. '
  96. ' *****  INITIALIZE NetBIOS INTERFACE   ****
  97. '
  98.    IF ZNetworkType = 6 AND NOT ZSubBoard THEN _
  99.       CALL InitIBM
  100. '
  101. ' *****  ESTABLISH NEXT CALLERS FILE RECORD AVAILABLE   ***
  102. '
  103.     CALL SetCall
  104. * REPLACING old line(s) by new
  105. 112 IF NOT ZSubBoard THEN _
  106.        ZLocalUser = ZTrue : _
  107.        ZOutTxt$ = ZColorReset$ : _
  108.        ZSubParm = 1 : _
  109.        CALL TPut : _
  110.        ZLocalUser = ZFalse
  111.     ZUpldDriveFile$ = RIGHT$(ZDnldDrives$,1)+":FREESPAC.UPL"
  112. * ------[ first line different ]------
  113.     ZMinsPerSessionDef = ZMinsPerSession - ZElapsedTime              ' JA082301
  114.     ZMaxPerDayDef = ZMaxPerDay
  115.     ZMaxBankTimeDef = ZMaxBank
  116. '
  117. ' *****  TEST FOR MESSAGE FILE PRESENT (Abort IF NOT PRESENT)  ****
  118. '
  119. * REPLACING old line(s) by new
  120. 135 IF ZCurDef$ = ZOrigCnfg$ THEN _
  121.        ZActiveMessageFile$ = ZMainMsgFile$ : _
  122.        ZActiveUserFile$ = ZMainUserFile$
  123.     GOSUB 4910
  124.     IF ZConfMode THEN _
  125.        GOTO 150
  126. * ------[ first line different ]------
  127.     ZLocalUserMode = (RIGHT$(ZComPort$,1) < CHR$(49))           '1   ' DD021301
  128.     GET 1,ZNodeRecIndex
  129.     ZWasY$ = MID$(ZMsgRec$,77,2)
  130.     CALL UnPackDate (ZWasY$,WasX,WasL,WasI,ZOldDate$)
  131.     ZOldDate$ = LEFT$(ZOldDate$,6) + MID$(STR$(WasX),2)
  132.     ZHourMinToDropToDos = - (ZHourMinToDropToDos > 0) * ZHourMinToDropToDos
  133.     Hour = INT(ZHourMinToDropToDos / 100)
  134.     WasMN = ZHourMinToDropToDos - Hour * 100
  135.     ZTimeToDropToDos! = Hour * 3600! + WasMN * 60!
  136. '
  137. ' ******  TEST FOR TIMED EXIT ACTIVE   *****
  138. '
  139. * REPLACING old line(s) by new
  140. 150 IF ZSubBoard THEN _
  141.        GOSUB 12987 : _
  142.        GOSUB 5135 : _
  143.        GOTO 170
  144.     ZSysopAvail = VAL(MID$(ZMsgRec$,32,2))
  145.     ZSysopAnnoy = VAL(MID$(ZMsgRec$,34,2))
  146.     ZSysopNext = VAL(MID$(ZMsgRec$,36,2))
  147.     MID$(ZMsgRec$,36,2) = STR$(ZFalse)
  148.     ZPrinter = VAL(MID$(ZMsgRec$,38,2))
  149.     IF ZTurnPrinterOff THEN _
  150.        ZPrinter = ZFalse
  151.     ZExitToDoors = (MID$(ZMsgRec$,40,2) = "-1" AND ZNetBaud$ = "" _
  152.                     AND INSTR(COMMAND$," LOCAL") = 0)
  153.     ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  154.     ZBPS = -VAL(MID$(ZMsgRec$,44,2))
  155.     ZSnoop = VAL(MID$(ZMsgRec$,58,2))
  156. * ------[ first line different ]------
  157.     MID$(ZMsgRec$,57,1) = CHR$(73)                              'I   ' DD021301
  158.     ZPrivateDoor = (MID$(ZMsgRec$,72,2) = "-1")
  159.     IF ZPrivateDoor THEN _
  160.        ZHasPrivDoor = ZTrue
  161.     MID$(ZMsgRec$,72,2) = STR$(ZFalse)
  162.     ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$) OR _
  163.                  ZLocalUserMode
  164.     IF ZExitToDoors OR ZPrivateDoor THEN _
  165.        ZHasDoored = ZTrue : _
  166.        ZTurboLogon = ZTrue                                           ' Mpl090201
  167.     PUT 1,ZNodeRecIndex
  168.     GOSUB 12985
  169.     GET 1,1
  170.     ZCallsToDate! = VAL(MID$(ZMsgRec$,11,10))                        ' DD040705
  171.     IF ZCallsToDate! < 11 THEN                                       ' DD062304
  172.        CALL CopyRight                                                ' DD062304
  173.        IF NOT ZOK THEN                                               ' DD062304
  174.           GOTO 204                                                   ' DD062304
  175.        END IF                                                        ' DD062304
  176.     END IF                                                           ' DD062304
  177. '
  178. ' *****  INITIALIZE VOICE SYNTHESIZER   ****
  179. '
  180. '   CALL Talk (Init,ZOutTxt$)                                        ' DD060401
  181. '
  182. ' *****  TEST FOR MULTI LINK PRESENT IF NOT COMPAQ COMPUTER   ****
  183. '
  184. '160 CALL MLInit (4)                                                 ' DD062304
  185. * DELETING old line(s)
  186. 160
  187. * REPLACING old line(s) by new
  188. 170 FOR FunctionKeyIndex = 1 TO 10
  189.        KEY FunctionKeyIndex,""
  190.     NEXT
  191. * ------[ first line different ]------
  192. '   CALL LoadNew (ZMsgPtr())                                         ' DGS050501/DS
  193. '
  194. ' ******  INITIALIZE FILE MANAGEMENT SYSTEM, CHECK FOR LOCAL BBS MODE
  195. '
  196. * REPLACING old line(s) by new
  197. 175 GOSUB 5344
  198.     CALL CountLines (MaxEntries)
  199.     REDIM ZCategoryName$(MaxEntries),ZCategoryCode$(MaxEntries),_
  200.           ZCategoryDesc$(MaxEntries)
  201.     CALL InitFMS (ZNumCategories)
  202.     ZMaxMsgLines = ZMaxMsgLinesDef
  203.     IF (NOT ZLocalUser) AND (NOT ZSubBoard) THEN _
  204.        CALL OpenCom (ZModemInitBaud$,",N,8,1")
  205.     IF NOT ZSubBoard THEN _
  206.        CALL SetEcho (ZDefaultEchoer$)
  207.     ZNodeWorkFile$ = ZNodeWorkDrvPath$ + _
  208.                       "NODE" + _
  209.                       ZNodeFileID$ + _
  210.                       "WRK"
  211. * ------[ first line different ]------
  212.     ZBatchWorkFile$ = ZNodeWorkDrvPath$ + _                          'Pe BatchUp mod
  213.                       "NODE" + _                                     'Pe BatchUp mod
  214.                       ZNodeFileID$ + _                               'Pe BatchUp mod
  215.                       "BCH"                                          'Pe BatchUp mod
  216.     ZSecsPerSession! = ZMinsPerSession * 60!
  217.     LogIndex = 1
  218.     IF NOT ZLocalUserMode THEN _
  219.        IF NOT ZExitToDoors THEN _
  220.           GOTO 180 _
  221.        ELSE IF NOT ZLocalUser THEN _
  222.                GOTO 180
  223.     ZLocalUser = ZTrue
  224.     ZBPS = -7
  225.     ZBaudTest! = 9600
  226.     ZCBaud$ = "9600"
  227.     ZCBPS = -7
  228.     ZEightBit = ZTrue
  229.     ZSnoop = ZTrue
  230.     IF ZExitToDoors THEN _
  231.        CALL AMorPM : _
  232.        CALL ReadProf : _
  233.        GOTO 410
  234.     GOSUB 178
  235.     GOTO 345
  236. * REPLACING old line(s) by new
  237. 178 IF NOT ZSubBoard THEN _
  238.        RETURN
  239.     IF ZNewUser THEN _
  240.        GOSUB 758
  241. * ------[ first line different ]------
  242.     IF OrigFirstName$ = ZSysopFirstName$ AND _                       'Dgs-ALias
  243.        ZLastName$ = ZSysopLastName$ THEN _
  244.           RETURN 832 _
  245.     ELSE RETURN 790
  246. * REPLACING old line(s) by new
  247. 200 ZToggleOnly = ZTrue
  248.     CALL AnswerIt
  249.     GET 1,ZNodeRecIndex
  250.     ZSnoop = VAL(MID$(ZMsgRec$,58,2))
  251. * ------[ first line different ]------
  252.     IF NOT ZSnoop THEN _                                             ' DD031503
  253.        LOCATE 24,1 : _                                               ' DD031503
  254.        PRINT "Snoop is OFF, Press <F9> To ReActivate"                ' DD031503
  255.     ZToggleOnly = ZFalse
  256.     IF ZErrCode > 1 THEN _
  257.        GOTO 13000
  258.     IF ZSubParm < 0 THEN _
  259.        GOTO 202
  260.     ON ZSubParm GOTO   410, _   '  1 = ANSWERED PHONE & CARRIER FOUND
  261.                        330, _   '  2 = CARRIER FOUND BEFORE ANSWERING
  262.                        822, _   '  3 = SysOp GETS SYSTEM NEXT
  263.                      10595, _   '  4 = ANSWERED PHONE BUT NO CARRIER
  264.                      13540, _   '  5 = NOT USED
  265.                        202, _   '  6 = LOCAL SYSOP KEY PRESSED
  266.                        206, _   '  7 = TIME TO DROP TO DOS
  267.                      13538      '  8 = No CALLS! TIME TO RECYCLE
  268. * REPLACING old line(s) by new
  269. 202 ZFF = -ZSubParm
  270.     ON ZFF GOTO 10595, _   '  -1 = CARRIER DROPPED
  271. * ------[ first line different ]------
  272.                  4700, _   '  -2 = SYSOP INITIATED CHAT              ' DD091303
  273.                   205, _   '  -3 = FORCE SYSTEM TO ANSWER THE PHONE
  274.                   204, _   '  -4 = EXIT TO DOS IMMEDIATELY
  275.                   203, _   '  -5 = EXIT TO DOS AFTER CLEAN-UP
  276.                 10698, _   '  -6 = INDICATE ACCESS IS DENIED AND LOGOFF USER
  277.                 10620      '  -7 = UPDATE CALLERS FILE AND LOGOFF USER
  278. * REPLACING old line(s) by new
  279. 203 'CALL MLInit(3)                                                  ' DD090401
  280. * REPLACING old line(s) by new
  281. 204 IF Zfossil THEN _
  282.        CALL FOSExit(ZComPort)
  283. * ------[ first line different ]------
  284.     CLS                                                              ' DD090902
  285.     LOCATE ZLocalPageLength-1,1                                      ' DD021903/VGA
  286.     SYSTEM
  287. * REPLACING old line(s) by new
  288. 335 ZExitToDoors = ZFalse
  289.     ZPrivateDoor = ZFalse
  290. * ------[ first line different ]------
  291.     IF ZExpectActiveModem = ZTrue THEN                               ' DD051401
  292.        GOTO 345                                                      ' DD051401
  293.     END IF                                                           ' DD051401
  294.     IF ZWasCL <> 1 THEN _
  295.        LOCATE 16,55,1                                                ' DD082703/MENU0
  296.     WasD$ ="CONNECT" + _
  297.         STR$(ZBaudTest!) + _
  298.         SPACE$(5)                                                    ' DD021301
  299.     GOSUB 1315
  300. '
  301. ' *****  DISPLAY WELCOME LINE  ****
  302. '
  303. * REPLACING old line(s) by new
  304. 345 CALL SayWelcome
  305. * ------[ first line different ]------
  306.     CALL Line25                                                      ' DD050904
  307. * REPLACING old line(s) by new
  308. 346 GOSUB 466
  309.     IF ZSubParm = -1 THEN _
  310.        GOTO 13540
  311.     ZFF = ZFalse
  312. '
  313. * ------[ first line different ]------
  314. ' *****  DELETE ALL FILES IN WORK DIRECTORY ****                     ' Mpl090201
  315. '
  316. '360 CALL OpenOutW (ZArkViewPath$ + "DANDAN.DAN")                    ' DD062304
  317.    'CLOSE 2                                                          ' DGS050601/DS-TH
  318.    'CALL KillWork (ZArkViewPath$ + "*.*")                            ' DGS050601/DS-TH
  319. '
  320. ' *****  GET USER NAME
  321. ' *****  C - COMMAND FROM NEWUSER REGISTER OPTIONS (CHANGE NAME OR ADDRESS)
  322. '
  323. '400 CALL SkipLine(1)                                                ' DD062304
  324. * REPLACING old line(s) by new
  325. * ------[ first line different ]------
  326. 400 ZEscapeInsecure = ZFalse                                         ' DD062304
  327.     ZUpperCase = ZFalse
  328.     CALL SetExpert
  329.     WasA1$ = "What is your "
  330.     CALL FlushCom (ZWasDF$)
  331.     GOSUB 12500
  332.     CALL CommInfo
  333.     IF ZFF THEN _
  334.        ZLogonErrorIndex = 1 : _
  335.        GOTO 10620
  336.     IF ZMinOldCallerBaud > ZBaudTest! THEN _
  337.        CALL QuickTPut1 ("Sorry," + STR$(ZBaudTest!) + " BPS not allowed") : _
  338.        ZWasLG$(7) = "OLD CALLER BAUD RESTRICTION" : _
  339.        ZLogonErrorIndex = 7 : _
  340.        GOTO 10620
  341.     LogIndex = 4 - (ZLenIndiv > 0 AND ZStartIndiv > 0)
  342.     ZTurboLogon = (LEFT$(ZUserIn$(LogIndex),1) = CHR$(33))      '!   ' DD021301
  343.     SkipWelcomeScreen = (LEFT$(ZUserIn$(LogIndex),1) = CHR$(36)) '$  ' DD021301
  344. '   ZHomeConf$ = RIGHT$(ZUserIn$(LogIndex),LEN(ZUserIn$(LogIndex)) _ ' Mpl090201
  345. '                    + (TurboLogon OR SkipWelcomeScreen))            ' Mpl090201
  346. '   CALL AllCaps(ZHomeConf$)
  347. '
  348. ' *****  CHECK IF SAME USER ON ANOTHER NODE   ***
  349. '
  350. * REPLACING old line(s) by new
  351. 410 IF ZExitToDoors THEN _
  352.        ZCurDate$ = MID$(ZMsgRec$,119,2) + _
  353. * ------[ first line different ]------
  354.                        CHR$(45) + _                                  ' DD021301
  355.                        MID$(ZMsgRec$,121,2) + _
  356.                        CHR$(45) + _                                  ' DD021301
  357.                        MID$(ZMsgRec$,123,2) : _
  358.        ZTime$ = MID$(ZMsgRec$,125,2) + _
  359.               CHR$(58) + _                                           ' DD021301
  360.               RIGHT$(ZMsgRec$,2) : _
  361.        IF LEFT$(ZTime$,2) < "12" THEN _
  362.           ZTime$ = ZTime$ + _
  363.                  " AM" _
  364.        ELSE ZTime$ = ZTime$ + _
  365.                    " PM"
  366.     NodeIndex = 2
  367.     WasXX = ZMaxNodes + 1
  368.     WasX$ = LEFT$(ZActiveUserName$+SPACE$(2),30)                     ' DD021301
  369. * REPLACING old line(s) by new
  370. * ------[ first line different ]------
  371. 420 IF MID$(ZMsgRec$,57,1) = CHR$(65) THEN _                         ' DD021301
  372.        ZLogonErrorIndex = 6 : _
  373.        ZWasLG$(6) = ZWasLG$(6) + _
  374.                 LEFT$(ZMsgRec$,25) : _
  375.        ZOutTxt$ = ZFG2$ + "The name '" + ZFGE$ + _                   ' DD082401
  376.                   ZActiveUserName$ + ZFG2$ + _                       ' DD082401
  377.                   "' is in use on another node" + ZEmphasizeOff$ : _ ' DD082401
  378.        CALL RingCaller : _
  379.        GOTO 10620
  380.     ZFirstName$ = LEFT$(ZMsgRec$,INSTR(ZMsgRec$, SPACE$(1)) - 1)     ' DD021301
  381.     IF NOT ZPrivateDoor THEN _
  382.        CALL QuickTPut1 (ZCRLf$ + ZFGF$ + ZBG1$ + "Welcome back " + _ ' DD071001
  383.             ZFirstName$ + CHR$(33) + ZBG0$)                          ' DD060401
  384. '      CALL Talk (11,ZOutTxt$)                                       ' DD060401
  385.     IF ZExitToDoors THEN _
  386.        GOTO 457
  387. '
  388. ' *****  TEST FOR REMOTE SYSOP LOGGING ON   ***
  389. '
  390. * REPLACING old line(s) by new
  391. * ------[ first line different ]------
  392. 445 IF INSTR(ZActiveUserName$,"SYSOP") THEN _                        ' DD121201
  393.        GOTO 446
  394.     TempSecretName$ = UCASE$(ZSecretName$)                           ' DD030101
  395. '   CALL AllCaps (TempSecretName$)                                   ' DD030101
  396.     IF ZActiveUserName$ = ZSysopFirstName$ + SPACE$(1) + LEFT$(ZSysopLastName$,LEN(ZSysopLastName$)-1) AND _ ' DD021301
  397.        TempSecretName$ <> ZSysopFirstName$ + SPACE$(1) + LEFT$(ZSysopLastName$,LEN(ZSysopLastName$)-1) THEN _ ' DD021301
  398.        GOTO 446
  399.     GOTO 455
  400. * INSERTING new line(s)
  401. 446 ZLogonErrorIndex = 2
  402.     GOTO 10620
  403. '
  404. ' *****  REMOVE INVALID CHARACTERS FROM USER NAME  ***
  405. '
  406. * REPLACING old line(s) by new
  407. 462 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  408.        CALL CompDate (ZUserRegYY,ZUserRegMM,ZUserRegDD,UserComputeDate!) : _
  409.        ZRegDaysRemaining = UserComputeDate! + _
  410.                             ZDaysInRegPeriod - _
  411.                             TodayComputeDate! : _
  412.        CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
  413.     ELSE ZDaysInRegPeriod = 0
  414. * ------[ first line different ]------
  415.     TempStr$ = STR$(ZUserSecLevel)                                   ' DD010209
  416.     CALL Trim (TempStr$)                                             ' DD010209
  417.     ExpFile$ = ZHelpPath$ + "RGXD" + TempStr$ + ZHelpExtension$      ' DD010209
  418.     CALL FindIt (ExpFile$)                                           ' DD010209
  419.     IF NOT ZOK THEN _                                                ' DD010209
  420.        ExpFile$ = ZHelpPath$ + "RGXPIRD" + ZHelpExtension$           ' DD010209
  421.     IF NOT ZPrivateDoor THEN _
  422.        IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
  423.        IF ZUserSecLevel > ZTempExpiredSec THEN _
  424.           CALL QuickTPut (ZFGB$ + ZWasLG$(9) + _                     ' DD082302
  425.                       " - security level set to " + _
  426.                       STR$(ZTempExpiredSec) + CHR$(46) + _           ' DD021301
  427.                       ZEmphasizeOff$,2) : _                          ' DD082302
  428.           CALL BufFile(ExpFile$,WasX) : _                            ' DD010209
  429.           ZLogonErrorIndex = 9 : _
  430.           ZUserSecLevel = ZTempExpiredSec : _
  431.           LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  432.           GOSUB 5135
  433.     RETURN
  434. '
  435. ' ***  DISPLAY LOG-ON MESSAGE FOR SPECIFIC SECURITY LEVEL  **
  436. '
  437. * REPLACING old line(s) by new
  438. * ------[ first line different ]------
  439. 465 ZTurboLogon = ZTurboLogon AND (ZExitToDoors OR _                 ' Mpl090201
  440.                   (ZUserSecLevel >= ZAllowCallerTurbo))
  441.     IF (ZCurDate$ <> LEFT$(ZLastDateTimeOn$,8)) AND _                ' DD091801/NOTURBO
  442.        NOT ZExitToDoors AND ZTurboOnFirstCall = 0 THEN _             ' DD091801/NOTURBO
  443.        ZTurboLogon = ZFalse : _                                      ' DD091801/NOTURBO
  444.        SkipWelcomeScreen = ZFalse                                    ' DD091801/NOTURBO
  445.     IF ZTurboLogon THEN _                                            ' Mpl090201
  446.        GOSUB 47100 : _                                               ' DD070802
  447.        RETURN
  448.     GOSUB 47000                                                      ' DD062601
  449.     ZFileName$ = ZWelcomeFileDrvPath$ + _
  450.                  ZNodeId$ + _                                        ' DD041803
  451.                  "LG" + _
  452.                  UserSecLevel$ + _
  453.                  ".DEF"
  454.     CALL FindIt (ZFileName$)                                         ' DD041803
  455.     IF NOT ZOK THEN                                                  ' DD041803
  456.        ZFileName$ = ZWelcomeFileDrvPath$ + _                         ' DD041803
  457.                     "LG" + _                                         ' DD041803
  458.                     UserSecLevel$ + _                                ' DD041803
  459.                     ".DEF"                                           ' DD041803
  460.     END IF
  461. * REPLACING old line(s) by new
  462. * ------[ first line different ]------
  463. 466 'CALL Graphic (ZFileName$)                                       ' DD062304
  464.     'ZStopInterrupts = ZTrue                                         ' DD062304
  465.     ZBypassTimeCheck = ZTrue
  466.     'CALL BufFile (ZFileName$,WasX)                                  ' DD062304
  467.     GOSUB 43025
  468.     RETURN
  469. * REPLACING old line(s) by new
  470. 480 CALL SetSysOp
  471. * ------[ first line different ]------
  472.     IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR _              ' Mpl090201
  473.        ZExitToDoors THEN _                                           'Pe 01/03/90
  474.        ZWasZ$ = ZPswdSave$ : _
  475.        ZPswdFailed = 0 : _
  476.        GOTO 644
  477.     ZSubParm = 4
  478.     CALL PassWrd
  479.     LogonPswdFailed = ZPswdFailed
  480.     ZAnsIndex = LogIndex
  481. * REPLACING old line(s) by new
  482. 643 IF NOT LogonPswdFailed THEN _
  483.        GOSUB 41070 : _
  484.        GOTO 644 _
  485.     ELSE IF ZExitToDoors THEN _
  486.             GOTO 644
  487.     GOSUB 12991
  488. * ------[ first line different ]------
  489.     ZOutTxt$ = ZCRLf$ + ZFGD$ + "Forget your password?" + _          ' DD071001
  490.                "  Leave a message to the SysOp?" + _                 ' DD082705
  491.                ZEmphasizeOff$ + ZNoPrompt$                           ' DD071601
  492.     GOSUB 12999
  493.     IF ZYes THEN _
  494.        OrigSubject$ = "FORGOTTEN PASSWORD" : _
  495.        GOSUB 1801
  496.     ZFirstName$ = ""
  497.     GOTO 902
  498. * REPLACING old line(s) by new
  499. 644 ZNewUser = ZFalse
  500. * ------[ first line different ]------
  501.     CALL UnPackDIRDate (ZListNewDate$, WasWK$, CHR$(47))             ' DD062606
  502.     ZWasLM$ = RIGHT$(WasWK$,2) + _                           ' YY
  503.           LEFT$(WasWK$,2) + _                                ' MM
  504.           MID$(WasWK$,4,2)                                   ' DD
  505. '   IF MID$(ZWasLM$,3,1) = " " THEN _                                ' DD062606
  506. '      MID$(ZWasLM$,3,1) = "0"                                       ' DD062606
  507. '655 IF MID$(ZWasLM$,5,1) = " " THEN _                               ' DD062606
  508. '      MID$(ZWasLM$,5,1) = "0"                                       ' DD062606
  509. '660 CALL Muzak (1)                                                  ' DD062502
  510.     GOTO 800
  511. * DELETING old line(s)
  512. 655
  513. 660
  514. * REPLACING old line(s) by new
  515. 700 ZExpertUser = ZFalse
  516.     CALL SetExpert
  517.     IF ZMinNewCallerBaud > ZBaudTest! THEN _
  518.        CALL QuickTPut ("Sorry," + STR$(ZBaudTest!) + _
  519.                        " BPS only for registered users",1) : _
  520.        ZWasLG$(7) = "NEW CALLER BAUD RESTRICTION" : _
  521.        ZLogonErrorIndex = 7 : _
  522.        GOTO 10620
  523. * ------[ first line different ]------
  524.     CALL QuickTPut (ZCRLf$ + ZFGF$ + ZBG2$ + ZActiveUserName$ + _    ' DD071001
  525.                      " not found!" + ZBG0$,2)                        ' DD031302
  526.     ZLastIndex = 0
  527.     GOSUB 12558
  528.     IF ZNo THEN _
  529.        GOSUB 13700 : _
  530.        GOTO 400
  531.     CALL Line25
  532.     ZWasZ$ = ZFirstName$
  533.     GOSUB 670
  534.     ZWasZ$ = ZLastName$
  535.     GOSUB 670
  536.     ZWasZ$ = ZActiveUserName$
  537.     GOSUB 670
  538.     ZTurboLogon = ZFalse                                             ' Mpl090201
  539. * REPLACING old line(s) by new
  540. 725 IF ZUserSecLevel < ZMinLogonSec THEN _
  541.        ZLogonErrorIndex = 1 : _
  542.        GOTO 460
  543.     IF ZFirstName$ = ZLastName$ THEN _
  544. * ------[ first line different ]------
  545.        CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Sorry, " + _                ' DD091701
  546.             ZFirstNamePrompt$ + CHR$(47) + ZLastNamePrompt$ + _      ' DD021301
  547.             " cannot be the same!" + _                               ' DD082302
  548.             ZEmphasizeOff$) : _                                      ' DD082302
  549.        ZLogonErrorIndex = 3 : _
  550.        GOTO 10620
  551.     IF NOT ZRememberNewUsers THEN _
  552.        GOSUB 13700 : _
  553.        ZUserFileIndex = 0 : _
  554.        GOSUB 12960: _
  555.        PrevLastOn$ = STRING$(2,48) + CHR$(45) + STRING$(2,48) + _    ' DD021301
  556.                      CHR$(45) + STRING$(2,48) : _                    ' DD021301
  557.        GOTO 735
  558.     ZNewUser = ZTrue
  559.     ZNewUserDGS = ZTrue                                              'DGS-NEW
  560.     CALL OpenUser (ZHighestUserRecord)
  561.     GOSUB 9450
  562.     GOSUB 12630
  563.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
  564.     IF ZStartIndiv > 0 THEN _
  565.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  566.     GOSUB 9440
  567. * REPLACING old line(s) by new
  568. * ------[ first line different ]------
  569. 739 CALL QuickTPut (ZFGE$ + "Logging you as: " + _                   ' DD021302
  570.                      ZFGA$ + ZActiveUserName$ + _                    ' DD091701
  571.                      ZFGE$ + " from " + _                            ' DD082302
  572.                      ZFGA$ + ZWasCI$ + ZFG7$ + ZFG0$,2)              ' DD031302
  573. * REPLACING old line(s) by new
  574. * ------[ first line different ]------
  575. 740 CALL QuickTPut (ZFGF$ + "C)hange " + ZFirstNamePrompt$ + _       ' DD021301
  576.                CHR$(47) + ZLastNamePrompt$ + _                       ' DD021301
  577.                CHR$(47) + ZUserLocation$ + _                         ' DD021301
  578.                ", D)isconnect, [R]egister " + ZFG7$,0)               ' DD122101
  579.     ZOutTxt$ = ""                                                    ' DD122101
  580.     GOSUB 12995
  581.     IF ZWasQ = 0 THEN _
  582.        ZWasZ$ = "R" _
  583.     ELSE _                                                           ' DD071001
  584.          ZWasZ$ = UCASE$(ZUserIn$(1))                                ' DD071001
  585.     ZWasS = INSTR("CDR",ZWasZ$)
  586. * REPLACING old line(s) by new
  587. * ------[ first line different ]------
  588. 750 ZOutTxt$ = ZFGE$ + "Really Disconnect" + _                       ' DD062908
  589.                ZEmphasizeOff$ + ZNoPrompt$                           ' DD062908
  590.     GOSUB 12995                                                      ' DD062908
  591.     IF ZWasQ = 0 OR UCASE$(ZWasZ$) = "N" THEN                        ' DD062908
  592.        GOTO 740                                                      ' DD062908
  593.     END IF                                                           ' DD062908
  594.     CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  595.                            " didn't register",2)
  596.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = STRING$(ZLenHash,0)
  597.     GOSUB 9440
  598.     GOSUB 12991
  599. * REPLACING old line(s) by new
  600. * ------[ first line different ]------
  601. 754 CALL QuickTPut1 (ZFGB$ + "GUEST " + ZFG3$ + "access " + _        ' DD082302
  602.          "granted.  Re-register on next call." + ZFG7$)              ' DD082302
  603.     ZUserSecSave = ZUserSecLevel
  604.     GOTO 832
  605. * REPLACING old line(s) by new
  606. 755 IF ZPrivateDoor THEN _
  607.        ZUserIn$ = ZPswd$ : _
  608.        ZWasZ$ = ZUserIn$ : _
  609.        RETURN
  610.     GOSUB 12800
  611. * ------[ first line different ]------
  612.     ZOutTxt$ = ZFG2$ + "Re-Enter your password " + _                 ' DD062907
  613.                "for Verification " + ZFG7$ + ZBG0$                   ' DD082401
  614.     GOSUB 45010
  615.     SWAP ZWasZ$,ZUserIn$
  616.     CALL AllCaps (ZWasZ$)
  617.     IF ZUserIn$ <> ZWasZ$ THEN _
  618.        CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Passwords Don't Match!" + _ ' DD082302
  619.             ZBG0$) : _                                               ' DD082302
  620.        GOTO 755
  621.     RETURN
  622. * REPLACING old line(s) by new
  623. 758 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  624.     CALL Line25
  625.     ZFileName$ = ZNewUserFile$
  626.     ZStopInterrupts = ZTrue
  627. * ------[ first line different ]------
  628.     IF ZRIPGraphics THEN                                             ' DD062301
  629.        CALL ResetGraphics                                            ' DD062301
  630.     END IF                                                           ' DD062301
  631.     GOSUB 1790
  632.     CALL SkipLine(1)
  633.     RETURN
  634. '
  635. ' ***  R - COMMAND FROM NEWUSER ROUTINE - REGISTER   **
  636. '
  637. * REPLACING old line(s) by new
  638. 760 ZLastIndex = 0
  639.     GOSUB 755
  640.     CALL AllCaps (ZWasZ$)
  641.     LSET ZPswd$ = ZWasZ$
  642. * ------[ first line different ]------
  643.     CALL QuickTPut1 (ZFGF$ + ZBG5$ + _                               ' DD090606
  644.                      "Please REMEMBER your password" + _             ' DD090606
  645.                      ZFG7$ + ZBG0$)                                  ' DD090606
  646.     ZMenuNewUsers = ZMenuNewUsers + 1                                ' DD090901/MENU0
  647.     ZUserTextColor = 37
  648.     ZBoldText$ = "0"                                                 ' DD062301
  649.     ZTempSecLevel = ZUserSecLevel
  650.     CALL Protocol
  651.     ZUserXferDefault$ = CHR$(78)      'N                             ' DD021301
  652.     ZProtoPrompt$ = "None"
  653.     LSET ZListNewDate$ = CHR$(91) + CHR$(1) + CHR$(1)                ' UG070501
  654.     CALL SetToggles                                                  ' DD062904
  655.     IF ZNewUserSetsDefaults THEN                                     ' DD011102
  656.        ZBypassTimeCheck = ZTrue                                      ' DD011102
  657.        GOSUB 43000                                                   ' DD011102
  658.        GOSUB 42805                                                   ' DD011102
  659.        CALL NewUserToggles                                           ' DD062903
  660.        ZBypassTimeCheck = ZFalse                                     ' DD011102
  661.     END IF                                                           ' DD011102
  662.     CALL SetGraphic (ZWasGR)                                         ' DD061301
  663.     CALL SetNewUserDef
  664.     GOSUB 5135
  665.     CALL DefaultU
  666. * REPLACING old line(s) by new
  667. 790 IF NOT ZNewUser THEN _
  668.        GOTO 800
  669.     ZFileName$ = ZNewUserQuestionnaire$
  670.     GOSUB 11520
  671.     LSET ZSecLevel$ = MKI$(ZUserSecLevel)
  672.     UserSecLevel$ = STR$(ZUserSecLevel)
  673. * ------[ first line different ]------
  674.     CALL Remove (UserSecLevel$,SPACE$(1))                            ' DD021301
  675. '
  676. ' ****  LOGIN ALL USERS  ***
  677. '
  678. * REPLACING old line(s) by new
  679. 800 IF ZAdjustedSecurity THEN _
  680.        GOSUB 5135
  681.     IF ZOrigCnfg$ = ZCurDef$ THEN _
  682.        ZMainUserFileIndex = ZUserFileIndex : _
  683.        ZOrigSec = ZUserSecLevel : _
  684. * ------[ first line different ]------
  685.        OrigFirstName$ = ZFirstName$ : _                              'Dgs-ALias
  686.        ZOrigUserNameDgs$ = ZActiveUserName$ : _                      'Dgs-ALias
  687.        ZUserSecSave = ZUserSecLevel : _
  688.        ZOrigUserName$ = ZActiveUserName$
  689.     ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
  690.        ((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
  691.         (NOT ZPrivateDoor) AND (NOT ZExitToDoors))
  692.     GOSUB 9500
  693.     IF ZLocalUser THEN                                               ' DD050903
  694.        ZCBaud$ = "9600"                                              ' DD050903
  695.     END IF                                                           ' DD050903
  696.     IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
  697.        CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  698.                  " Lvl" + STR$(ZUserSecLevel) + _                    ' DD051402
  699.                  SPACE$(1) + DATE$ + SPACE$(1) + TIME$,2) : _        ' DD051402
  700.        CALL UpdtCalr ("Connect Speed: " + ZCBaud$ + " BPS",2) : _    ' DD032102
  701.        CALL UpdtCalr ("Caller Number: " + STR$(ZCallsToDate!+1),2)   ' DD040705
  702.     PrevLastOn$ = ZLastDateTimeOn$
  703.     IF ZLocalUser THEN _
  704.        ZTalkToModemAt$ = "9600" : _
  705.        ZBaudParity$ = "9600 BAUD,N,8,1" : _                          ' Mpl090201
  706.        ZModemInitBaud$ = "9600" : _
  707.        ZSnoop = ZTrue : _
  708.        ZLineFeeds = ZTrue
  709.     CALL SetCrLf
  710.     CALL SetPrompt
  711.     CALL XferType (2,ZTrue)
  712.     IF NOT ZSubBoard THEN _
  713.        BoardCheckDate$ = PrevLastOn$
  714.     CALL SetSysOp
  715.     IF ZWasA THEN _
  716.      ZActiveUserName$ = ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$ : _ ' DD021301
  717.      ZFirstName$ = ZSysopFirstName$                                  'TS041492
  718.     IF ZExitToDoors OR ZSubBoard THEN _
  719.        GOTO 815
  720.     CALL ExpiredPswd                                                 ' DD091501/PSWD
  721.     CALL SkipLine (1)                                                ' DD031302
  722.     CALL QuickTPut1 (ZFGC$ + "Logging " + ZFGE$ + _                  ' DD031302
  723.                      ZActiveUserName$ + ZFGC$ + " From " + _         ' DD080201
  724.                      ZFGE$ + ZCityState$ + ZEmphasizeOff$)           ' DD080201
  725. '                                                                    ' DD070908
  726. ' * reset graphics if RIP was detected but user                      ' DD070908
  727. ' * does not have RIP graphics as default graphics                   ' DD070908
  728. '                                                                    ' DD070908
  729.     IF ZRIPGraphics AND ZWasGR <> 4 THEN                             ' DD070908
  730.          CALL PutCom (ZRIPGraphicsReset$)                            ' DD070908
  731.     END IF                                                           ' DD070908
  732.     ZMenuNewCalls = ZMenuNewCalls + 1                                ' DD090901/MENU0
  733. '   CALL Talk (1,ZOutTxt$)                                           ' DD060401
  734.     GOSUB 465                                                        ' DD070103
  735. '   IF (ZEightBit AND _                                              ' Mpl090201
  736. '      ZAutoDownDesired) OR _                                        ' Mpl090201
  737. '      ZAskID THEN _                                                 ' Mpl090201
  738. '      CALL TestUser                                                 ' Mpl090201
  739.     Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  740.     IF ZMaxNodes > 1 THEN                                            ' JM092401/RCHAT
  741.        CALL LogNewForChat (ZMaxNodes)                                ' JM092401/RCHAT
  742.     END IF                                                           ' JM092401/RCHAT
  743. '   CALL SkipLine (1)                                                ' DD090201
  744.     Attempts = 0
  745.     ZWasZ$ = ZActiveUserName$ + _
  746.             " on at " + _
  747.             ZCurDate$ + _
  748.             ", " + _
  749.             ZTime$ + _
  750.             " from " + _
  751.             ZWasCI$ + _
  752.             ", " + Temp$                                             ' DD090201
  753.      ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
  754. '
  755. ' *  ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
  756. '
  757.      WasX$ = CHR$(123) + _          '{                               ' DD021301
  758.           HashValue$ + _
  759.           CHR$(47) + _              '/                               ' DD021301
  760.           ZIndivValue$ + _
  761.           CHR$(125)                 '}                               ' DD021301
  762.      IF LEN(ZWasZ$) < 65 THEN _
  763.         WasX = 65 _
  764.      ELSE WasX = LEN(ZWasZ$) + 2
  765.      MID$(ZWasNG$,WasX) = WasX$
  766.      CALL Printit (SPACE$(2) + ZWasZ$)                               ' DD021301
  767.      IF ZNewUser THEN _
  768.         CALL UpdtCalr ("NEWUSER",1)                                  ' DD062502
  769. '       CALL Muzak (2)                                               ' DD062502
  770. '
  771. ' *****  NOTIFY CALLER IF ABLE TO "AUTODOWN"  ****
  772. '
  773. '   IF ZEightBit AND ZAutoDownYes THEN _                             ' Mpl090201
  774. '      ZOutTxt$ = CHR$(9) + _                                        ' Mpl090201
  775. '           ZReturnLineFeed$ + _                                     ' Mpl090201
  776. '           "You may use AUTODOWNLOADing!" : _                       ' Mpl090201
  777. '      CALL RingCaller : _                                           ' Mpl090201
  778. '      CALL DelayTime(4)                                             ' Mpl090201
  779. * REPLACING old line(s) by new
  780. 815 CALL SetUserUpDn
  781.     IF ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN  _
  782.        ZDLToday! = 0 : _
  783.        ZBytesToday! = 0
  784. * ------[ first line different ]------
  785.     IF ZExitToDoors THEN _                                           '08/17/91 lk fix for sxpr screwing banktime
  786.        ZBankTime = ZTempBankTime                                     '08/17/91 lk fixfor sxpr
  787.     CALL SetGlobalUpDn
  788.     GOSUB 827
  789.     LSET ZUserOption$ = MKI$(ZTimesLoggedOn) + _
  790.                         MID$(ZUserOption$,3)
  791.     LSET ZLastDateTimeOn$ = ZCurDate$ + _
  792.                               SPACE$(1) + _                          ' DD021301
  793.                               ZTimeLoggedOn$
  794.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  795.     IF ZStartIndiv > 0 THEN _
  796.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  797.     LSET ZUserName$ = ZOrigUserName$
  798.     IF (NOT ZExitToDoors) AND NOT (ZOrigMsgFile$ = ZActiveMessageFile$ AND ZSubBoard) THEN _
  799.        CALL AutoPage
  800.     IF NOT ZSubBoard THEN _
  801.        ZOrigUserFileIndex = ZUserFileIndex
  802.     IF NOT ZConfMode THEN _
  803.        IF ZOrigDateTimeOn$ = "" THEN _
  804.           ZOrigDateTimeOn$ = ZLastDateTimeOn$ : _
  805.           ZOrigTimeLoggedOn$ = ZTimeLoggedOn$ _
  806.        ELSE ZLastDateTimeOn$ = ZOrigDateTimeOn$ : _
  807.             ZTimeLoggedOn$ = ZOrigTimeLoggedOn$
  808.     GOSUB 9440
  809.     GOSUB 12991
  810.     GOSUB 41000
  811.     CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  812.     IF ZTurboLogon THEN _                                            ' Mpl090201
  813.        GOTO 819
  814.     IF SkipWelcomeScreen AND _
  815.        (ZUserSecLevel >= ZAllowCallerTurbo) THEN _
  816.        GOTO 818                                                      ' DD062304
  817.     IF NOT SameUser OR _                                             ' DD032204
  818.        ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN  _            ' DD032204
  819.        CALL DisplayWelcome : _                                       ' DD011601
  820.        GOSUB 1791                                                    ' DD011601
  821.     ZBypassTimeCheck = ZFalse
  822.     ZStopInterrupts = ZTrue
  823. '816 IF NOT ZNewUser THEN _                                          ' DD062304
  824. '        CALL QuickTPut1 ("Times on:" + STR$(ZTimesLoggedOn) + _     ' DD090201
  825. '            "  Last on: " + PrevLastOn$)                            ' DD090201
  826. '817 IF NOT ZRemindFileXfers OR ZNewUser THEN _                      ' DD062304
  827. '      GOTO 818                                                      ' DD052001
  828. '   ZOutTxt$ = "Files Downloaded:" + _                               ' DD090606
  829. '        STR$(ZDnlds) + _                                            ' DD090606
  830. '        "  Uploaded:" + _                                           ' DD090606
  831. '        STR$(ZUplds)                                                ' DD090606
  832. '   GOSUB 12977                                                      ' DD090606
  833. '   CALL CheckRatio (ZFalse)                                         ' DD090606
  834. * DELETING old line(s)
  835. 816
  836. 817
  837. * REPLACING old line(s) by new
  838. 819 CALL Trim (ZWasCI$)
  839.     IF (ZNodeRecIndex < 2) THEN _
  840.        GOTO 821
  841.     GOSUB 4910
  842.     GOSUB 24000
  843.     GET 1,ZNodeRecIndex
  844.     MID$(ZMsgRec$,1,31) = ZActiveUserName$ + _
  845.                                  SPACE$(31 - LEN(ZActiveUserName$))
  846.     MID$(ZMsgRec$,40,2) = " 0"
  847.     MID$(ZMsgRec$,44,2) = RIGHT$(STR$(-ZBPS),2)
  848.     MID$(ZMsgRec$,55,2) = " 0"
  849. * ------[ first line different ]------
  850.     MID$(ZMsgRec$,57,1) = CHR$(65)                                   ' DD021301
  851.     MID$(ZMsgRec$,60,5) = ZTalkToModemAt$ + _
  852.                                  SPACE$(5 - LEN(ZTalkToModemAt$))
  853.     MID$(ZMsgRec$,72,2) = " 0"
  854.     MID$(ZMsgRec$,79,5) = ZCBaud$ + SPACE$(5 - LEN(ZCBaud$))         ' KG012001
  855.     MID$(ZMsgRec$,93,24) = ZWasCI$ + _
  856.                                   SPACE$(24)
  857.     PUT 1,ZNodeRecIndex
  858.     GOSUB 12985
  859. * REPLACING old line(s) by new
  860. 821 IF ZExitToDoors THEN _
  861.        IF ZTransferFunction = 3 THEN _
  862.           ZNewUser = ZTrue : _
  863. * ------[ first line different ]------
  864.           ZTurboLogon = ZFalse : _                                   ' Mpl090201
  865.           SameUser = ZFalse : _
  866.           ZTransferFunction = 0 : _
  867.           GOTO 832 _
  868.        ELSE GOTO 832
  869.     GOSUB 1241
  870.     IF (ZSubBoard AND (ZOrigMsgFile$ = ZActiveMessageFile$)) _
  871.        OR ((ZUserSecLevel > ZMaxRegSec) AND (NOT ZNewUser)) THEN _
  872.        GOTO 832
  873.     ZWasZ$ = ZRegProgram$
  874.     ZTransferFunction = 3
  875.     CALL DoorExit (ZFalse)
  876.     ZTransferFunction = 0
  877.     GOTO 832
  878. '
  879. ' ****  ESC PRESSED ON LOCAL CONSOLE ENTERS HERE   ***
  880. '
  881. * REPLACING old line(s) by new
  882. * ------[ first line different ]------
  883. 822 LOCATE ZLocalPageLength-1,1,1                                    ' DD021903/VGA
  884.     CALL TakeOffHook
  885.     ZLocalUser = ZTrue
  886.     ZSnoop = ZTrue
  887.     ZBPS = -7
  888.     ZCBPS = -7                                                       ' DD070201
  889.     CALL CommInfo
  890. '   CALL Muzak (2)                                                   ' DD062502
  891.     IF NOT ZEscapeInsecure THEN _
  892.        GOTO 345
  893.     ZActiveUserName$ = ZSecretName$
  894.     ZFirstName$ = ZSysopPswd1$
  895.     ZLastName$ = ZSysopPswd2$
  896.     ZUserLogonTime! = TIMER
  897.     ZTimeLoggedOn$ = TIME$
  898.     ZLinesPrinted = 0
  899.     ZSysop = ZTrue
  900.     GOTO 457
  901. * REPLACING old line(s) by new
  902. * ------[ first line different ]------
  903. 827 IF ZLastMsgRead > ZHighMsgNumber THEN _                          ' DD040707
  904.        ZLastMsgRead = ZHighMsgNumber : _                             ' DD040707
  905.     IF ZLastMsgRead < LowMsgNumber THEN _                            ' DD110401
  906.        ZLastMsgRead = LowMsgNumber : _                               ' DD110401
  907.     CALL DefaultU                                                    ' DD012601
  908.     RETURN
  909. * REPLACING old line(s) by new
  910. * ------[ first line different ]------
  911. 832 IF ZTurboLogon OR ZExitToDoors OR ZSubBoard THEN _               ' DD010201
  912.        GOTO 833                                                      ' DD010201
  913.     TempStr$ = STR$(ZUserSecLevel)                                   ' DD010209
  914.     CALL Trim (TempStr$)                                             ' DD010209
  915.     ExpFile$ = ZHelpPath$ + "RGXP" + TempStr$ + ZHelpExtension$      ' DD010209
  916.     CALL FindIt (ExpFile$)                                           ' DD010209
  917.     IF NOT ZOK THEN _                                                ' DD010209
  918.        ExpFile$ = ZHelpPath$ + "RGXPIRE" + ZHelpExtension$           ' DD010209
  919.     IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  920.        IF ZRegDaysRemaining <= ZDaysToWarn AND _
  921.           ZRegDaysRemaining > 0 AND ZUserSecLevel > ZTempExpiredSec THEN _
  922.              CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Registration " + _    ' DD082302
  923.                   "EXPIRES in" + ZFGE$ + _                           ' DD082302
  924.                   STR$(ZRegDaysRemaining) + ZFGF$ + _                ' DD082302
  925.                   " days!" + ZEmphasizeOff$) : _                     ' DD082302
  926.              CALL BufFile(ExpFile$,WasX) : _                         ' DD010209
  927.              IF NOT ZOK THEN CALL DelayTime (5)
  928. * INSERTING new line(s)
  929. 833 IF ZReselectAll THEN                                             ' DD070103
  930.        CALL ReselectAll                                              ' DD070103
  931.        GOTO 834                                                      ' DD070103
  932.     END IF                                                           ' DD070103
  933.     IF ZReselectGraphics THEN                                        ' DD070105
  934.        CALL ReselectGraphics                                         ' DD070105
  935.     END IF                                                           ' DD070105
  936.     IF ZReselectProto THEN                                           ' DD070905
  937.        CALL QuickTPut (ZCRLf$ + ZFG2$ + _                            ' DD070905
  938.                       "You must re-select your " + _                 ' DD070905
  939.                       ZFGB$ + "File Transfer Protocol!" + _          ' DD070905
  940.                       ZEmphasizeOff$,2)                              ' DD070905
  941.                                                                      ' DD070905
  942.        GOSUB 42800                                                   ' DD070905
  943.        ZReselectProto = ZFalse                                       ' DD071102
  944.     END IF                                                           ' DD070905
  945. 834 IF (NOT ZReqQuesAnswered) AND _                                  ' DD070103
  946.        ZReqQues$ <> "" THEN _
  947.          ZFileName$ = ZReqQues$ : _
  948.          GOSUB 11520 : _
  949.          IF ZOK THEN _
  950.             ZReqQuesAnswered = ZTrue
  951. * REPLACING old line(s) by new
  952. 842 CALL SetSessionTime
  953.     ZSysop = (ZUserSecLevel >= ZSysopSecLevel)
  954.     GOSUB 12987
  955.     IF ZSubBoard THEN _
  956.        GOTO 850
  957.     GOSUB 12986
  958.     GOSUB 23000
  959. * ------[ first line different ]------
  960.     ZCallsToDate! = ZCallsToDate! + 1 + (ZSysop OR ZHasDoored)       ' DD040705
  961.     GOSUB 24000
  962.     GOSUB 12985
  963. * REPLACING old line(s) by new
  964. 850 ZSubParm = 2
  965.     CALL Line25
  966. * ------[ first line different ]------
  967. '   CALL SkipLine (1)                                                ' DD090201
  968.     IF ZTurboLogon OR ZExitToDoors OR ZSubBoard THEN _               ' DD081901
  969.        GOTO 900                                                      ' DD082201
  970.     IF NOT ZBulletinsOptional OR ZCheckBulletLogon THEN              ' DD070501
  971.        ZStopInterrupts = ZFalse                                      ' DD070501
  972.        ZAnsIndex = 0                                                 ' DD070501
  973.        ZBulletinSave$ = ZBulletinMenu$                               ' DD070501
  974.        GOSUB 9760                                                    ' DD070501
  975.        GOTO 851                                                      ' DD070501
  976.     END IF                                                           ' DD070501
  977. * INSERTING new line(s)
  978. 851 IF ZNewUser OR NOT ZNewFilesCheck THEN _                         ' DD070501
  979.        GOTO 852                                                      ' DGS050501/DS
  980.     CALL SkipLine (1)                                                ' DD050801
  981.     DO                                                               ' DD050801
  982.        ZOutTxt$ = ZFGB$ + "Check for NEW FILES" + _                  ' DD050801
  983.                   ZEmphasizeOff$ + ZYesPrompt$                       ' DD050801
  984.        GOSUB 12999                                                   ' DD050801
  985.        CALL AllCaps (ZUserIn$)                                       ' DD050801
  986.     LOOP UNTIL ZWasQ = 0 OR INSTR("YN",ZUserIn$) <> 0                ' DD050801
  987.     IF ZUserIn$ = "N" THEN                                           ' DD050801
  988.        GOTO 852                                                      ' DD050801
  989.     END IF                                                           ' DD050801
  990.     CALL LoadNew (ZMsgPtr())                                         ' DGS050501/DS
  991.     CALL CountNewFiles (ZWasLM$,ZMsgPtr(),LastNew,ListDateSearch$)   ' DD052005
  992.     IF LastNew > 0 THEN                                              ' DD050801
  993.        IF ZFMSDirectory$ <> "" THEN _                                ' DD050801
  994.           ZOutTxt$ = ZFG2$ + _                                       ' DD052005
  995.                ZFGB$ + LTRIM$(STR$(LastNew)) + ZFGE$ + " NEW" + _    ' DD050801
  996.                ZFG2$ + " file(s) since last checked!" + _            ' DD050801
  997.                ZEmphasizeOff$ : _                                    ' DD050801
  998.           GOSUB 12977 _                                              ' DD050801
  999.        ELSE GOTO 852
  1000.     ELSE                                                             ' DGS050501/DS
  1001.        ZOutTxt$ = ZFG2$ + "No New Files!" + ZEmphasizeOff$           ' DD050801
  1002.        GOSUB 12977
  1003.        GOTO 852                                                      ' DGS050501/DS
  1004.     END IF
  1005.     IF ZNewUser OR LastNew < 1 OR NOT ZNewFilesCheck THEN _
  1006.        GOTO 852
  1007.     WasL = LEN(ZDnldDrives$)
  1008.     SecNum = 19
  1009.     IF (NOT ZSkipFilesLogon) AND _
  1010.        ZUserSecLevel >= ZOptSec(SecNum) THEN _
  1011.           ZOutTxt$ = ZFG6$ + "List new files to download?" + _       ' DD082301
  1012.              ZEmphasizeOff$ + ZYesPrompt$ : _                        ' DD071601
  1013.           GOSUB 12999 : _
  1014.           IF NOT ZNo THEN _                                          ' DD061902
  1015.              ZLastIndex = 3 : _
  1016.              ZAnsIndex = 1 : _
  1017.              ZWasQ = 3 : _
  1018.              ZUserIn$(2) = ListDateSearch$ : _                       ' DD050303
  1019.              ZWasY$ = ZUserIn$(3) : _
  1020.              CALL BreakFileName (ZFMSDirectory$,DR$,ZWasY$,WasX$,ZFalse) : _
  1021.              ZUserIn$(3) = ZWasY$ : _
  1022.              TimeLockExempt = ZTrue : _
  1023.              GOSUB 20185 : _
  1024.              GOSUB 47000 : _                                         ' DD061301
  1025.              ZLastIndex = 0 : _
  1026.              TimeLockExempt = ZFalse
  1027. * REPLACING old line(s) by new
  1028. 856 IF NOT ZCheckBulletLogon THEN _
  1029.        ZAnsIndex = 0 : _
  1030.        GOSUB 9760 : _
  1031.        GOTO 900
  1032.     CALL SkipLine (1)
  1033. * ------[ first line different ]------
  1034.     ZOutTxt$ = ZFG2$ + "Skip the bulletins?" + ZNoPrompt$ + _        ' DD082401
  1035.                ZEmphasizeOff$                                        ' DD071601
  1036.     GOSUB 12999
  1037.     IF ZYes THEN _
  1038.        GOTO 900
  1039. * REPLACING old line(s) by new
  1040. 900 ZNewUser = ZFalse
  1041. * ------[ first line different ]------
  1042.     ActionFlag = (ZLogonMailLevel$ = CHR$(83))       'S              ' DD021301
  1043.     LogonMailNew = (ZLogonMailLevel$ = CHR$(78))     'N              ' DD021301
  1044.     GOSUB 1895
  1045.     IF ZActiveUserName$ = "SYSOP" AND NOT ZSysop THEN _
  1046.        ZActiveUserName$ = ZOrigUserName$
  1047.     LogonMailNew = ZFalse
  1048.     ZSubParm = 2
  1049.     CALL Line25
  1050.     ZSection$ = SPACE$(4)                                            ' DD021301
  1051.     ZOutTxt$ = ""
  1052.     IF (NOT ZConfMode) AND (NOT ZSubBoard) AND _                     ' DD122602
  1053.        NOT ZTurboLogon AND NOT ZSkipMailCheck THEN _
  1054.        MailCheckConfirm = ZTrue : _
  1055.        LinkNew = ZTrue : _
  1056.        GOSUB 5800
  1057.     MailCheckConfirm = ZFalse
  1058.     ZWasQ! = ZMinsInDoors * 60
  1059.     ZMinsInDoors = 0
  1060. * REPLACING old line(s) by new
  1061. 902 IF LogonPswdFailed THEN _
  1062.        ZExitToDoors = ZFalse : _
  1063.        CALL UpdateU (ZTrue) : _
  1064.        ZLogonErrorIndex = 4 : _
  1065.        GOTO 10620
  1066.     IF ZExitToDoors and ZDooredTo$ <> "" THEN _
  1067. * ------[ first line different ]------
  1068.        CALL Graphic (ZOutTxt$(7)) : _                                ' DD022102
  1069.        CALL BufFile (ZOutTxt$(7),WasX)
  1070.     ZDoorCarrierDropOK$ = CHR$(78)                                   ' DD042401/DOORCARRIERDROP
  1071.     ZExitToDoors = ZFalse
  1072.     IF ZHomeConf$ = "" THEN _
  1073.        GOSUB 2350
  1074.     IF NOT ZPrivateDoor THEN _
  1075.        GOTO 955
  1076.     GOSUB 20165
  1077.     CALL SetSection
  1078.     ZPrivateDoor = ZFalse
  1079.     GOTO 1205
  1080. * REPLACING old line(s) by new
  1081. * ------[ first line different ]------
  1082. 955 IF NOT ZTurboLogon THEN _
  1083.        IF NOT ZConfMode THEN _                                       ' DD082301
  1084.              GOSUB 4850                                              ' DD091204
  1085.     IF NOT ZTurboLogon THEN _                                        ' DD090401
  1086.        IF STR$(ZLastMsgRead) < STR$(ZHighMsgNumber) AND _            ' DD040707
  1087.           ZUserSecLevel => MsgSec THEN _                             'Pe 01/29/89
  1088.           GOSUB 4275                                                 'PEASKMAIL
  1089.     SkipMain = ZFalse
  1090.     ZTurboLogon = ZFalse
  1091. '
  1092. ' *                           COMMAND PROCESSING
  1093. '
  1094. * REPLACING old line(s) by new
  1095. 1205 IF ZSubParm < 0 THEN _
  1096.         GOTO 202
  1097.      ZSubParm = 1
  1098.      ZStopInterrupts = ZFalse
  1099.      ZWasQ = 0
  1100.      IF (NOT ConfMailJoin) AND (ZHomeConf$ = "" OR ZHomeConf$ = "MAIN") THEN _
  1101.         GOTO 1209
  1102. * ------[ first line different ]------
  1103.      ZTurboLogon = LinkNext OR (NOT ConfMailJoin)                    ' Mpl090201
  1104.      ConfMailJoin = ZFalse
  1105.      ZFF = 8
  1106.      IF ZHomeConf$ = "MAIN" THEN _
  1107.         ZHomeConf$ = CHR$(77)                   'M                   ' DD021301
  1108.      ZUserIn$(ZAnsIndex) = ZHomeConf$
  1109.      IF LinkNext THEN _
  1110.         ZUserIn$(ZAnsIndex + 1) = CHR$(82) : _  'R                   ' DD021301
  1111.         ZLastIndex = ZAnsIndex + 1
  1112.      ZLastIndex = -ZLastIndex*(ZLastIndex > ZAnsIndex)-ZAnsIndex*(ZLastIndex <= ZAnsIndex)
  1113.      ZAnsIndex = ZAnsIndex - 1
  1114.      ZHomeConf$ = ""
  1115.      ZWasQ = ZLastIndex
  1116.      ZStoreParseAt = 1
  1117.      ZLastCommand$ = SPACE$(2)                                       ' DD021301
  1118.      GOTO 1240
  1119. * REPLACING old line(s) by new
  1120. 1210 GOSUB 41000
  1121.      IF ZAnsIndex < ZLastIndex THEN _
  1122.         GOTO 1232
  1123. * ------[ first line different ]------
  1124. '    CALL Talk (10,ZOutTxt$)                                         ' DD060401
  1125.      CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1126.      IF ZExpertUser THEN _
  1127.         GOTO 1230
  1128. * REPLACING old line(s) by new
  1129. 1212 ZLinesPrinted = -ZMenusCanPause * ZLinesPrinted
  1130.      IF ZCustomPUI THEN _
  1131.         GOTO 1230
  1132.      IF ZSubSection < ZBegFile THEN _
  1133. * ------[ first line different ]------
  1134.         IF ZUserSecLevel >= ZSysopMenuSecLevel AND ZWasGR <> 4 THEN _ ' DD062001
  1135.            ZFileName$ = ZMenu$(1) : _
  1136.            GOSUB 43025
  1137.      ZFileName$ = ZMenu$(ZMenuIndex)
  1138.      ZDeleteInvalid = ZTrue
  1139.      ZStopInterrupts = ZTrue                                         ' DD092101
  1140.      GOSUB 1790
  1141.      ZDeleteInvalid = ZFalse
  1142.      ZStopInterrupts = ZFalse                                        ' DD092101
  1143. * REPLACING old line(s) by new
  1144. 1230 CALL Line25
  1145. * ------[ first line different ]------
  1146.      IF ZSysopNext THEN                                              ' DD040602
  1147.         CALL SysopNextMsg                                            ' DD040602
  1148.      END IF                                                          ' DD040602
  1149.      IF ZLogOffPlease THEN                                           ' DD041802
  1150.         CALL LogOffPlease                                            ' DD041802
  1151.      END IF                                                          ' DD041802
  1152.      CALL CBCheck(WillChat)                                          ' JM092401/RCHAT
  1153.      IF WillChat THEN GOTO 1600                                      ' JM092401/RCHAT
  1154.      CALL SaveUserActivity(CHR$(73), ZNodeRecIndex, ZFalse)  'I      ' DD021301
  1155. * REPLACING old line(s) by new
  1156. * ------[ first line different ]------
  1157. 1232 MID$(ZLastCommand$,2,1) = SPACE$(1)                             ' DD021301
  1158.      IF ZCustomPUI THEN _
  1159.         CALL UserFace : _
  1160.         GOSUB 12997 : _
  1161.         GOTO 1235
  1162.      ZOutTxt$ = ZFGE$ + ZConfName$ + + ZFG2$ + CHR$(58) + _          ' DD021301
  1163.           ZEmphasizeOff$                                             ' DD082401
  1164.         GOSUB 12978                                                  'Pe 07/18/91
  1165. '    CALL Talk (65,ZConfName$)                                       ' DD060401
  1166.      CALL DispTimeRemain (MinsRemaining)                             'Pe 02/03/90
  1167. '    CALL Talk (ZMenuIndex, ZOutTxt$)                                ' DD060401
  1168.      ZOutTxt$ = ZFGF$ + ZCmdPrompt$ + ZEmphasizeOff$                 ' DD082401
  1169.      GOSUB 12930
  1170.      IF ZWasQ = 0 THEN _
  1171.         GOTO 1230
  1172. * REPLACING old line(s) by new
  1173. 1235 ZWasZ$ = ZUserIn$(ZAnsIndex)
  1174.      IF ZWasZ$ = SPACE$(LEN(ZWasZ$)) THEN _
  1175.         GOTO 1230
  1176.      CALL SearchCmd (ZSubSection,ZFF)
  1177.      IF ZFF > 0 THEN _
  1178. * ------[ first line different ]------
  1179.         GOTO 1240                                                    ' DD060401
  1180.      IF ZWasQ > 0 THEN _
  1181.         ZOutTxt$ = ZFGA$ + "Unknown command " + ZFGE$ + _            ' DD082302
  1182.              CHR$(60) + ZFGB$ + ZWasZ$ + ZFGE$ + CHR$(62) + _        ' DD021301
  1183.              ZEmphasizeOff$ : _                                      ' DD082302
  1184.         GOSUB 12979 'DD
  1185.      CALL FlushKeys
  1186.      GOTO 1230
  1187. '1239 CALL Talk (65,"OPTION "+ZWasZ$+" SELECTED")                    ' DD060401
  1188. * DELETING old line(s)
  1189. 1239
  1190. * REPLACING old line(s) by new
  1191. 1240 IF ZUserSecLevel < ZOptSec(ZFF) THEN _
  1192.        ZViolation$ = ZSection$ + _
  1193. * ------[ first line different ]------
  1194.                      SPACE$(1) + _                                   ' DD021301
  1195.                      ZWasZ$ : _
  1196.         GOSUB 1380 : _
  1197.         GOTO 1205
  1198. '    IF ZFF > 39 THEN _                                              ' Mpl090201
  1199. '       ZDirExtension$ = ZLibDirExtension$ _                         ' Mpl090201
  1200. '    ELSE ZDirExtension$ = ZMainDirExtension$                        ' Mpl090201
  1201.         ZDirExtension$ = ZMainDirExtension$
  1202.         ON ZFF GOSUB _
  1203.                  1400, _      ' 1  A)nswer questionnaire 1
  1204.                  9700, _      ' 2  B)ulletins
  1205.                  1800, _      ' 3  C)omments
  1206.                  10970, _     ' 4  D)oor (exit to)
  1207.                  2000, _      ' 5  E)nter a message
  1208.                  1275, _      ' 6  F)ile system (exit to)
  1209.                  1760, _      ' 7  I)nitial welcome redisplayed
  1210.                  5300, _      ' 8  J)oin a conference
  1211.                  3900, _      ' 9  K)ill a message
  1212.                  4700, _      '10  O)perator page
  1213.                  1892, _      '11  P)ersonal mail (look for)         ' Mpl090201
  1214.                  4330, _      '12  R)ead messages
  1215.                  4340, _      '13  S)can message headers
  1216.                  4320, _      '14  T)opic msg scan
  1217.                  1285, _      '15  U)tilities (exit to)
  1218.                  5800, _      '16  V)iew a conference
  1219.                  9800, _      '17  W)ho's on other nodes displayed
  1220.                 10570, _      '18  G)oodbye                          ' DD092402/GOODBYE
  1221.                 20160, _      '19  D)ownload
  1222.                 10570, _      '20  G)oodbye
  1223.                 20155, _      '21  L)ist
  1224.                 20185, _      '22  N)ew
  1225.                 20180, _      '23  P)ersonal files
  1226.                 20175, _      '24  S)can
  1227.                 20170, _      '25  U)pload
  1228.                 20140, _      '26  V)iew ARC Contents
  1229.                  5500, _      '27  B)ank Time
  1230.                  9100, _      '28  W)ho Uploaded What                ' DD090201
  1231.                  42850, _     '29  E)cho selection
  1232.                  42800, _     '30  F)ile transfer protocol
  1233.                  43000, _     '31  G)raphics
  1234.                  5200, _      '32  L)ines per page
  1235.                  10925, _     '33  M)essage margin
  1236.                  5110, _      '34  P)ersonal Info. Change
  1237.                  5400, _      '35  R)eview preferences
  1238.                  4850, _      '36  S)tatistics displayed
  1239.                  1500, _      '37  T)oggle
  1240.                  10090, _     '38  U)serlog displayed 12
  1241.                  30000, _     '39  A)rchive a Library disk 1         ' Mpl090201
  1242.                  30000, _     '40  C)hange a Library disk            ' Mpl090201
  1243.                  30000, _     '41  D)ownload Library files           ' Mpl090201
  1244.                  10570, _     '42  G)oodbye
  1245.                  30000, _     '43  L)ist a Library directory         ' Mpl090201
  1246.                  30000, _     '44  S)can a Library disk directory    ' Mpl090201
  1247.                  20140, _     '45  V)iew arc contents 7
  1248.                  1325, _      '46  H)elp 1
  1249.                  1330, _      '47  ?)help
  1250.                  1250, _      '48  Q)uit
  1251.                  4240, _      '49  X)expert toggle on/off 4
  1252.                  10070, _     '50  1) List comments file 1
  1253.                  10090, _     '51  2) List callers file
  1254.                  10390, _     '52  3) Recover a message
  1255.                  10530, _     '53  4) Erase comments
  1256.                  11000, _     '54  5) User file maintenance
  1257.                   4130, _     '55  6) Toggle page bell on/off
  1258.                  10930, _     '56  7) Exit to DOS 2.x or above 7     ' DD020602/SFILE
  1259.                  10950        '57  8) Sysop FMS Maintenance          ' DD020602/SFILE
  1260.      GOTO 1205
  1261. '
  1262. ' ***       NEWS file scan        ***
  1263. '
  1264. * REPLACING old line(s) by new
  1265. 1242 NewsDate# = 0
  1266. * ------[ first line different ]------
  1267.      SameUser = ZFalse                                               ' DD012501
  1268.      GOSUB 1245                                                      ' DD012501
  1269.      GOTO 1244                                                       ' DD012501
  1270. * REPLACING old line(s) by new
  1271. * ------[ first line different ]------
  1272. 1243 GOSUB 1245                                                      ' DD012501
  1273.      IF WasZ <> 0 THEN _
  1274.         RETURN
  1275.      FDate# = WasD + (100 * ZMsgPtr) + (10000# * (WasY + 1980))
  1276.      IF NewsDate# > FDate# THEN _
  1277.         RETURN
  1278.      IF ZTurboLogon THEN _                                           ' Mpl090201
  1279.         CALL SkipLine (1) : _                                        ' DD031302
  1280.         CALL QuickTPut1 (ZFGB$ + "NEWS " + ZFG3$ + _                 ' DD031302
  1281.              "file updated since last call" + ZEmphasizeOff$) : _    ' DD082302
  1282.         RETURN
  1283. * INSERTING new line(s)
  1284. 1244 IF NOT SameUser THEN _                                          ' DD092601
  1285.         ZStopInterrupts = NOT ZNewsInterruptable : _                 ' DD051001
  1286.         ZBypassTimeCheck = ZTrue : _                                 ' DD012501
  1287.         ZDisplayAsUnit = ZTrue : _                                   ' DD092601
  1288.         GOSUB 1790 : _                                               ' DD092601
  1289.         ZDisplayAsUnit = ZFalse : _                                  ' DD092601
  1290.         ZBypassTimeCheck = ZFalse                                    ' DD092601
  1291.      ZStopInterrupts = ZFalse
  1292.      WasZ = 0
  1293.      RETURN                                                          ' LP01NEWS
  1294. 1245 ZFileName$ = ZNewsFileName$                                     ' DD012501
  1295.      CALL RBBSFind (ZFileName$,WasZ,WasY,ZMsgPtr,WasD)               ' DD012501
  1296.      RETURN                                                          ' DD012501
  1297. '
  1298. ' ****           QUIT COMMAND (GLOBAL)              ***
  1299. '
  1300. * REPLACING old line(s) by new
  1301. 1250 IF ZExpertUser THEN _
  1302.         ZOutTxt$ = ZQuitPromptExpert$ _
  1303.      ELSE ZOutTxt$ = ZQuitPromptNovice$
  1304.      ZStackC = ZTrue
  1305.      GOSUB 12930
  1306.      IF ZWasQ = 0 THEN _
  1307. * ------[ first line different ]------
  1308.         ZUserIn$(ZAnsIndex) = CHR$(77)              'M               ' DD021301
  1309.      IF ZUserIn$(ZAnsIndex) = CHR$(77) AND ZConfName$ <> "MAIN" THEN _ ' DD021301
  1310.         ZUserIn$(ZAnsIndex) = CHR$(67)              'C               ' DD021301
  1311.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1312.      CALL AllCaps (ZWasZ$)
  1313.      IF ZWasZ$ = CHR$(67) THEN _                                     ' DD021301
  1314.         ZWasZ$ = CHR$(77) : _                                        ' DD021301
  1315.         GOTO 5323
  1316.      IF ZWasZ$ <> SPACE$(LEN(ZWasZ$)) THEN _
  1317.         ON INSTR(ZQuitList$,ZWasZ$) GOTO 1275,1280,1285,10570,1283
  1318.      GOTO 1250
  1319. * REPLACING old line(s) by new
  1320. 1280 ZMenuIndex = 2
  1321.      GOTO 1295
  1322. * ------[ first line different ]------
  1323. '1283 ZMenuIndex = 6                                                 ' DD062304
  1324. '     ZActiveFMSDir$ = ""                                            ' Mpl090201
  1325. '     GOTO 1295                                                      ' Mpl090201
  1326. * REPLACING old line(s) by new
  1327. * ------[ first line different ]------
  1328. 1283  ZWasQ = 0                                                      ' DD062304
  1329.       GOTO 1250
  1330. * REPLACING old line(s) by new
  1331. * ------[ first line different ]------
  1332. 1295 ZPrevPui$ = ""                                                  'Pe 07/19/92
  1333.      CALL SetSection
  1334.      RETURN
  1335. * REPLACING old line(s) by new
  1336. * ------[ first line different ]------
  1337. 1300 CALL QuickTPut1 (ZFG2$ + "Message base " + _                    ' DD082302
  1338.           ZFGE$ + ZConfName$ + ZEmphasizeOff$)                       ' DD082302
  1339.      RETURN
  1340. '
  1341. ' **** COMMON LOCAL DISPLAY PRINT  ***
  1342. '
  1343. * REPLACING old line(s) by new
  1344. * ------[ first line different ]------
  1345. 1397 ZOutTxt$ = ZFGF$ + ZBG4$ + "Sorry, " + _                        ' DD082401
  1346.           ZFirstName$ + _
  1347.           ", " + _
  1348.           ZOutTxt$ + _                                               ' DD082401
  1349.           ZEmphasizeOff$                                             ' DD082401
  1350.      GOTO 12975
  1351. '
  1352. ' ***  A - answer questionnaire
  1353. '
  1354. * REPLACING old line(s) by new
  1355. 1400 WasA1$ = ZAnsMenu$
  1356. * ------[ first line different ]------
  1357. '    CALL Talk (13,ZOutTxt$)                                         ' DD060401
  1358.      ReturnToPrompt = (ZWasQ > 1)
  1359. * REPLACING old line(s) by new
  1360. 1401 ZStackC = ZTrue
  1361. * ------[ first line different ]------
  1362.      CALL SubMenu ("Which Questionnaires, L)ist" + ZPressEnterExpert$, _ ' UG070501
  1363.         WasA1$,ZQuesPath$,".DEF","",ZTrue,ZFalse,ZTrue,"",WasX,ZTrue)
  1364.      IF ZWasQ = 0 THEN _
  1365.         RETURN
  1366.      IF ZSubParm = -1 THEN _
  1367.         RETURN 10595
  1368.      QuestHold$ = ZWasZ$
  1369.      GOSUB 11520
  1370.      CLOSE 2
  1371.      CALL UpdtCalr (QuestHold$ + " questionnaire " + _
  1372.         MID$("answeredaborted",1 - 8 * ZQuestAborted,8),2)
  1373.      CALL SkipLine (1)                                               ' UG070501
  1374.      IF ReturnToPrompt THEN _
  1375.         RETURN
  1376.      GOTO 1401
  1377. '
  1378. ' *****    Toggle COMMAND (UTILITIES)     ****
  1379. '
  1380. * REPLACING old line(s) by new
  1381. 1500 CALL CmndToggle
  1382.      RETURN
  1383. '
  1384. * ------[ first line different ]------
  1385. * INSERTING new line(s)
  1386. 1600 CALL CBTrueChat (ZMaxNodes)                                     ' JM092401/RCHAT
  1387.      GOSUB 5344                                                      ' JM092401/RCHAT
  1388.      GOTO 1205                                                       ' JM092401/RCHAT
  1389. '
  1390. ' ****  I - COMMAND FROM MAIN MENU (DISPLAY INITIAL WELCOME)  ***
  1391. '
  1392. * REPLACING old line(s) by new
  1393. * ------[ first line different ]------
  1394. 1760 CALL InitialMenus                                               ' DD090901
  1395.      GOTO 1791
  1396. * REPLACING old line(s) by new
  1397. 1790 CALL Graphic (ZFileName$)
  1398.      CALL BufFile (ZFileName$,WasX)
  1399. * ------[ first line different ]------
  1400. * INSERTING new line(s)
  1401. 1791 CALL Carrier
  1402.      IF ZSubParm = -1 THEN _
  1403.         RETURN 10595
  1404.      RETURN
  1405. '
  1406. ' ***  C - COMMAND FROM MAIN MENU (LEAVE COMMENT FOR SYSOP)   **
  1407. '
  1408. * REPLACING old line(s) by new
  1409. * ------[ first line different ]------
  1410. 1801 MsgTo$ = ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$         ' DD021301
  1411.      IF UCASE$(ZSecretName$) = LEFT$(MsgTo$,LEN(MsgTo$)-1) THEN _    ' DD030102
  1412.            MsgTo$ = LEFT$(MsgTo$,LEN(Msgto$)-1)                      ' DD030102
  1413.      Subject$ = OrigSubject$
  1414.      MsgFrom$ = ZActiveUserName$
  1415.      GOSUB 1893
  1416.      IF (ZActiveMessages >= MaxMsgs OR _                             ' DD040706
  1417.         ((NOT ZMsgsCanGrow) AND _
  1418.         (ZNextMsgRec + 5 + ZMaxNodes > HighestMsgRecord)) OR _
  1419.         NOT ZCmntsAsMsgs ) THEN _
  1420.         ZOutTxt$ = ZFGE$ + "Want a Reply?  " + ZFG2$ + "Use " + _    ' DD082401
  1421.                    ZFGD$ + MID$(ZAllOpts$,5,1) + ZFG2$ + _           ' DD082401
  1422.                    " instead.  " + ZFGE$ + "Leave a comment? " + _   ' DD082401
  1423.                    ZEmphasizeOff$ + ZNoPrompt$ : _                   ' DD082401
  1424.         GOSUB 12999 : _
  1425.         IF NOT ZYes THEN _
  1426.            CALL SkipLine (1) : _
  1427.            RETURN _
  1428.         ELSE ZSysopComment = ZTrue : _
  1429.              GOTO 2007
  1430.      ZSysopComment = ZFalse
  1431.      ZSysopMsg = ZTrue
  1432.      ZMsgHeader$ = "Comment"                                         ' UG070501
  1433.      GOTO 2010
  1434. * REPLACING old line(s) by new
  1435. 1850 WasBX = &H3
  1436.      ZWasEN$ = ZCmntsFile$
  1437.      GOSUB 12992
  1438. * ------[ first line different ]------
  1439.      CALL OpenWorkA (2,ZCmntsFile$)                                  ' DD040601
  1440.      ZOutTxt$ = ZFirstName$ + _
  1441.           ", Thanks for Your Comments!"                              ' DD091701
  1442.      GOSUB 12976
  1443.      CALL AMorPM
  1444.      CALL PrintWorkA (2,ZActiveUserName$+SPACE$(1)+ZCurDate$+SPACE$(1)+ZTime$+" Node "+ZNodeID$)' DD040601
  1445.      FOR WasX = 1 TO ZLinesInMsg
  1446.         CALL PrintWorkA (2,ZOutTxt$(WasX))                           ' DD040601
  1447.      NEXT
  1448.      CALL PrintWorkA (2,ZCarriageReturn$)                            ' DD040601
  1449.      CLOSE 2
  1450.      IF ZErrCode <> 0 THEN _
  1451.         ZWasEL = 1850 : _
  1452.         GOTO 13000
  1453.      WasBX = &H3
  1454.      ZWasEN$ = ZCmntsFile$
  1455.      GOSUB 12993
  1456.      CALL UpdtCalr ("Left comment",1)
  1457.      REDIM ZOutTxt$(ZMsgDim)
  1458.      IF ZLogOff$ = CHR$(71) THEN                    'G               ' DD021301
  1459.         GetOut = Ztrue                                               ' Mpl090201
  1460.         Zlogoff$ = CHR$(76)                         'L               ' DD021301
  1461.         GOTO 10562                                                   ' DD090301
  1462.      END IF                                                          ' Pe 02/03/90
  1463.      RETURN
  1464. '
  1465. ' ****  P - COMMAND FROM MAIN MENU (DISPLAY PERSONAL MAIL)  ****
  1466. '
  1467. * INSERTING new line(s)
  1468. 1892 ActionFlag = ZFalse                                             ' DD082605
  1469.      GOTO 1900                                                       ' DD082605
  1470. * REPLACING old line(s) by new
  1471. * ------[ first line different ]------
  1472. 1895 IF ZTurboLogon or ZSkipMailCheck OR ZNonStop THEN _             ' DD031501
  1473.         RETURN
  1474.      CALL SkipLine (1)                                               ' DD031302
  1475.      GOSUB 47100                                                     ' DD070802
  1476.      ZOutTxt$ = ZFGB$ + "Check mail in " + _                         ' DD031302
  1477.                 ZConfName$ + "?" + ZEmphasizeOff$ + ZYesPrompt$      ' DD060101
  1478.      GOSUB 12930                                                     ' KG012301
  1479.      IF ZNo THEN _
  1480.         SkipMain = ZTrue : _
  1481.         RETURN
  1482.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  1483. * REPLACING old line(s) by new
  1484. 1900 GOSUB 5344
  1485.      IF ZPrivateDoor THEN _
  1486.         ActionFlag = ZTrue
  1487.      ZPrevBase$ = ZActiveMessageFile$
  1488.      ShowActive = ZFalse
  1489. * ------[ first line different ]------
  1490.      IF NOT ActionFlag THEN                                          ' DD041303
  1491.         Action$ = "Checking "                                        ' DD041303
  1492.         ShowActive = ZTrue                                           ' DD041303
  1493.      ELSE                                                            ' DD041303
  1494.         Action$ = "Loading "                                         ' DD041303
  1495.      END IF                                                          ' DD041303
  1496.      CALL QuickTPut (ZFG9$ + Action$ + "messages in " + ZFGB$ + _    ' DD041303
  1497.                      ConfFileName$ + ZEmphasizeOff$,0)               ' DD041303
  1498.      WasA1$ = ""
  1499.      MsgCt = 0
  1500.      MsgsFromUser = ZFalse
  1501.      ZActiveMessages = 0                                             ' DD040706
  1502.      MailReported = ActionFlag
  1503.      FirstOld = ZTrue
  1504.      GOSUB 23000
  1505.      MsgRec = FirstMsgRecord
  1506.      MaxMsgs = VAL(MID$(ZMsgRec$,89,7))
  1507.      NumDots = 0
  1508. * REPLACING old line(s) by new
  1509. 1906 IF ActionFlag OR (FirstOld AND NOT MailReported) THEN _
  1510. * ------[ first line different ]------
  1511.         CALL MarkTime (NumDots)                                      ' DD012602
  1512.      CALL Carrier
  1513.      IF ZSubParm = -1 THEN _
  1514.         RETURN 10595
  1515. * REPLACING old line(s) by new
  1516. 1915 GOSUB 4660
  1517.      IF MID$(ZMsgRec$,116,1) <> ZActiveMessage$ THEN _
  1518.         GOTO 1946
  1519.      WasX$ = MID$(ZMsgRec$,121,2)
  1520. * ------[ first line different ]------
  1521.      IF WasX$ <> SPACE$(2) THEN _                                    ' DD021301
  1522.         IF CVI(WasX$) > ZUserSecLevel THEN _
  1523.            GOTO 1945
  1524.      IF ActionFlag THEN _
  1525.         GOTO 1935
  1526. '
  1527. ' ** ALLOW USERS WITH NAMES LONGER THAN 22 CHARS TO RECEIVE PRIVATE MAIL *
  1528. '
  1529. * REPLACING old line(s) by new
  1530. 1925 ZWasA = VAL(MID$(ZMsgRec$,2,4))
  1531.      IF LogonMailNew THEN _
  1532.         IF ZWasA <= ZLastMsgRead THEN _
  1533.            GOTO 1935
  1534.      IF NOT ShowActive THEN _
  1535.         GOTO 1930
  1536.      MailReported = ZTrue
  1537.      FirstNew = (ZWasA > ZLastMsgRead)
  1538.      IF FirstNew THEN _
  1539.         MsgCt = 0 : _
  1540.         CALL SkipLine (1) : _
  1541. * ------[ first line different ]------
  1542.         CALL QuickTPut1 (ZFGF$ + ZBG2$ + "New mail for you " + _     ' DD082302
  1543.              "(* = Private)" + ZEmphasizeOff$) _                     ' DD082302
  1544.      ELSE IF FirstOld THEN _
  1545.              CALL SkipLine (1) : _
  1546.              CALL QuickTPut1 (ZFGF$ + ZBG6$ + "Old mail for you " + _' DD082302
  1547.                   "(* = Private)" + ZEmphasizeOff$) : _              ' DD082302
  1548.              FirstOld = ZFalse
  1549.      ShowActive = NOT FirstNew
  1550. * REPLACING old line(s) by new
  1551. * ------[ first line different ]------
  1552. 1930 CALL QuickTPut (ZFG2$ + LEFT$(ZMsgRec$,5) + ZEmphasizeOff$,0)   ' DD082302
  1553.      MsgCt = MsgCt + 1
  1554.      IF MsgCt MOD 15 = 0 THEN _
  1555.         CALL SkipLine (1) : _
  1556.         CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1557. * REPLACING old line(s) by new
  1558. * ------[ first line different ]------
  1559. 1945 ZActiveMessages = ZActiveMessages + 1                           ' DD040706
  1560.      ZMsgPtr(ZActiveMessages,1) = MsgRec                             ' DD040706
  1561.      ZMsgPtr(ZActiveMessages,2) = VAL(MID$(ZMsgRec$,2,4))            ' DD040706
  1562. * REPLACING old line(s) by new
  1563. * ------[ first line different ]------
  1564. 1950 CALL SkipLine (1)                                               ' DD082605
  1565.      IF NOT MailReported THEN _
  1566.         ZOutTxt$ = ZFGB$ + "Sorry, " + _                             ' DD082302
  1567.              ZFG2$ + ZFirstName$ + _                                 ' DD082302
  1568.              ZFGB$ + ", No " + ZFG2$ + _                             ' DD031801
  1569.              LEFT$("NEW ",-4*LogonMailNew) + _                       ' DD031801
  1570.              ZFGB$ + "mail for you" + _                              ' DD082302
  1571.              ZEmphasizeOff$ : _                                      ' DD082302
  1572.         GOSUB 12975
  1573.      IF MsgsFromUser = 0 OR NOT ZMsgReminder THEN _
  1574.         GOTO 1961
  1575.      IF ActionFlag THEN _
  1576.         GOTO 1961
  1577.      ZOutTxt$ = ZFGF$ + ZBG5$ + "Mail you left:" + ZEmphasizeOff$    ' DD082302
  1578.      GOSUB 12976
  1579. * REPLACING old line(s) by new
  1580. 1960 WasK = 1
  1581.      FOR MsgCt = 1 TO MsgsFromUser
  1582. * ------[ first line different ]------
  1583.         ZOutTxt$ = ZFG2$ + MID$(WasA1$,WasK,5)                       ' DD082302
  1584.         WasK = WasK + 5
  1585.         GOSUB 12978
  1586.         IF MsgCt MOD 15 = 0 THEN _
  1587.            CALL SkipLine (1) : _
  1588.            CALL QuickTPut (ZEmphasizeOff$,0) : _                     ' DD082302
  1589.            CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1590.      NEXT
  1591.      WasA1$ = ""
  1592.      CALL SkipLine (1)
  1593.      IF ZUserSecLevel >= ZOptSec(9) THEN _
  1594.         CALL SkipLine (1) : _                                        ' DD031302
  1595.         CALL QuickTPut1 (ZFGF$ + ZBG4$ + _                           ' DD031302
  1596.              "Please K)ill your old messages" + ZEmphasizeOff$)      ' DD082702                  ' DD082302
  1597.      CALL SmartPause                                                 ' DD091204
  1598. * REPLACING old line(s) by new
  1599. 1961 ActionFlag = ZFalse
  1600. * ------[ first line different ]------
  1601. '    CALL SkipLine (1)                                               ' DD090201
  1602.      RETURN
  1603. '
  1604. ' ****  E - COMMAND FROM MAIN MENU (ENTER MESSAGE)  ***
  1605. '
  1606. * REPLACING old line(s) by new
  1607. * ------[ first line different ]------
  1608. 2001 IF (LowMsgNumber > 0 AND ZActiveMessages >= MaxMsgs) _          ' DD040706
  1609.         OR ZHighMsgNumber >= 9999 THEN _                             ' DD040707
  1610.         IF ZActiveMessageFile$ = ZMainMsgFile$ AND _
  1611.            ZActiveMessages = 1 THEN _                                ' DD040706
  1612.            GOTO 5300 _
  1613.         ELSE ZOutTxt$ = ZFGF$ + ZBG4$ + _                            ' DD091701
  1614.                   "Message base full!  Try again tomorrow" + _       ' DD091701
  1615.                   ZEmphasizeOff$ : _                                 ' DD091701
  1616.              GOSUB 12975 : _
  1617.              GOTO 3650
  1618. * REPLACING old line(s) by new
  1619. 2008 IF ZSysopComment OR ZMsgsCanGrow THEN _
  1620.         ZWasY$ = "on disk" : _
  1621.         CALL FindFree : _
  1622.         GOTO 2009
  1623.      IF ZNextMsgRec + 5 + ZMaxNodes < HighestMsgRecord THEN _
  1624.         GOTO 2010
  1625.      ZWasY$ = "in file"
  1626. * ------[ first line different ]------
  1627.      ZFreeSpace$ = CHR$(49)                       '1                 ' DD021301
  1628. * REPLACING old line(s) by new
  1629. 2010 IF NOT QuotedReply THEN _
  1630. * ------[ first line different ]------
  1631.         ZLinesInMsg = 0 : _                                          ' KG011201
  1632.         WasL = 0 : _
  1633.         WasX = 0 : _
  1634.         REDIM ZOutTxt$(ZMsgDim)
  1635.      IF ZGetExtDesc THEN _
  1636.         GOTO 2100
  1637.      GOSUB 1893
  1638.      RcvrRecNum = 0
  1639. * REPLACING old line(s) by new
  1640. * ------[ first line different ]------
  1641. 2020 CALL SetWhoTo (-ZEnableCC*(ZUserSecLevel>=ZOptSec(5)),MsgTo$,MsgFrom$,RcvrRecNum,Found,INSTR(ZMsgSecCats$,"U")>0) ' KG012502
  1642.      IF MsgTo$ = "" THEN _
  1643.         RETURN
  1644.      IF ZSysopComment OR ZSysopMsg THEN _
  1645.         GOTO 2100
  1646.      IF ZReply OR MsgFwd THEN _
  1647.         Found = ZTrue : _
  1648.         CALL Trim (MsgTo$):  _
  1649.         GOTO 2035 _
  1650.      ELSE Subject$ = ""
  1651.      GOSUB 2065
  1652. * REPLACING old line(s) by new
  1653. 2065 IF Subject$ <> "" THEN _
  1654.         ZOutTxt$ = "Change subject from " + _
  1655.              Subject$ + _
  1656.              " to" _
  1657. * ------[ first line different ]------
  1658.      ELSE ZOutTxt$ = "Subject" + ZPressEnterExpert$                  ' DD032501
  1659.      ZMacroMin = 99
  1660.      ZParseOff = ZTrue
  1661.      GOSUB 12932
  1662.      IF LEN(ZUserIn$) > 25 THEN _
  1663.         ZOutTxt$ = "Subject must be LESS than 25 Characters!" : _    ' DD090202
  1664.         GOSUB 12979 : _
  1665.         GOTO 2065
  1666.      IF ZWasQ = 0 THEN _
  1667.         IF Subject$ <> "" THEN _
  1668.            RETURN _
  1669.         ELSE GOSUB 2435 : _
  1670.              IF ZYes THEN _
  1671.                 RETURN 5160 _
  1672.              ELSE GOTO 2065
  1673.      Subject$ = ZUserIn$
  1674.      CALL AllCaps (Subject$)
  1675.      OrigSubject$ = Subject$
  1676.      RETURN
  1677. '
  1678. ' *****  ENTER MAIN BODY OF MESSAGE  ****
  1679. '
  1680. * REPLACING old line(s) by new
  1681. * ------[ first line different ]------
  1682. 2100  IF ZGetExtDesc THEN GOTO 2120                                  ' Mpl090201
  1683.       CALL SaveUserActivity(CHR$(77), ZNodeRecIndex, ZFalse)         ' DD021301/RCHAT
  1684.       IF NOT ZFullScreenEditor THEN                                  ' Mpl090201
  1685.          GOSUB 43030                                                 ' DD031302
  1686.          IF NOT ZYes THEN                                            ' DD032201
  1687.             ANSIEdActive = ZFalse                                    ' DD032201
  1688.             GOTO 2120                                                ' Ansied
  1689.          ELSE                                                        ' DD032201
  1690.             ANSIEdActive = ZTrue                                     ' DD032201
  1691.          END IF                                                      ' DD032201
  1692.       End IF                                                         ' Ansied
  1693. * INSERTING new line(s)
  1694. 2110 CALL Ansied (MsgTo$, OrigSubject$, MsgLockLines)                ' Ansied
  1695.      I = ZSubParm                                                    ' Ansied
  1696.      CALL SkipLine (1)                                               ' Ansied
  1697.      IF I = -2 THEN      ' Sleep Disconnect                          ' Ansied
  1698.         GOTO 10590                                                   ' Ansied
  1699.      ELSEIF I = -1 THEN  ' Lost Carrier                              ' Ansied
  1700.         GOTO 10595                                                   ' Ansied
  1701.      ELSEIF I = 1 THEN   ' Save Message                              ' Ansied
  1702.         GOTO 3400                                                    ' Ansied
  1703.      ELSEIF I = 2 THEN   ' Abort Message                             ' Ansied
  1704.         GOTO 2430                                                    ' Ansied
  1705.      END IF                                                          ' Ansied
  1706. 2120 IF ZGetExtDesc THEN                                             ' DD030901
  1707.         CALL FindIt (ZNodeWorkDrvPath$ + "FILE_ID.DIZ")              ' DD030901
  1708.         IF ZOK THEN RETURN                                           ' DD030901
  1709.         CALL FindIt (ZNodeWorkDrvPath$ + "DESC.SDI")                 ' DD030901
  1710.         IF ZOK THEN RETURN                                           ' DD030901
  1711.         IF ZWasGR > 1 THEN                                           ' DD031007
  1712.            CALL SkipLine (1)                                         ' DD031007
  1713.            CALL QuickTPut (ZFGE$ + "Use the " + ZFGB$ + _            ' DD031007
  1714.                            "Full Screen Editor " + ZFGE$ + _         ' DD031007
  1715.                            "for Your " + ZCRLf$ + _                  ' DD031007
  1716.                            ZFGB$ + ZMsgHeader$ + _                   ' DD031007
  1717.                            ZEmphasizeOff$,0)                         ' DD031007
  1718.            ZOutTxt$ = ZYesPrompt$                                    ' DD031007
  1719.            GOSUB 12930                                               ' DD031007
  1720.            IF ZNO THEN                                               ' DD031007
  1721.               GOTO 2121                                              ' DD031007
  1722.            END IF                                                    ' DD031007
  1723.         END IF                                                       ' DD031007
  1724.         CALL Ansied (ZRBBSName$, ZMsgHeader$, MsgLockLines)          ' DD031007
  1725.         I = ZSubParm                                                 ' DD031007
  1726.         CALL SkipLine (1)                                            ' DD031007
  1727.         IF I = -2 THEN      ' Sleep Disconnect                       ' DD031007
  1728.            GOTO 10590                                                ' DD031007
  1729.         ELSEIF I = -1 THEN  ' Lost Carrier                           ' DD031007
  1730.            GOTO 10595                                                ' DD031007
  1731.         ELSEIF I = 1 THEN   ' Save Message                           ' DD031007
  1732.            GOTO 3400                                                 ' DD031007
  1733.         ELSEIF I = 2 THEN   ' Abort Message                          ' DD031007
  1734.            GOTO 2430                                                 ' DD031007
  1735.         END IF                                                       ' DD031007
  1736.      END IF                                                          ' DD031007
  1737. 2121 ZOutTxt$ = "Enter Your " + _                                    ' DD031007
  1738.           ZMsgHeader$ + _                                            ' Ansied
  1739.           STR$(ZMaxMsgLines) + _                                     ' Ansied
  1740.           " Lines max" + _                                           ' DD102901
  1741.           ZCRLf$ + "(Press [ENTER] on Empty line for Menu)"          ' DD102901
  1742.      GOSUB 12975
  1743.      GOSUB 3200
  1744. * REPLACING old line(s) by new
  1745. 2127 IF ZRemoteEcho OR ZLocalUser THEN _
  1746. * ------[ first line different ]------
  1747.         ZOutTxt$ = RIGHT$(STR$(ZLinesInMsg),3) + _                   ' DD022301
  1748.              ": " + _
  1749.              ZOutTxt$(ZLinesInMsg) _
  1750.      ELSE ZOutTxt$ = ZOutTxt$(ZLinesInMsg)
  1751.      GOSUB 12978
  1752.      CALL LineEdit(ZLinesInMsg,ZRightMargin + 1)
  1753.      IF ZWaitExpired THEN _
  1754.         GOTO 2300 _
  1755.      ELSE IF ZSubParm = -1 THEN _
  1756.              GOTO 10595
  1757.      CALL FindFKey
  1758.      IF ZSubParm < 0 THEN _
  1759.         GOTO 202
  1760.      IF ZOutTxt$(ZLinesInMsg) = "" THEN _
  1761.         ZLinesInMsg = ZLinesInMsg - 1 : _
  1762.         GOTO 2300
  1763. * REPLACING old line(s) by new
  1764. 2200 WasX = 0
  1765.      IF WasJ < (ZMaxMsgLines - 2) THEN _
  1766.         RETURN
  1767. * ------[ first line different ]------
  1768.      ZOutTxt$ = ZFG4$ + "Warning: " + _                              ' DD091701
  1769.           MID$("2 Lines LeftLast Line   Full",12 * (WasJ-(ZMaxMsgLines - 2)) + 1,12) + _' DD091701
  1770.           CHR$(46) + ZEmphasizeOff$                                  ' DD021301
  1771.      WasX = (WasJ > (ZMaxMsgLines - 1))
  1772. * REPLACING old line(s) by new
  1773. * ------[ first line different ]------
  1774. 2315 ZOutTxt$ = "Edit Function <A," + _                              ' UG070501
  1775.           LEFT$("B,",-2 * (ZSysop OR ZLocalUser)) + _
  1776.           "C,D,E,I,L,M,R,S,?>"
  1777.      GOSUB 12930
  1778.      IF ZWasQ = 0 THEN _
  1779.         GOTO 2315
  1780.      CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  1781.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1782. * REPLACING old line(s) by new
  1783. * ------[ first line different ]------
  1784. 2430 ZOutTxt$ = ZMsgHeader$ + " Aborted."                            ' UG070501
  1785.      GOSUB 12975
  1786.      GOTO 3650
  1787. * REPLACING old line(s) by new
  1788. * ------[ first line different ]------
  1789. 2435 ZOutTxt$ = "Abort Your " + _                                    ' UG070501
  1790.           ZMsgHeader$ + _
  1791.           CHR$(63) + ZNoPrompt$                                      ' DD021301
  1792.      GOSUB 12930
  1793.      RETURN
  1794. '
  1795. ' *****  CHANGE SUBJECT OF A MESSAGE  ****
  1796. '
  1797. * REPLACING old line(s) by new
  1798. * ------[ first line different ]------
  1799. 2500 ZOutTxt$ = "Delete From"                                        ' UG070501
  1800.      GOSUB 3300
  1801.      Mark1 = ZTestedIntValue
  1802.      IF ZAnsIndex < ZLastIndex AND ZUserIn$(ZAnsIndex+1) = CHR$(45) THEN _ ' DD031501
  1803.            ZAnsIndex = ZAnsIndex + 1 _                               ' KG031101
  1804.      ELSE Temp = INSTR(ZUserIn$(ZAnsIndex),CHR$(45)) : _             ' DD031501
  1805.              IF Temp > 0 AND Temp < LEN(ZUserIn$(ZAnsIndex)) THEN _  ' KG031101
  1806.                 ZUserIn$(ZAnsIndex) = MID$(ZUserIn$(ZAnsIndex),Temp+1) : _ ' KG031101
  1807.                 ZAnsIndex = ZAnsIndex - 1                            ' KG031101
  1808. * REPLACING old line(s) by new
  1809. * ------[ first line different ]------
  1810. 2520 Temp$ = "Through Line #"                                        ' UG070501
  1811.      CALL ChangeInt (ZFalse,Temp$,0,Mark1,ZLinesInMsg)
  1812.      IF ZWasQ = 0 THEN _
  1813.         Mark2 = Mark1 _
  1814.      ELSE Mark2 = ZTestedIntValue
  1815.      CALL SkipLine(1)
  1816.      GOTO 2530
  1817. * REPLACING old line(s) by new
  1818. * ------[ first line different ]------
  1819. 2530 ZOutTxt$ = "Delete lines" + STR$(Mark1) + CHR$(45) + _          ' DD021301
  1820.         MID$(STR$(Mark2),2) + " (Y,[N],L)ist)"
  1821.      GOSUB 12930
  1822.      Temp$ = ZUserIn$(ZAnsIndex)
  1823.      CALL AllCaps(Temp$)
  1824.      IF Temp$ = CHR$(76) THEN GOTO 2522                'L            ' DD021301
  1825.      IF NOT ZYes THEN _
  1826.         ZOutTxt$ = "NOT Deleted" : _
  1827.         GOSUB 12979 : _
  1828.         GOTO 2555
  1829. * REPLACING old line(s) by new
  1830. 2550 ZBlockSize = (Mark2 - Mark1) + 1
  1831.      EndOfBuffer = ZLinesInMsg + 1
  1832.      ZLinesInMsg = ZLinesInMsg - ZBlockSize
  1833.      FOR WasX = Mark1 TO ZLinesInMsg
  1834.         ZOutTxt$(WasX) = ZOutTxt$(WasX + ZBlockSize)
  1835.      NEXT
  1836.      FOR WasX = (ZLinesInMsg + 1) TO (EndOfBuffer)
  1837.         ZOutTxt$(WasX) = ""
  1838.      NEXT
  1839. * ------[ first line different ]------
  1840.      ZOutTxt$ = MID$(STR$(ZBlockSize), 2) + " Line(s) Deleted."      ' DD091701
  1841.      GOSUB 12979
  1842. * REPLACING old line(s) by new
  1843. 2800 IF ZLinesInMsg >= ZMaxMsgLines AND NOT ZSysop THEN _
  1844. * ------[ first line different ]------
  1845.         ZOutTxt$ = "Message is Full." : _                            ' UG070501
  1846.         GOSUB 12979 : _
  1847.         GOTO 2300
  1848. * REPLACING old line(s) by new
  1849. * ------[ first line different ]------
  1850. 2840 ZOutTxt$ = RIGHT$(STR$(ZLinesInMsg),3) + _                      'Pe022193
  1851.           ": " + ZOutTxt$(ZLinesInMsg)
  1852.      GOSUB 12978
  1853.      CALL LineEdit(ZLinesInMsg,ZRightMargin + 1)
  1854.      IF ZOutTxt$(ZLinesInMsg) = "" THEN _
  1855.         GOTO 2920
  1856. * REPLACING old line(s) by new
  1857. 3010 ZStopInterrupts = ZFalse
  1858.      CALL SkipLine (1)
  1859.      IF (ZWasQ = 1 OR MsgFwd) AND NOT ZGetExtDesc THEN _
  1860.         WasL = 1 : _
  1861. * ------[ first line different ]------
  1862.         ZOutTxt$ = ZFGC$ + "To: " + _                                ' DD081801
  1863.              MsgTo$ + _
  1864.              ZFGB$ + " Re: " + _                                     ' DD081801
  1865.              Subject$ + ZEmphasizeOff$ : _
  1866.         GOSUB 12979 : _
  1867.         CALL QuickTPut (MID$(SPACE$(4),1,-4 * (NOT ZRemoteEcho)),0) : _ ' DD021301
  1868.         GOSUB 3200
  1869. * REPLACING old line(s) by new
  1870. 3020 IF ZGetExtDesc THEN WasL = 1
  1871. * ------[ first line different ]------
  1872.      FOR WasX = WasL TO ZLinesInMsg 
  1873.         CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
  1874.         IF ZNo OR ZRet THEN _
  1875.            WasX = ZLinesInMsg + 1 _
  1876.         ELSE ZOutTxt$ = RIGHT$(STR$(WasX),3) + _                     'Pe022193
  1877.                   ": " + _
  1878.                   ZOutTxt$(WasX) : _
  1879.              GOSUB 12979
  1880.      NEXT
  1881.      RETURN
  1882. '
  1883. ' *****  CHANGE MARGIN WIDTH   ****
  1884. '
  1885. * REPLACING old line(s) by new
  1886. * ------[ first line different ]------
  1887. 3100 CALL ChangeInt (ZTrue,"Right Margin",ZRightMargin,8,72)         ' UG070501
  1888.      IF ZWasQ <> 0 THEN _
  1889.         ZRightMargin = ZTestedIntValue
  1890. * REPLACING old line(s) by new
  1891. * ------[ first line different ]------
  1892. 3200 ZOutTxt$ = CHR$(91) + _                      '[                 ' DD021301
  1893.           STRING$(ZRightMargin - 2,45) + _
  1894.           CHR$(93)                                ']                 ' DD021301
  1895.      IF ZRemoteEcho OR ZLocalUser THEN _
  1896.         ZOutTxt$ = SPACE$(4) + _                                     ' DD021301
  1897.              ZOutTxt$
  1898.      GOSUB 12975
  1899.      RETURN
  1900. * REPLACING old line(s) by new
  1901. 3405 IF ZSysopMsg THEN _
  1902.         MsgPswd$ = "^READ^" _
  1903.      ELSE Temp$ = MsgPswd$ : _
  1904.           CALL MsgProt (MsgTo$,Found,MsgPswd$) : _
  1905.           IF MsgPswd$ = "" THEN _
  1906.              MsgPswd$ = Temp$ : _
  1907. * ------[ first line different ]------
  1908.              IF ZFullScreenEditor OR ANSIEDActive THEN _             ' DD032201
  1909.                 GOTO 2110 _                                          ' JM092401/RCHAT
  1910.              ELSE _                                                  ' JM092401/RCHAT
  1911.                 GOTO 2300                                            ' JM092401/RCHAT
  1912.      SaveReplyStatus = ZReply
  1913.      ZReply = ZTrue
  1914.      ZSysopMsg = ZFalse
  1915.      ZReply = SaveReplyStatus
  1916.      GOSUB 4910
  1917.      MsgRecSave$ = ZMsgRec$
  1918.      MsgCorrected = ZFalse
  1919.      GOSUB 23100
  1920.      ZWasSL = 0
  1921.      ZWasN$ = ""
  1922.      ZLastIndex = 0
  1923.      ZHighMsgNumber = ZHighMsgNumber + 1                             ' DD040707
  1924.      ZMenuNewMsgs = ZMenuNewMsgs + 1                                 ' DD090101/MENU0
  1925.      CALL TossLog                                                    ' DD032501
  1926. * REPLACING old line(s) by new
  1927. * ------[ first line different ]------
  1928. 3410 ZActiveMessages = ZActiveMessages + 1                           ' DD040706
  1929.      MsgNum$ = STR$(ZHighMsgNumber) + _                              ' DD040707
  1930.                        SPACE$(5 - LEN(STR$(ZHighMsgNumber)))         ' DD040707
  1931.      IF MsgPswd$ = "^READ^" THEN _
  1932.         MID$(MsgNum$,1,1) = STRING$(1,42) : _                        ' DD021301
  1933.         SecForMsg = ZPrivateReadSec _
  1934.      ELSE SecForMsg = ZPublicReadSec
  1935. * REPLACING old line(s) by new
  1936. 3530 Temp = ZNextMsgRec
  1937.      ZNextMsgRec = Temp + VAL(ZWasN$)
  1938.      LSET ZMsgRec$ = MsgRecSave$
  1939.      GOSUB 24000
  1940.      GET 1,Temp
  1941. * ------[ first line different ]------
  1942.      ZMsgPtr(ZActiveMessages,1) = Temp                               ' DD040706
  1943.      ZMsgPtr(ZActiveMessages,2) = ZHighMsgNumber                     ' DD040707
  1944.      LSET ZMsgRec$ = MsgNum$ + _
  1945.                      MsgFrom$ + _
  1946.                      MsgTo$ + _
  1947.                      ZCurDate$ + _
  1948.                      Subject$ + _
  1949.                      MsgPswd$ + _
  1950.                      ZActiveMessage$ + _
  1951.                      ZWasN$ + _
  1952.                      SPACE$(4 - LEN(ZWasN$)) + _
  1953.                      MKI$(SecForMsg)
  1954. ' ---[ write out list of people msg is to ]---
  1955.      UserFileIndexSave = ZUserFileIndex
  1956.      UserRecordHold$ = ZUserRecord$
  1957.      CALL OpenWork (2,ZNodeWorkFile$)
  1958.      WHILE NOT EOF(2)
  1959.         CALL ReadParms (ZWorkAra$(),2,1)
  1960.         MID$(ZMsgRec$,37,22) = LEFT$(ZWorkAra$(1)+ SPACE$(22),22)
  1961.         RcvrRecNum = VAL(ZWorkAra$(2))
  1962.         PUT 1,Temp
  1963.         Temp = Temp + 1
  1964.         NumRecs = NumRecs - 1
  1965. ' ---[ notify receiver that has new mail waiting ]---
  1966.         CALL SetUserFlag (RcvrRecNum, 512, "Mail")                   ' UG070501
  1967.      WEND
  1968.      ZWasN$ = ""
  1969.      ZOutTxt$ = "Saving Your Message as #" + _                       ' UG070501
  1970.           STR$(ZHighMsgNumber)                                       ' DD040707
  1971. '    IF NOT ZLocalUser THEN _                                        ' DD021301
  1972.         CALL UpdtCalr (ZOutTxt$,1)
  1973.      GOSUB 12978
  1974. '    NumDots = 0                                                     ' DD021301
  1975.      FOR WasJ = 1 TO ZLinesInMsg
  1976. '       CALL MarkTime (NumDots)                                      ' DD021301
  1977.         ZWasN$ = ZWasN$ + _
  1978.              ZOutTxt$(WasJ)
  1979.         IF LEN(ZWasN$) > 127 THEN _
  1980.            LSET ZMsgRec$ = ZWasN$ : _
  1981.            PUT 1 : _
  1982.            ZWasN$ = MID$(ZWasN$,129)
  1983. * REPLACING old line(s) by new
  1984. 3650 QuotedReply = ZFalse
  1985.      MsgLockLines = 0
  1986.      IF ZReply OR MsgFwd THEN _
  1987.         ZReply = ZFalse : _
  1988.         ZAnsIndex = SaveAnsIndex : _
  1989.         GOTO 5344
  1990.      IF ZGetExtDesc THEN _
  1991.         ZLinesInMsg = 0
  1992. * ------[ first line different ]------
  1993.      IF ZLogOff$ = CHR$(71) THEN                     'G              ' DD021301
  1994.         Getout = Ztrue                                               ' Mpl090201
  1995.         ZLogoff$ = CHR$(76)                          'L              ' DD021301
  1996.         GOTO 10560                                                   ' Mpl090201
  1997.         END IF                                                       'Pe 02/03/90
  1998.      RETURN
  1999. '
  2000. ' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ***
  2001. '
  2002. * REPLACING old line(s) by new
  2003. * ------[ first line different ]------
  2004. 3930 ZOutTxt$ = "Kill Which Messages" + LEFT$(", M)arked",-9*(ZMarkedMsgs$ <> "")) + ZPressEnterExpert$ ' UG070501
  2005.      GOSUB 12932
  2006.      IF ZWasQ = 0 THEN _
  2007.         RETURN
  2008.      GOSUB 1893
  2009.      ZWasZ$ = ZUserIn$(ZAnsIndex)                                    ' KGK020101
  2010.      CALL UnMarkItems (ZMarkedMsgs$,ZAnsIndex,ZLastIndex,Found,ZTrue)
  2011. * REPLACING old line(s) by new
  2012. 3950 GOSUB 5344
  2013. * ------[ first line different ]------
  2014.      CALL KillMsg (MsgToKill,ZActiveMessages,ZconfName$)             ' DD040706
  2015. * REPLACING old line(s) by new
  2016. 4240 CALL Toggle(9)
  2017.      RETURN
  2018. '
  2019. * ------[ first line different ]------
  2020. ' **** New Message Read Option
  2021. '
  2022. * INSERTING new line(s)
  2023. 4275 IF ZUserSecLevel < ZOptSec(12) THEN _                           ' DD090101
  2024.         RETURN                                                       'Pe 08/30/92
  2025. '                                                                    ' DD063002
  2026. ' * IF CONFIG is set to skip new mail and the user doesn't want to   ' DD063002
  2027. ' * read new mail then go back                                       ' DD063002
  2028. '                                                                    ' DD063002
  2029.      IF ZSkipMailCheck AND NOT ZReadNewMail THEN                     ' DD070102
  2030.         RETURN                                                       ' DD063002
  2031.      END IF                                                          ' DD063002
  2032.      GOSUB 47000                                                     ' DD062304
  2033.      ZOutTxt$ = ZCRLf$ + ZFG2$ + "Read All New Messages" + _         ' DD052004
  2034.           ZEmphasizeOff$ + ZYesPrompt$                               ' DD060101
  2035.      GOSUB 12999                                                     'JABASKMAIL
  2036. 4279 IF NOT ZNO THEN _                                               'JABASKMAIL
  2037.         ZLastIndex = 2 : _                                           'Pe 11/05/89
  2038.         ZAnsIndex = 1 : _                                            'Pe 11/05/89
  2039.         ZWasQ = 2 : _                                                'Pe 11/05/89
  2040.         ZUserIn$(2) = STRING$(1,42) : _                              ' DD021301
  2041.         GOTO 4330                                                    'Pe 11/05/89
  2042.      RETURN                                                          'JABASKMAIL
  2043. '
  2044. ' ****  T)opic - QUICK SCAN MESSAGES  ***
  2045. '
  2046. * REPLACING old line(s) by new
  2047. 4330 IF LinkNext THEN _
  2048.         LinkNext = ZFalse : _
  2049.         GOSUB 1893 : _
  2050.         GOSUB 5344 : _
  2051.         NumMsgsSelected = 1 : _
  2052.         ZAnsIndex = 1 : _
  2053.         MsgIndex = 1 : _
  2054.         ZLastIndex = 1 : _
  2055.         CanKill = (ZSysop OR ZUserSecLevel >= ZSecKillAny) : _
  2056.         IF LinkForward THEN _
  2057.            CurMsg = ZLastMsgRead + 1 : _
  2058.            GOTO 4450 _
  2059. * ------[ first line different ]------
  2060.         ELSE CurMsg = ZHighMsgNumber : _                             ' DD040707
  2061.              GOTO 4490
  2062.      QuickScanMsgs = ZFalse
  2063.      ReadMsgs = ZTrue
  2064.      Forward = ZFalse
  2065.      ZGlobalRead = ZFalse
  2066.      HiLiteRec = -1
  2067.      ScanMsgs = ZFalse
  2068.      MsgStart = 6
  2069.      MsgEnd = 100
  2070.      IF ZLocalUserMode OR NOT ZLocalUser THEN _
  2071.         IF ReadMsgIn$ <> ZActiveMessageFile$ THEN _
  2072.            ReadMsgIn$ = ZActiveMessageFile$ : _
  2073.            CALL UpdtCalr ("Read Messages in " + ZConfName$,1)        ' DD050901
  2074.      GOSUB 1300
  2075.      GOTO 4350
  2076. '
  2077. ' ****  S - COMMAND FROM MAIN MENU (SCAN MESSAGE HEADERS)  ***
  2078. '
  2079. * REPLACING old line(s) by new
  2080. 4350 SearchHeader$ = ""
  2081.      SubInHeader$ = ""
  2082. * ------[ first line different ]------
  2083.      RIPFile$ = "RIPWINM"                                            ' DD061301
  2084.      GOSUB 47010                                                     ' DD062601
  2085. * REPLACING old line(s) by new
  2086. 4352 SearchString$ = ""
  2087.      DontPrint = ZFalse
  2088.      JustReplied = ZFalse
  2089.      QuotedReply = ZFalse
  2090.      CanKill = (ZSysop OR ZUserSecLevel >= ZSecKillAny)
  2091.      GOSUB 1893
  2092.      GOSUB 5344
  2093.      ZWasZ$ = ""
  2094. * ------[ first line different ]------
  2095.      GOSUB 827                                                       ' DD121401
  2096.      FOR WasI = 2 TO ZLastIndex                                      ' KG012802
  2097.         IF INSTR("Ss*",ZUserIn$(WasI)) > 0 THEN _
  2098.            ZUserIn$(WasI) = MID$(STR$(ZLastMsgRead+1),2) + CHR$(43)  ' DD021301
  2099.         IF INSTR("Ll",ZUserIn$(WasI)) > 0 THEN _
  2100.            ZUserIn$(WasI) = MID$(STR$(ZHighMsgNumber),2) + CHR$(45)  ' DD040707
  2101.         IF INSTR("Gg",ZUserIn$(WasI)) > 0 THEN _
  2102.            GOSUB 4640                                                ' KG013001
  2103.      NEXT
  2104. * REPLACING old line(s) by new
  2105. 4360 ZWasLG$(11) = ZWasZ$
  2106.      NumMsgsSelected = ZLastIndex
  2107.      MsgIndex = ZAnsIndex
  2108.      ZLastIndex = 0
  2109.      AddressedToUser = ZFalse
  2110.      ToRequested = ZFalse
  2111.      FromRequested = ZFalse
  2112.      LinkNext = ZFalse
  2113. * ------[ first line different ]------
  2114.      CALL SaveUserActivity(CHR$(77), ZNodeRecIndex, ZFalse)          ' DD021301/CHAT
  2115. * REPLACING old line(s) by new
  2116. * ------[ first line different ]------
  2117. 4380 WasA1$ = ZFGF$ + "Msg #" + ZFGE$ + _                            ' DD091701
  2118.            STR$(LowMsgNumber) + ZFGF$ + _                            ' DD091701
  2119.            CHR$(45) + ZFGE$ + _                                      ' DD021301
  2120.            MID$(STR$(ZMsgPtr(ZActiveMessages,2)),2) + ZEmphasizeOff$ + _' DD040706
  2121.            " (H)lp,S)ince,L)ast" + _
  2122.            LEFT$(",G)lobal",8*(ZLinkedConf$ ="" OR ZGlobalRead)+8)
  2123.      CALL SkipLine (-QuickScanMsgs)                                  ' KG062301
  2124.      IF ZGlobalRead THEN _
  2125.         CALL QuickTPut1 (ZFG9$ + "Display Messages Globally " + _    ' DD091701
  2126.                          "in Linked Conferences." + ZEmphasizeOff$)  ' DD082302
  2127.      IF AddressedToUser OR ToRequested OR FromRequested THEN _
  2128.         ZWasY$ = LEFT$("To",-2*(ToRequested OR AddressedToUser)) + _ ' DD091701
  2129.              LEFT$(" or ",-AddressedToUser*4) + _                    ' UG070501
  2130.              LEFT$("From",-4*(FromRequested OR AddressedToUser)) : _
  2131.         CALL QuickTPut1 (ZFG5$ + "Display Messages Only " + _        ' DD082302
  2132.              ZFGE$ + ZWasY$ + _                                      ' DD082301
  2133.              ZFG5$ + " You." + ZCRLf$ + _                            ' DD082302
  2134.              ZFG2$ + "Read what msgs? " + ZFGB$ + "(? for help)" + _ ' DD082302
  2135.              ZEmphasizeOff$) _                                       ' DD082301
  2136.      ELSE WasA1$ = WasA1$ + ",T)o,F)rom,M)" : _
  2137.           IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
  2138.              WasA1$ = WasA1$ + "arked" _
  2139.           ELSE WasA1$ = WasA1$ + "ine"
  2140.      IF SearchString$ = "" THEN _
  2141.         WasA1$ = WasA1$ + _
  2142.              ", text" _
  2143.      ELSE CALL QuickTPut1 (ZFG5$ + "Include only msgs with text " + _' DD082301
  2144.                            ZFGB$ + SearchString$ + CHR$(46) + ZCRLf$ + _  ' DD021301
  2145.                            ZFGE$ + "Read what msgs?" + ZFG3$ + _     ' DD082302
  2146.                            " (? for help)" + ZEmphasizeOff$)         ' DD082301
  2147. * REPLACING old line(s) by new
  2148. 4415 Forward = ZFalse
  2149.      Reverse = ZFalse
  2150.      FOR WasI = ZAnsIndex to ZLastIndex
  2151. * ------[ first line different ]------
  2152.         IF INSTR("Gg",ZUserIn$(WasI)) > 0 THEN _                     ' KG013001
  2153.            GOSUB 4640                                                ' KG020201
  2154.      NEXT
  2155.      IF ZAnsIndex <= ZLastIndex OR LEN(ZUserIn$(ZAnsIndex)) = 1 THEN _ ' DR020301
  2156.         IF INSTR("Ss*",ZUserIn$(ZAnsIndex)) > 0 THEN _
  2157.            CurMsg = ZLastMsgRead + 1 : _
  2158.            Forward = ZTrue : _
  2159.            GOTO 4430 _
  2160.         ELSE IF INSTR("Ll",ZUserIn$(ZAnsIndex)) > 0 THEN _
  2161.                 CurMsg = ZHighMsgNumber : _                          ' DD040707
  2162.                 Reverse = ZTrue : _
  2163.                 GOTO 4490 _
  2164.         ELSE IF INSTR("Gg",ZUserIn$(ZAnsIndex)) > 0 THEN _
  2165.                 ZGlobalRead = ZTrue : _
  2166.                 GOTO 4370
  2167. * REPLACING old line(s) by new
  2168. 4416 IF INSTR("Mm",ZUserIn$(ZAnsIndex)) = 0 THEN _
  2169.         GOTO 4418
  2170.      IF ReadMsgs THEN _
  2171. * ------[ first line different ]------
  2172.         ZWasZ$ = CHR$(77) : _                        'M              ' DD021301
  2173.         CALL UnMarkItems (ZMarkedMsgs$,MsgIndex,NumMsgsSelected,Found,ReadMsgs) : _
  2174.         MsgIndex = MsgIndex + Found _
  2175.      ELSE Found = ZFalse
  2176.      AddressedToUser = NOT Found
  2177.      GOTO 4370
  2178. * REPLACING old line(s) by new
  2179. 4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
  2180.      IF ZWasA > 0 THEN _
  2181.         ToRequested = (ZWasA > 2) : _
  2182.         FromRequested = (ZWasA < 3) : _
  2183.         GOTO 4370
  2184.      IF CurMsg = 0 THEN _
  2185.         IF SearchHeader$ <> "" THEN _
  2186.            GOTO 4370 _
  2187.         ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
  2188.              SearchCt = 0 : _
  2189.              CALL AllCaps (SearchString$) : _
  2190.              CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
  2191.              SearchHeader$ = SearchString$ : _
  2192.              SubInHeader$ = SearchHeader$ : _
  2193.              GOTO 4370
  2194. * ------[ first line different ]------
  2195.      CALL SkipLine (-ReadMsgs)                                       ' KG062301
  2196. * REPLACING old line(s) by new
  2197. * ------[ first line different ]------
  2198. 4430 IF RIGHT$(ZUserIn$(ZAnsIndex),1) = CHR$(43) THEN _   '+         ' DD021301
  2199.         Forward = ZTrue
  2200.      IF RIGHT$(ZUserIn$(ZAnsIndex),1) = CHR$(45) THEN _   '-         ' DD021301
  2201.         Reverse = ZTrue : _
  2202.         GOTO 4490
  2203. * REPLACING old line(s) by new
  2204. * ------[ first line different ]------
  2205. 4452 IF ZMsgDimIndex > ZActiveMessages THEN _                        ' DD040706
  2206.         GOTO 4515
  2207.      IF ReadMsgs AND _
  2208.         ZMsgPtr(ZMsgDimIndex,2) = CurMsg THEN _
  2209.         GOTO 4520
  2210. * REPLACING old line(s) by new
  2211. 4490 ZMsgDimIndex = ZActiveMessages  ' search REVERSE for current msg ' DD040706
  2212. * REPLACING old line(s) by new
  2213. 4515 IF Forward THEN _
  2214. * ------[ first line different ]------
  2215.         ZOutTxt$ = ZCRLf$ + ZFGE$ + ZBG5$ + _                        ' DD090606
  2216.              " No new messages " + ZEmphasizeOff$: _                 ' DD090606
  2217.         ZLastMsgRead = ZHighMsgNumber : _                            ' DD040707
  2218.         ZMailWaiting = ZFalse _
  2219.      ELSE ZOutTxt$ = ZFGE$ + ZBG5$ + _                               ' DD090606
  2220.                " No such msg #" + _                                  ' DD090606
  2221.                STR$(CurMsg) + SPACE$(1) + ZEmphasizeOff$             ' DD021301
  2222.      IF SubInHeader$ = "" THEN _
  2223.         GOSUB 12979
  2224.      ZLastIndex = 0
  2225.      GOTO 4637
  2226. * REPLACING old line(s) by new
  2227. 4530 StartMsgIndex = ZMsgDimIndex
  2228. * ------[ first line different ]------
  2229.      EndingMsgIndex = ZActiveMessages                                ' DD040706
  2230.      WasSO = 1
  2231.      GOTO 4550
  2232. * REPLACING old line(s) by new
  2233. 4563   CurMsg = VAL(MID$(ZMsgRec$,2,4))
  2234. * ------[ first line different ]------
  2235.        OutRe$=  "   Re:    "+MID$(ZMsgRec$,76,25)                    ' DD090802
  2236.        OutFrom$="   From:  "+mid$(ZMsgRec$,6,31)                     ' DD090802
  2237.        OutTo$=  "   To:    "+mid$(ZMsgRec$,37,22)                    ' DD090802
  2238.        OutNum$= "Message #"+mid$(ZMsgRec$,2,4)                       ' DD090802
  2239.        OutNumRecs=val(mid$(ZMsgRec$,117,4))                          ' DD090802
  2240.        IF ToRequested THEN _
  2241.           IF NOT MsgToCaller THEN _
  2242.              GOTO 4629
  2243.        IF FromRequested THEN _
  2244.           IF NOT MsgFromCaller THEN _
  2245.              GOTO 4629
  2246.        IF AddressedToUser AND NOT UserInHeader THEN _
  2247.           GOTO 4629
  2248.        WasX$ = MID$(ZMsgRec$,121,2)
  2249.        IF WasX$ = SPACE$(2) THEN _                                   ' DD021301
  2250.           MsgSec = ZMinLogonSec _
  2251.        ELSE MsgSec = CVI(WasX$)
  2252.        IF ZUserSecLevel < MsgSec THEN _                              ' DD032401
  2253.           GOTO 4629
  2254. * REPLACING old line(s) by new
  2255. 4581   IF MID$(ZMsgRec$,116,1) = ZDeletedMsg$ THEN _
  2256.           GOTO 4630
  2257. * ------[ first line different ]------
  2258.        ZJustSearching = ZFalse                                       'Pe 05/30/91
  2259.        IF SearchHeader$ <> "" THEN _
  2260.           ZFF = INSTR(ZMsgRec$,SearchHeader$) : _
  2261.           IF ZFF >= MsgStart AND ZFF <= MsgEnd THEN _
  2262.              HiLitePos = ZFF : _
  2263.              SearchCt = 0 : _
  2264.              GOTO 4582 _
  2265.           ELSE IF ReadMsgs AND SearchString$ <> "" THEN _
  2266.                ZJustSearching = ZTrue : _                            'Pe 05/30/91
  2267.                   GOTO 4582 _
  2268.                ELSE GOTO 4629
  2269. * REPLACING old line(s) by new
  2270. 4582   WasPG = ZFalse
  2271. * ------[ first line different ]------
  2272.        IF MID$(ZWasZ$,1,1) = CHR$(33) THEN _             '!          ' DD021301
  2273.           IF NOT CanKill THEN _
  2274.              WasPG = ZTrue : _
  2275.              ZPswdSave$ = MID$(ZWasZ$,2) + _
  2276.                               SPACE$(1) : _                          ' DD021301
  2277.              ZAttemptsAllowed = 0 : _
  2278.              ZSubParm = 1 : _
  2279.              CALL PassWrd
  2280. * REPLACING old line(s) by new
  2281. 4585   IF ZPswdFailed THEN _
  2282.           IF WasPG THEN _
  2283.              WasSJ$ = "<PASSWORD>" _
  2284. * ------[ first line different ]------
  2285.           ELSE WasSJ$ = "<PRIVATE>" _                                ' DD060101
  2286.        ELSE WasSJ$ = MID$(ZMsgRec$,76,25)
  2287. * REPLACING old line(s) by new
  2288. 4590   IF QuickScanMsgs THEN _
  2289. * ------[ first line different ]------
  2290.           ZOutTxt$ = ZFG2$ + LEFT$(ZMsgRec$,5) + _                   ' DD092104
  2291.                SPACE$(1) + _                                         ' DD021301
  2292.                ZFGB$ + LEFT$(WasSJ$,19) + _                          ' DD092104
  2293.                SPACE$(1) + ZEmphasizeOff$ : _                        ' DD021301
  2294.           CALL CheckColor (ZOutTxt$,SubInHeader$,ZEmphasizeOff$) : _
  2295.           GOSUB 12978 : _
  2296.           SecIndex = SecIndex + 1 : _
  2297.           IF SecIndex = 3 THEN _
  2298.              SecIndex = 0 : _
  2299.              CALL SkipLine (1) : _
  2300.              GOTO 4630  _
  2301.           ELSE GOTO 4630
  2302. * REPLACING old line(s) by new
  2303. 4600   IF ScanMsgs THEN _
  2304.           GOSUB 8020 : _
  2305.           GOTO 4630
  2306. * ------[ first line different ]------
  2307.        IF NOT ZJustSearching THEN _                                  ' Mpl090201
  2308.           GOSUB 8000 : _
  2309.           IF QuotedReply THEN _
  2310.              QuotedReply = ZFalse : _
  2311.              GOTO 4602
  2312.        IF ZRet THEN _
  2313.           GOTO 4630
  2314.        CanChangeSec = (ZUserSecLevel => ZSecChangeMsg)
  2315.        ShowKill =  - ((ZUserSecLevel >= ZOptSec(9)) AND (UserInHeader OR CanKill))
  2316.        IF ZNewUserDgs = ZTrue THEN ShowKill= ZFalse                  'Dgs-NEw
  2317.        IF ZExpertUser THEN _
  2318.           WasA1$ = ",H" + _
  2319.                 MID$(",R",1,- (ZUserSecLevel >= ZOptSec(5)) * 2) + _
  2320.                 ",T,M,=,+,-" + _
  2321.                 MID$(",F",1,- (UserInHeader OR CanChangeSec) * 2) + _
  2322.                 MID$(",K",1,ShowKill * 2) + _
  2323.                 MID$(",U",1,- (ZUserSecLevel >= ZOptSec(54)) * 2) + _
  2324.                 MID$(",S",1, - CanChangeSec * 2) + _                 ' DD090802
  2325.                 MID$(",P",1, - ZSysop * 2) : _                       ' DD090802
  2326.           GOTO 4601
  2327.        GOSUB 4617
  2328. * REPLACING old line(s) by new
  2329. * ------[ first line different ]------
  2330. 4601   IF ZJustSearching OR NOT JustReplied THEN _                   ' Mpl090201
  2331.           GOTO 4602                                                  ' Mpl090201
  2332.        JustReplied = ZFalse                                          ' Mpl090201
  2333.        CALL AskMore (WasA1$,ZTrue,ZFalse,ZAnsIndex,ZFalse)           ' Mpl090201
  2334.        CALL SkipLine (1)                                             ' Mpl090201
  2335.        IF ZNo THEN _                                                 ' Mpl090201
  2336.           RETURN                                                     ' Mpl090201
  2337.        CALL AllCaps (ZUserIn$(1))                                    ' Mpl090201
  2338.        ZReply = (ZReply OR ZUserIn$(1) = CHR$(82))  'R               ' DD021301
  2339.        IF ZUserIn$(1) <> CHR$(61) THEN _            '=               ' DD021301
  2340.           GOTO 4605                                                  ' Mpl090201
  2341.        CALL SkipLine (1)                                             ' Mpl090201
  2342. * REPLACING old line(s) by new
  2343. 4602   IF NOT ZPswdFailed THEN _
  2344.           GOTO 4603
  2345.        IF WasPG AND (NOT ZNonStop) THEN _
  2346.           ZAttemptsAllowed = 2 : _
  2347.           ZSubParm = 2 : _
  2348.           CALL PassWrd
  2349.        IF ZPswdFailed THEN _
  2350.           GOTO 4629
  2351. * ------[ first line different ]------
  2352.        CALL QuickTPut1 (" Subj:  " + MID$(ZMsgRec$,76,25))           ' DD061301
  2353. * REPLACING old line(s) by new
  2354. * ------[ first line different ]------
  2355. 4603   IF NOT ZJustSearching THEN _                                  'Pe 02/05/90
  2356.           CALL QuickTPut (ZFGE$ + STRING$(72,45) + ZEmphasizeOff$,1) ' DD063001
  2357.        GOSUB 9000
  2358.        JustReplied = ZFalse
  2359.        DontPrint = ZFalse
  2360.        IF ZJustSearching THEN _                                      ' Mpl090201
  2361.           GOTO 4629
  2362.        IF ZAnsIndex > NumMsgsSelected THEN _
  2363.           GOTO 4650
  2364.        CALL SkipLine (1)
  2365.        GOSUB 41000
  2366.        ZKillMessage = ZFalse
  2367.        ZReply = ZFalse
  2368. * REPLACING old line(s) by new
  2369. 4604   ZTurboKey = -ZTurboKeyUser
  2370.        CALL AskMore (WasA1$,ZTrue,ZFalse,WasXX,ZFalse)
  2371.        IF ZNo THEN _
  2372.           IF WasXX >= 32000 THEN _
  2373.              WasXX = 0 : _
  2374.              ZAnsIndex = ZLastIndex + 1 : _
  2375.              RETURN _
  2376.           ELSE GOTO 4637
  2377.        IF ZNonStop THEN _
  2378.           GOTO 4629
  2379.        CALL AraAllCaps(ZUserIn$(),1)
  2380. * ------[ first line different ]------
  2381.        ZReply = (ZReply OR ZUserIn$(1) = CHR$(82))   'R              ' DD021301
  2382. * REPLACING old line(s) by new
  2383. * ------[ first line different ]------
  2384. 4605   ON INSTR(" FUST+-KRH?=MP",LEFT$(ZUserIn$(1),1)) GOTO _        ' DD090802
  2385.           4620,4606,4607,4608,4609,4610,4610, _                      ' DD090802
  2386.           4611,4621,4612,4614,4615,4652,4651                         ' DD090802
  2387.        GOTO 4620
  2388. * REPLACING old line(s) by new
  2389. 4607   IF ZUserSecLevel < ZOptSec(54) THEN _    ' User edit
  2390.           GOTO 4620
  2391.        EditFromRead = 1
  2392.        ZReply=ZTrue
  2393.        CALL PutMsgAttr
  2394.        TempHashValue$ = MsgFrom$
  2395.        CALL Trim (TempHashValue$)
  2396.        IF TempHashValue$ = "SYSOP" THEN _
  2397.           TempHashValue$ = ZSecretName$
  2398. * ------[ first line different ]------
  2399.        GOTO 11010                                                    ' DD032701
  2400. * REPLACING old line(s) by new
  2401. 4608   IF CanChangeSec THEN _            ' Security to read
  2402.           CALL PutMsgAttr : _
  2403.           GOSUB 4665 : _
  2404.           ZReply = ZFalse : _
  2405.           QuotedReply = ZTrue : _
  2406.           CALL GetMsgAttr : _
  2407.           DontPrint = ZTrue : _
  2408. * ------[ first line different ]------
  2409.           ZUserIn$ = CHR$(61) : _                   '=               ' DD021301
  2410.           JustReplied = ZTrue : _
  2411.           GOTO 4560
  2412.        GOTO 4620
  2413. * REPLACING old line(s) by new
  2414. * ------[ first line different ]------
  2415. 4611   IF ((UserInHeader and NOT ZNewUserDgs) OR CanKill) THEN _     ' Kill Dgs-new
  2416.          IF ZUserSecLevel >= ZOptSec(9) THEN _
  2417.             CALL PutMsgAttr : _
  2418.             MsgToKill = CurMsg : _
  2419.             Temp = ZWasQ : _
  2420.             GOSUB 3950 : _
  2421.             CALL GetMsgAttr : _
  2422.             GOTO 4629 _
  2423.          ELSE ZViolation$ = "MORE KILL" : _
  2424.               GOSUB 1380 : _
  2425.               GOTO 4629
  2426.        GOTO 4620
  2427. * REPLACING old line(s) by new
  2428. 4617   WasA1$ = ",H)lp" + _
  2429.                 MID$(",R)ply",1, - (ZUserSecLevel >= ZOptSec(5)) * 6) + _
  2430.                 ",T)hrd,M)rk,=,+,-" + _
  2431.                 MID$(",F)wd",1, - (UserInHeader OR CanChangeSec) * 5) + _
  2432.                 MID$(",K)ill",1, ShowKill * 6) + _
  2433.                 MID$(",U)sr",1,- (ZUserSecLevel >= ZOptSec(54)) * 6) + _
  2434. * ------[ first line different ]------
  2435.                 MID$(",S)ec",1, - CanChangeSec * 5) + _              ' DD090802
  2436.                 MID$(",P)rn",1, - ZSysop * 5)                        ' DD090802
  2437.        RETURN
  2438. * REPLACING old line(s) by new
  2439. 4623   DontPrint = ZFalse
  2440.        CALL PutMsgAttr
  2441.        IF MsgFwd THEN GOTO 4624
  2442.        IF ZNoQuoting THEN GOTO 4627
  2443. * ------[ first line different ]------
  2444.        ZOutTxt$ = ZEmphasizeOff$ + "Quote " + MsgTo$ + "'s message?" + ZNoPrompt$' DD082101
  2445.        GOSUB 12999
  2446.        IF ZRet OR NOT ZYes THEN _
  2447.           GOTO 4627
  2448. * REPLACING old line(s) by new
  2449. 4624   QuotedReply = ZTrue
  2450.        ZLinesInMsg = ZLinesInMsg - 1
  2451.        IF HiLitedLine > 0 THEN _
  2452.           ZOutTxt$(HiLitedLine) = ZOutTxt$(0) : _
  2453.           HiLitedLine = 0
  2454.        IF MsgFwd THEN _
  2455.           TempRightMargin = ZRightMargin _
  2456.        ELSE _
  2457.           TempRightMargin = ZRightMargin - 2
  2458.        CALL WordWrap (TempRightMargin,ZLinesInMsg,ZOutTxt$())
  2459.        IF ZLinesInMsg > ZMsgDim THEN _
  2460.           ZLinesInMsg = ZMsgDim : _
  2461. * ------[ first line different ]------
  2462.           CALL QuickTPut1 (ZFG2$ + "Original message truncated to " + _' DD082302
  2463.                       ZFGE$ + STR$(ZMsgDim) + _                      ' DD082302
  2464.                       ZFG2$ + " Lines!" + ZEmphasizeOff$)            ' DD082302
  2465.        IF MsgFwd THEN GOTO 4625
  2466.        QuoteInit = INSTR(MsgTo$, SPACE$(1))                          ' DD021301/QUOTE
  2467.        QuoteInit = QuoteInit + 1                                     ' DD081301/QUOTE
  2468.        QuoteMark$ = LEFT$(MsgTo$, 1) + _                             ' DD081301/QUOTE
  2469.           MID$(MsgTo$, QuoteInit, 1) + CHR$(62)      '>              ' DD021301/QUOTE
  2470.        IF MsgTo$ = "SYSOP" THEN _                                    ' DD081301/QUOTE
  2471.           QuoteMark$ = LEFT$(ZSysopFirstName$, 1) + _                ' DD081301/QUOTE
  2472.              LEFT$(ZSysopLastName$, 1) + CHR$(62)    '>              ' DD021301/QUOTE
  2473.        FOR WasX = 1 TO ZLinesInMsg
  2474.           IF MID$(ZOutTxt$(WasX), 3, 1) = CHR$(62) THEN _            ' DD021301/QUOTE
  2475.              ZOutTxt$(WasX) = ZOutTxt$(WasX) _                       ' DD081301/QUOTE
  2476.           ELSE ZOutTxt$(WasX) = QuoteMark$ + ZOutTxt$(WasX)          ' DD081301/QUOTE
  2477.        NEXT
  2478. * REPLACING old line(s) by new
  2479. 4625   WasX$ = MsgTo$
  2480.        GOSUB 2001
  2481. * ------[ first line different ]------
  2482.        IF (ZActiveMessages >= MaxMsgs) OR MsgTo$ = "" THEN _         ' DD040706
  2483.           GOTO 4628
  2484.        IF MsgFwd THEN _
  2485.           MsgFwd$ = ZActiveUserName$ : _
  2486.           CALL Trim (MsgFwd$) : _
  2487.           CALL Trim (WasX$) : _
  2488.           MsgFwd$ = "Msg was to " + WasX$ + _
  2489.              ", forwarded by " + MsgFwd$
  2490.        IF (MsgFwd AND CanChangeSec AND NOT MsgFromCaller) THEN _
  2491.           CALL Trim (MsgFrom$) : _
  2492.           ZOutTxt$ = "Message was from " + _
  2493.              MsgFrom$ + _
  2494.              ", change to " + _
  2495.              ZActiveUserName$ + _
  2496.              CHR$(63) + ZNoPrompt$ : _                               ' DD021301
  2497.           GOSUB 12999 : _
  2498.           IF ZYes THEN _
  2499.              MsgFrom$ = ZActiveUserName$ : _
  2500.              CALL Trim (MsgFrom$) : _
  2501.              GOTO 4626
  2502.        IF MsgFwd AND NOT MsgFromCaller THEN _
  2503.           FOR MsgFwdCount = ZLinesInMsg TO 1 STEP -1 : _
  2504.              ZOutTxt$(MsgFwdCount + 2) = ZOutTxt$(MsgFwdCount) : _
  2505.           NEXT MsgFwdCount : _
  2506.           ZOutTxt$(1) = MsgFwd$ : _
  2507.           ZOutTxt$(2) = "" : _
  2508.           ZLinesInMsg = ZLinesInMsg + 2 : _
  2509.           IF NOT CanChangeSec THEN _
  2510.              MsgLockLines = 1
  2511. * REPLACING old line(s) by new
  2512. * ------[ first line different ]------
  2513. 4626   ZWasZ$ = CHR$(76)                             'L              ' DD021301
  2514.        WasL = 1
  2515.        IF ZFullScreenEditor OR ANSIEdActive THEN                     ' DD032202
  2516.           GOSUB 2110                                                 ' AnsiEd
  2517.           GOTO 4628                                                  ' AnsiEd
  2518.        END IF                                                        ' AnsiEd
  2519.        IF NOT ZFullScreenEditor OR NOT ANSIEdActive THEN             ' DD032202
  2520.           GOSUB 43030                                                ' DD031302
  2521.           IF ZYES THEN                                               ' AnsiEd
  2522.              ANSIEdActive = ZTrue                                    ' DD032201
  2523.              GOSUB 2110                                              ' AnsiEd
  2524.           ELSE                                                       ' AnsiEd
  2525.              ANSIEdActive = ZFalse                                   ' DD032201
  2526.              IF ZLinesInMsg >= ZMaxMsgLines THEN _                   ' Mpl090201
  2527.                 CALL QuickTPut (ZFG5$ + "Message Must Be Shorter" + _' DD082302
  2528.                      "Than" + ZFGE$ + STR$(ZMaxMsgLines) + _         ' DD082302
  2529.                      ZFG5$ + " Lines!" + ZEmphasizeOff$,1)           ' DD082302
  2530.              IF NOT MsgFwd THEN _                                    ' Mpl090201
  2531.                 CALL QuickTPut1 (ZFGE$ + "Please delete unneeded " + _' DD082302
  2532.                      "Quoted lines, then " + ZFGB$ + "[C] " + ZFGE$ + _' DD082302
  2533.                      "continues reply" + ZEmphasizeOff$)             ' DD082302
  2534.              GOSUB 3200                                              ' AnsiEd
  2535.              GOSUB 3020                                              ' AnsiEd
  2536.              GOSUB 2300                                              ' AnsiEd
  2537.           END IF                                                     ' AnsiEd
  2538.        END IF                                                        ' AnsiEd
  2539.        GOTO 4628
  2540. * REPLACING old line(s) by new
  2541. 4628   ZReply = ZFalse
  2542.        JustReplied = ZTrue
  2543.        QuotedReply = ZTrue
  2544.        CALL GetMsgAttr
  2545.        DontPrint = ZTrue
  2546. * ------[ first line different ]------
  2547.        ZUserIn$ = CHR$(61)                       '=                  ' DD021301
  2548.        QuotedReply = ZTrue
  2549.        MsgFwd = ZFalse
  2550.        GOTO 4560
  2551. * REPLACING old line(s) by new
  2552. * ------[ first line different ]------
  2553. 4630   MsgTemp$ = ",M)ark, #(s) to read"                             ' DD092102
  2554.        CALL AskMore (MsgTemp$,ZTrue,ZTrue,WasXX,ZFalse)              ' DD092102
  2555.        IF ZMsgDimIndex = EndingMsgIndex AND NOT ReadMsgs THEN _      ' DD092102
  2556.           CALL SkipLine (-QuickScanMsgs) : _                         ' DD092102
  2557.           CALL AskMore (MsgTemp$,ZTrue,ZFalse,WasXX,ZFalse) : _      ' DD092102
  2558.           IF UCASE$(ZUserIn$(1)) <> CHR$(77) THEN _                  ' DD041004
  2559.              CALL QuickTPut (ZFGC$ + "Scanning Messages" + _         ' DD041004
  2560.                              ZEmphaisizeOff$,0)                      ' DD041004
  2561.        IF ZWasQ = 0 OR ZYes THEN _
  2562.           GOTO 4631
  2563.        IF ZNo THEN _
  2564.           RETURN
  2565.        IF ZSubParm = -1 THEN _
  2566.           RETURN 10595
  2567.        IF ZRet THEN _
  2568.           RETURN
  2569.        ZWasZ$ = ZUserIn$(1)
  2570.        CALL AllCaps (ZWasZ$)
  2571.        IF ZWasZ$ = CHR$(77) THEN _                 'M                ' DD021301
  2572.           ZLastIndex = ZWasQ : _
  2573.           ZAnsIndex = 1 : _
  2574.           CALL AskItems (CHR$(77),ZWasZ$,ZTrue,"msg",ZMarkedMsgs$)   ' DD041004
  2575.        IF VAL(ZWasZ$) > 0 THEN _
  2576.           FOR WasI = ZWasQ TO 1 STEP -1 : _
  2577.              ZUserIn$(WasI + 1) = ZUserIn$(WasI) : _
  2578.           NEXT : _
  2579.           ZUserIn$(1) = MID$(ZAllOpts$,INSTR(ZOrigCommands$,CHR$(82)),1) : _ ' DD021301
  2580.           ZLastIndex = ZWasQ + 1 : _
  2581.           ZAnsIndex = 1 : _
  2582.           RETURN 1235
  2583. * REPLACING old line(s) by new
  2584. * ------[ first line different ]------
  2585. 4631   IF NOT Forward AND NOT Reverse THEN _                         ' KG062301
  2586.           GOTO 4370                                                  ' KG062301
  2587.        CALL CheckCarrier                                             ' KG062301
  2588.        IF ZSubParm THEN _
  2589.           RETURN 10595
  2590.        IF ZRet THEN _
  2591.           RETURN
  2592. * REPLACING old line(s) by new
  2593. 4635 IF WasSO = 0 THEN _      ' end msg read loop top is 4552
  2594.         WasSO = 1
  2595.      IF SearchString$ <> "" THEN _
  2596.         SearchCt = SearchCt + 1 : _
  2597.         IF SearchCt > 99 THEN _
  2598.            SearchCt = 0 : _
  2599.            ZOutTxt$ = "Searched for " + SearchString$ + " thru msg" + _
  2600. * ------[ first line different ]------
  2601.                       STR$(CurMsg) + "  Continue?" + ZYesPrompt$ : _ ' DD060101
  2602.            GOSUB 12932 : _
  2603.            IF ZNo THEN _
  2604.               RETURN
  2605.      ZMsgDimIndex = ZMsgDimIndex + WasSO
  2606.      GOTO 4552
  2607. * REPLACING old line(s) by new
  2608. 4637 ZLastIndex = 0
  2609.      CALL SkipLine (1)
  2610.      IF Forward OR Reverse THEN _
  2611.         CALL NextConf (ZGlobalRead) : _
  2612.         IF ZHomeConf$ <> "" THEN _
  2613.            LinkNext = ZTrue : _
  2614.            LinkForward = Forward : _
  2615.            ConfMailJoin = ZTrue : _
  2616.            RETURN 1205
  2617.      IF ReadMsgs THEN _
  2618. * ------[ first line different ]------
  2619.         ZPswdFailed = ZFalse : _                                     ' DD080701
  2620.         SearchString$ = "" : _
  2621.         SearchHeader$ = "" : _
  2622.         SubInHeader$ = "" : _
  2623.         ToRequested = ZFalse : _
  2624.         FromRequested = ZFalse : _
  2625.         AddressedToUser = ZFalse : _
  2626.         GOTO 4370
  2627. * INSERTING new line(s)
  2628. 4640 FOR WasJ = WasI to ZLastIndex-1                                 ' KG013001
  2629.         ZUserIn$(WasJ) = ZUserIn$(WasJ+1)                            ' KG013001
  2630.      NEXT                                                            ' KG013001
  2631.      ZGlobalRead = ZTrue                                             ' KG013001
  2632.      ZLastIndex = ZLastIndex - 1                                     ' KG013001
  2633.      RETURN                                                          ' KG013001
  2634. * REPLACING old line(s) by new
  2635. * ------[ first line different ]------
  2636. 4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)                        ' DD092102
  2637.      GOTO 4380                                                       ' DD092102
  2638. '    CALL QuickTPut1 ("--End Msgs--")                                ' DD092102
  2639. '    RETURN                                                          ' DD092102
  2640. * INSERTING new line(s)
  2641. 4651 '****     print current message        ****                     ' RS090802
  2642.      CALL PrintMsg(OutNum$,OutFrom$,OutTo$,OutRe$,OutRec,OutNumRecs) ' DD090802
  2643.      GOTO 4604                                                       ' RS090802
  2644. * REPLACING old line(s) by new
  2645. 4665 CALL Trim (MsgFrom$)
  2646.      ZOutTxt$ = "Change sender's name from " + _
  2647.         MsgFrom$ + _
  2648.         " to"
  2649.      GOSUB 12995
  2650.      IF ZWasQ = 0 THEN _
  2651.         GOTO 4666
  2652.      IF LEN(ZUserIn$) > 30 THEN _
  2653. * ------[ first line different ]------
  2654.         CALL QuickTPut1 (ZFGF$ + ZBG4$ + "30 Chars max" + _          ' DD082302
  2655.              ZEmphasizeOff$) : _                                     ' DD082302
  2656.         GOTO 4665
  2657.      CALL AllCaps (ZUserIn$)
  2658.      MsgFrom$ = ZUserIn$
  2659. * REPLACING old line(s) by new
  2660. 4666 CALL Trim (MsgTo$)
  2661.      ZOutTxt$ = "Change receiver's name from " + _
  2662.         MsgTo$ + _
  2663.         " to"
  2664.      GOSUB 12995
  2665.      IF ZWasQ = 0 THEN _
  2666.         GOTO 4667
  2667.      IF LEN(ZUserIn$) > 30 THEN _
  2668. * ------[ first line different ]------
  2669.         CALL QuickTPut1 (ZFGF$ + ZBG4$ + "30 Chars max" + _          ' DD082302
  2670.              ZEmphasizeOff$) : _                                     ' DD082302
  2671.         GOTO 4666
  2672.      CALL AllCaps (ZUserIn$)
  2673.      MsgTo$ = ZUserIn$
  2674.      TempMsgTo$ = ZUserIn$
  2675.      CALL SetWhoTo (ZFalse,MsgTo$,MsgFrom$,RcvrRecNum,Found,ZTrue)   ' KG012502
  2676.      IF MsgTo$ = "" THEN MsgTo$ = TempMsgTo$
  2677. * REPLACING old line(s) by new
  2678. 4667 CALL Trim (Subject$)
  2679.      ZOutTxt$ = "Change subject from " + _
  2680.         Subject$ + _
  2681.         " to"
  2682.      GOSUB 12995
  2683.      IF ZWasQ = 0 THEN _
  2684.         GOTO 4668
  2685.      IF LEN(ZUserIn$) > 25 THEN _
  2686. * ------[ first line different ]------
  2687.         CALL QuickTPut1 (ZFGF$ + ZBG4$ + "25 Chars max" + _          ' DD082302
  2688.              ZEmphasizeOff$) : _                                     ' DD082302
  2689.         GOTO 4667
  2690.      CALL AllCaps (ZUserIn$)
  2691.      Subject$ = ZUserIn$
  2692. * REPLACING old line(s) by new
  2693. 4670 MsgTo$ = LEFT$(MsgTo$ + SPACE$(22),22)
  2694.      MsgFrom$ = LEFT$(MsgFrom$ + SPACE$(31),31)
  2695.      Subject$ = LEFT$(Subject$ + SPACE$(25),25)
  2696.      MsgPswd$ = LEFT$(MsgPswd$ + SPACE$(15),15)
  2697.      ZSubParm = 3
  2698.      CALL FileLock
  2699.      GET 1,CurHeader
  2700.      MID$(ZMsgRec$,37,22) = MsgTo$
  2701.      MID$(ZMsgRec$,6,31) = MsgFrom$
  2702.      MID$(ZMsgRec$,76,25) = Subject$
  2703.      MID$(ZMsgRec$,121,2) = MKI$(MsgSec)
  2704.      MID$(ZMsgRec$,101,15) = MsgPswd$
  2705.      IF LEFT$(MsgPswd$,6) = "^READ^" THEN _
  2706. * ------[ first line different ]------
  2707.         MID$(ZMsgRec$,1,1) = STRING$(1,42) _                         ' DD021301
  2708.      ELSE _
  2709.         MID$(ZMsgRec$,1,1) = SPACE$(1)                               ' DD021301
  2710.      PUT 1,CurHeader
  2711.      ZSubParm = 4
  2712.      CALL FileLock
  2713.      CALL QuickTPut1 (ZFGF$ + ZBG2$ + "Message header changed" + _   ' DD082302
  2714.           ZEmphasizeOff$)                                            ' DD082302
  2715.      CALL SkipLine (1)
  2716.      RETURN
  2717. '
  2718. ' ****  O - COMMAND FROM MAIN MENU (OPERATOR PAGE)   ***
  2719. '
  2720. * REPLACING old line(s) by new
  2721. * ------[ first line different ]------
  2722. 4700 CALL InitSysopChat                                              ' DD091303
  2723.      IF ZSubParm < 0 THEN _
  2724.         GOTO 202
  2725.      IF ZPageStatus$ <> "PG!" THEN _                                 ' DD122607
  2726.         RETURN                                                       ' DD122607
  2727.      ZOutTxt$ = "Leave " + ZSysopFirstName$ + _                      ' DD122607
  2728.                  " a message?" + ZNoPrompt$                          ' DD122607
  2729.      GOSUB 12999                                                     ' DD122607
  2730.      IF NOT ZYes THEN _                                              ' DD122607
  2731.         RETURN                                                       ' DD122607
  2732.      CALL SkipLine (1)                                               ' DD122607
  2733.      OrigSubject$ = "While You Were Gone"                            ' DD122607
  2734.      GOSUB 1801                                                      ' DD122607
  2735.      RETURN
  2736. '
  2737. ' ****  S - COMMAND FROM UTILITY MENU (STATISTICS)  ***              'Pe 09/02/91
  2738. '
  2739. * DELETING old line(s)
  2740. 4705
  2741. 4708
  2742. 4710
  2743. 4730
  2744. 4735
  2745. 4740
  2746. 4745
  2747. 4747
  2748. 4750
  2749. 4755
  2750. 4765
  2751. 4770
  2752. * REPLACING old line(s) by new
  2753. * ------[ first line different ]------
  2754. 4850 CALL ShowStatistics (HighestMsgRecord,CurUserCount,MaxMsgs)     ' DD090401
  2755.      RETURN                                                          ' DD090203
  2756. * DELETING old line(s)
  2757. 4855
  2758. 4857
  2759. * REPLACING old line(s) by new
  2760. 4900 CALL UpdtCalr ("Entered " + ZConfName$,3)
  2761. * ------[ first line different ]------
  2762.      CALL SkipLine (1)                                               ' DD031302
  2763.      CALL QuickTPut1 (ZFGF$ + ZBG1$ + "Welcome to " + _              ' DD031302
  2764.           ZFGE$ + ZConfName$ + ZEmphasizeOff$)                       ' DD082302
  2765. * REPLACING old line(s) by new
  2766. * ------[ first line different ]------
  2767. 4905 IF NOT ZTurboLogon THEN _                                       ' Mpl090201
  2768.         GOSUB 1790
  2769. * REPLACING old line(s) by new
  2770. * ------[ first line different ]------
  2771. 5110 CALL QuickTPut1 (ZUserLocation$ + " now " + ZWasCI$)            ' DD012302
  2772.      WasA1$ = "Enter new "                                           ' DD012302
  2773.      ZMacroMin = 99
  2774.      ZParseOff = ZTrue
  2775.      GOSUB 12960
  2776.      CALL NewPassword (ZFB2$ + "Enter new password" + _              ' DD062907
  2777.                        ZEmphasizeOff$ + ZPressEnterExpert$,ZTrue)    ' DD062907
  2778.      IF ZSubParm < 0 THEN _
  2779.         GOTO 202
  2780.      IF ZWasQ = 0 THEN _
  2781.         RETURN
  2782. * REPLACING old line(s) by new
  2783. 5125 IF ZMaxPswdChanges AND _
  2784.         ChangeThisSession > ZMaxPswdChanges AND _
  2785.         NOT ZSysop THEN _
  2786.             ZOutTxt$ = "No changes permitted" : _
  2787.             GOSUB 12975 : _
  2788.             RETURN _
  2789.      ELSE CALL SrchPasswrds (Found) : _
  2790.           IF NOT Found THEN _
  2791.              GOTO 5129 _
  2792.           ELSE ZOutTxt$ = "Temporary change" : _
  2793.                GOSUB 12975 : _
  2794.                ZPswd$ = ZTempPassword$ : _
  2795.                ZSecsPerSession! = ZTempTimeAllowed * 60 : _
  2796.                ZUserSecLevel = ZTempSecLevel : _
  2797.                GOSUB 41070 : _
  2798.                ZSysop = (ZUserSecLevel >= ZSysopSecLevel) : _
  2799.                CALL SetPrompt : _
  2800.                CALL XferType (2,ZTrue)
  2801.      IF ZActiveUserName$ = "SYSOP" THEN _
  2802. * ------[ first line different ]------
  2803.         ZUserIn$(1) = STRING$(8,42)                                  ' DD021301
  2804. * REPLACING old line(s) by new
  2805. 5129 IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  2806. * ------[ first line different ]------
  2807.         CALL QuickTPut1 (ZFGE$ + "Please Quit Conference to " + _    ' DD082302
  2808.              "change personal info" + ZEmphasizeOff$) : _            ' DD082302
  2809.         RETURN
  2810.      GOSUB 12989
  2811.      CALL OpenUser (ZHighestUserRecord)
  2812.      GOSUB 9450
  2813. * REPLACING old line(s) by new
  2814. * ------[ first line different ]------
  2815. 5200 Call LinesPerPage                                               ' DD030103
  2816.      RETURN
  2817. * REPLACING old line(s) by new
  2818. 5280 CALL BreakFileName (ZActiveMsgFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue)
  2819.      WasX$ = UserDrvPath$ + _
  2820.              ZConfName$ + _
  2821.              "U.DEF"
  2822.      CALL FindIt (WasX$)
  2823.      IF NOT ZOK THEN _
  2824. * ------[ first line different ]------
  2825.         CALL BreakFileName (ZActiveUserFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  2826.         WasX$ = UserDrvPath$ + _
  2827.                 ZConfName$ + _
  2828.                 "U.DEF"
  2829.      RETURN
  2830. * REPLACING old line(s) by new
  2831. 5290 CALL NextConf (ZTrue)
  2832.      IF ZHomeConf$ <> "" THEN _
  2833.         ConfMailJoin = ZTrue : _
  2834.         RETURN 1205
  2835.      IF ZLinkedConf$ = "" THEN _
  2836. * ------[ first line different ]------
  2837.         CALL SkipLine (1) : _                                        ' DD031302
  2838.         CALL QuickTPut (ZFGF$ + ZBG1$ + _                            ' DD031302
  2839.                         "No conferences " + _                        ' DD110501
  2840.                         "Found to Join" + ZEmphasizeOff$,2)          ' DD031302
  2841.      GOTO 5301
  2842. * REPLACING old line(s) by new
  2843. * ------[ first line different ]------
  2844. 5300 GOSUB 45020                                                     ' DD051404
  2845.      WasA1$ = ZConfMenu$
  2846.      CALL BreakFileName (ZActiveMessageFile$,MsgDrvPath$,WasX$,ZWasY$,ZTrue)
  2847. '    CALL Talk (12,ZOutTxt$)                                         ' DD060401
  2848. * REPLACING old line(s) by new
  2849. 5301 ZStackC = ZTrue
  2850. * ------[ first line different ]------
  2851.      CALL SubMenu ("Join what, L)ist, M)ain, N)ext, S)ince P)ers, or Name ([Q]uit)",_ ' DD060101
  2852.          WasA1$,MsgDrvPath$,"M.DEF",",M,MAIN,N,S,P,Q,", _
  2853.          ZTrue,ZFalse,ZFalse,"C.DEF",WasX,ZFalse)
  2854.      IF ZWasQ = 0 THEN _
  2855.         RETURN
  2856.      CALL WordInFile (ZConfMailList$,ZWasZ$,ZOK)                     ' DD032401
  2857.      IF NOT ZOK THEN _                                               ' DD032401
  2858.         CALL QuickTPut1 (ZFGE$ + ZWasZ$ + ZFGC$ + _                  ' DD032401
  2859.                          " Not Found!" + ZEmphasizeOff$) : _         ' DD032401
  2860.         GOTO 5300                                                    ' DD032401
  2861.      ZActiveUserName$ = ZOrigUserNameDgs$                            'Dgs-ALias
  2862.      ZFirstName$ = OrigFirstName$                                    'Dgs-ALias
  2863.      IF ZSubParm = -1 THEN _
  2864.         RETURN 10595
  2865.      CALL SetSysOp                                                   ' Pe060893
  2866.      IF ZWasA THEN _                                                 ' Pe060893
  2867.         ZActiveUserName$ = ZSysopFirstName$ + SPACE$(1) + ZSysopLastName$ : _ ' Pe060893
  2868.         ZFirstName$ = ZSysopFirstName$                               ' Pe060893
  2869. * REPLACING old line(s) by new
  2870. 5323 IF ZWasZ$ = "MAIN" THEN _
  2871. * ------[ first line different ]------
  2872.         ZWasZ$ = CHR$(77)                          'M                ' DD021301
  2873.      WasX = (ZWasZ$ = CHR$(77))                                      ' DD021301
  2874.      IF ZWasZ$ = ConfNameSave$ OR (WasX AND ZConfName$ = "MAIN") THEN _
  2875.         CALL QuickTPut1 (ZFGA$ + "You are already in " + _           ' DD082302
  2876.              ZFGB$ + ZConfName$ + ZEmphasizeOff$) : _                ' DD041703
  2877.         GOSUB 2350 : _                                               ' Pe042592
  2878.         RETURN
  2879.      IF ZUserIn$(ZAnsIndex+1) = "!" AND ZAnsIndex < ZLastIndex THEN _ ' KG012801
  2880.         ZTurboLogon = ZTrue : _                                      ' DD041702
  2881.         ZAnsIndex = ZAnsIndex + 1                                    ' KG012801
  2882.      ON INSTR("MNSPQ",ZWasZ$) GOTO 5350,5290,5292,5294,10550
  2883.      IF NOT ZOK THEN _
  2884.         GOTO 5300
  2885.      CLOSE 2
  2886. '
  2887. ' ****  UPDATE PREVIOUS MESSAGE BASE CHECKPOINT RECORD  ***
  2888. '
  2889. * REPLACING old line(s) by new
  2890. 5328 WasX$ = ZConfName$ + _
  2891.           "C.DEF"
  2892.      CALL FindIt (WasX$)
  2893.      ZSubBoard = ZOK
  2894.      IF NOT ZSubBoard THEN _
  2895.         CALL BreakFileName (ZMainMsgFile$,MsgDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  2896.         WasX$ = MsgDrvPath$ + WasX$ : _
  2897.         CALL FindIt (WasX$) : _
  2898.         ZSubBoard = ZOK
  2899.      IF ZSubBoard THEN _
  2900.         IF LEN(ZConfName$) = 6 THEN _
  2901. * ------[ first line different ]------
  2902.            IF LEFT$(ZConfName$,4) = "RBBS" AND RIGHT$(ZConfName$,1) = CHR$(80) THEN _ ' DD021301
  2903.               ZSubBoard = ZFalse
  2904.      IF NOT ZSubBoard THEN _
  2905.         GOSUB 5280 : _
  2906.         ZFileName$ = ZWelcomeFileDrvPath$ + _
  2907.                      ZConfName$ + _
  2908.                      "W.DEF" _
  2909.         ELSE CALL ReadDef (WasX$) : _
  2910.              IF ZErrCode > 0 THEN _
  2911.                 CALL UpdtCalr ("Error"+STR$(ZErrCode)+" reading config file "+WasX$,2) : _
  2912.                 ZErrCode = 0 : _
  2913.                 ZInConfMenu = ZFalse : _
  2914.                 ZOutTxt$ = "error reading subboard" : _
  2915.                 GOTO 5341 _
  2916.              ELSE WasX$ = ZMainUserFile$ : _
  2917.                   ZFileName$ = "" : _
  2918.                   CALL FindIt (ZMainMsgFile$) : _
  2919.                   IF NOT ZOK THEN _
  2920.                      ZOutTxt$ = "msg file missing for" : _
  2921.                      ZInConfMenu = ZFalse : _
  2922.                      GOTO 5341 _
  2923.                   ELSE ZActiveMessageFile$ = ZMainMsgFile$ : _
  2924.                        GOSUB 5343
  2925.      UpdateDate = ZTrue
  2926.      CALL FindIt (WasX$)
  2927.      IF ZOK THEN _
  2928.         GOTO 5330
  2929. '
  2930. ' *****  NO USER FILE - A PUBLIC CONFERENCE   ****
  2931. '
  2932.      ZMainUserFile$ = PrevMainUser$
  2933.      IF (ZUserSecLevel < AutoAddSec) THEN _
  2934.         GOTO 5340
  2935.      GOTO 5345
  2936.      'WasX$ = ZMainUserFile$
  2937.      'ZSysopPswd1$ = ""
  2938.      'ZSysopPswd2$ = ""
  2939. '
  2940. ' ****  CHECK CONFERENCE USER'S FILE  ***
  2941. '
  2942. * REPLACING old line(s) by new
  2943. 5335 IF Found THEN _
  2944.         GOSUB 9500 : _
  2945.         ZMainUserFileIndex = -(ZSubBoard * ZUserFileIndex)_
  2946.                                -((NOT ZSubBoard) * ZMainUserFileIndex) : _
  2947.         Temp = -(ZSubBoard * ZMinLogonSec) _
  2948.                -((NOT ZSubBoard) * AutoAddSec) : _
  2949.         GOSUB 5135 : _
  2950.         GOSUB 5296 : _
  2951.         WasI = (ZUserSecLevel < OrigMainSec) : _
  2952.         WasJ = (ZUserSecLevel < Temp) : _
  2953.         WasK = (WasI AND WasJ) : _
  2954.         IF WasK THEN _
  2955.            ZOutTxt$ = "you have been locked out of" : _
  2956.            GOTO 5341 _
  2957.         ELSE GOSUB 5375 : _
  2958.              GOTO 5345
  2959. '
  2960. ' **** USER NOT FOUND.  AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
  2961. '
  2962.      ZNewUser = ZTrue
  2963.      IF ZSubBoard THEN _
  2964.         AutoAddSec = ZMinLogonSec
  2965.      IF (ZOrigSec >= AutoAddSec) AND _
  2966.         (ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
  2967.         LSET ZUserRecord$ = UserRecordHold$ : _
  2968. * ------[ first line different ]------
  2969.         CALL QuickTPut1 (ZFGE$ + "MEMBER " + ZFG2$ + _               ' DD082302
  2970.              "access granted in " + ZFGB$ + ZConfName$ + _           ' DD082302
  2971.              ZEmphasizeOff$) : _                                     ' DD082302
  2972.         MID$(ZUserOption$,3,2) = MKI$(0) : _
  2973.         MID$(ZUserOption$,1,2) = MKI$(0) : _
  2974.         ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
  2975.         CALL Trim (ZActiveUserName$) : _
  2976.         Temp = -(ZSubBoard * ZDefaultSecLevel) _
  2977.                -((NOT ZSubBoard) * ZUserSecSave) : _
  2978.         CALL SetSysOp : _
  2979.         Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
  2980.         LSET ZSecLevel$ = MKI$(Temp) : _
  2981.         ZUserSecLevel = Temp : _
  2982.         GOSUB 5375 : _
  2983.         ZPageLength = ZPageLengthDef : _
  2984.         GOSUB 12986 : _
  2985.         GOSUB 12630 : _
  2986.         UpdateDate = ZTrue : _
  2987.         Found = ZTrue : _
  2988.         GOTO 5335
  2989.      IF ZOrigSec >= AutoAddSec THEN _
  2990.         CALL QuickTPut1 (ZFGE$ + "GUEST " + ZFG2$ + _                ' DD082302
  2991.              "privileges granted in " + ZFGB$ + ZConfName$ + _       ' DD082302
  2992.              ZEmphasizeOff$) : _                                     ' DD082302
  2993.         ZActiveUserFile$ = PrevUser$ : _
  2994.         UpdateDate = ZFalse : _
  2995.         ZUserFileIndex = PrevIndex : _
  2996.         GOSUB 5382 : _
  2997.         ZUserFileIndex = 0 : _
  2998.         GOTO 5345
  2999.      ZNewUser = ZFalse
  3000. * REPLACING old line(s) by new
  3001. 5340 IF ZInConfMenu THEN _
  3002. * ------[ first line different ]------
  3003.         ZOutTxt$ = "Conference NOT available with your Access Level!" _ ' DD081101
  3004.      ELSE ZOutTxt$ = "Security too low for Conference"               ' UG062402
  3005. * REPLACING old line(s) by new
  3006. * ------[ first line different ]------
  3007. 5341 ZOutTxt$ = ZOutTxt$ + SPACE$(1) + ZConfName$ + "."              ' DD062402
  3008. '
  3009. ' ****  CANNOT JOIN THE REQUESTED CONFERENCE.  THEREFORE, GO BACK  ***
  3010. '
  3011.      GOSUB 1397
  3012.      ZConfName$ = PrevConfName$
  3013.      ConfFileName$ = ZConfName$
  3014.      IF ZSubBoard THEN _
  3015.         CALL ReadDef (PrevDef$)
  3016.      ZActiveMessageFile$ = PrevMsg$
  3017.      GOSUB 5343
  3018.      ZUserFileIndex = PrevIndex
  3019.      ZActiveUserFile$ = PrevUser$
  3020.      GOSUB 5382
  3021.      ZConfMode = ConfModeSave
  3022.      GOSUB 12987
  3023.      ZAnsIndex = 0
  3024.      ZLastIndex = 0
  3025.      GOTO 5301
  3026. '
  3027. ' ****  RESTORE A MESSAGE BASE   ***
  3028. '
  3029. * REPLACING old line(s) by new
  3030. * ------[ first line different ]------
  3031. 5345 DgsStl$ = ""                                                    'Dgs-ALias
  3032.      WHILE DgsAlias$ = ""                                            'Dgs-ALias
  3033.         CALL AliasDgs (ZConfName$,ZOrigUserNameDgs$,DgsAlias$, _     'Dgs-ALias
  3034.                        DgsStl$,DgsFileName$)                         'Dgs-ALias
  3035.      WEND                                                            'Dgs-ALias
  3036.      DgsAlias$ = ""                                                  'Dgs-ALias
  3037.      ZNewsFileName$ = ZWelcomeFileDrvPath$ + ZConfName$ + ".NWS"
  3038.      CALL DeLink (ZConfName$)
  3039.      ConfNameSave$ = ZConfName$
  3040.      ZConfName$ = ZConfName$ + SPACE$(1) + MID$("ConferenceSubboard",1-10*ZSubBoard,10) ' DD021301
  3041.      IF ZGlobalSysop THEN _
  3042.         ZActiveUserName$ = "SYSOP"
  3043.      ZMarkedMsgs$ = ""
  3044.      ZMarkedFiles$ = ""                                              'Pe 03/21/92
  3045. * REPLACING old line(s) by new
  3046. 5348 GOSUB 12987
  3047.      GOSUB 12990
  3048. * ------[ first line different ]------
  3049.      BoardCheckDate$ = LEFT$(STRING$(2,48) + CHR$(45) + STRING$(2,48) + _ ' DD021301
  3050.                              CHR$(45) + STRING$(2,48),-ZNewUser*8) + _ ' DD021301
  3051.                        LEFT$(ZLastDateTimeOn$,-(NOT ZNewUser)*8)
  3052.      IF ZSubBoard THEN _
  3053.         ZHasDoored = ZFalse : _
  3054.         ZActiveFMSDir$ = "" : _
  3055.         ZTimeLoggedOn$ = TIME$ : _
  3056.         RETURN 108
  3057.      ZNewUser = ZFalse
  3058.      GOSUB 827
  3059.      IF UpdateDate THEN _
  3060.         ZTimeLoggedOn$ = TIME$ : _
  3061.         LSET ZLastDateTimeOn$ = ZCurDate$ + _
  3062.                                   SPACE$(1) + _                      ' DD021301
  3063.                                   ZTimeLoggedOn$ : _
  3064.         GOSUB 9440 : _
  3065.         GOSUB 12991
  3066.      IF PrevUSL <> ZUserSecLevel THEN _
  3067.         CALL SetPrompt
  3068.      GOSUB 1241
  3069.      RETURN 852
  3070. '
  3071. ' ****  JOIN M)AIN   ***
  3072. '
  3073. * REPLACING old line(s) by new
  3074. 5350 IF ZConfName$ <> "MAIN" THEN _
  3075. * ------[ first line different ]------
  3076.         CALL SkipLine (1) : _                                        ' DD031302
  3077.         CALL QuickTPut1 (ZFG2$ + "Rejoining " + ZFGB$ + _            ' DD031302
  3078.              OrigMsgName$ + ZEmphasizeOff$)                          ' DD082302
  3079.      ZActiveUserName$ = ZOrigUserNameDgs$                            'Dgs-ALias
  3080.      ZFirstName$ = OrigFirstName$                                    'Dgs-ALias
  3081.      CALL DeLink (ZConfName$)
  3082.      ConfFileName$ = OrigMsgName$
  3083.      ZNewsFileName$ = OrigNewsFileName$
  3084.      ZTurboLogon = ZTrue                                             ' Mpl090201
  3085.      ZMarkedMsgs$ = ""
  3086.      ZMarkedFiles$ = ""                                              'Pe 04/18/92
  3087.      ZWasQ = 0
  3088.      ZNewUser = ZFalse
  3089.      ZInConfMenu = ZTrue
  3090.      IF ZActiveUserName$ = "SYSOP" THEN _
  3091.         ZActiveUserName$ = ZSecretName$ : _
  3092.         CALL Trim (ZActiveUserName$)
  3093.      ZConfigFileName$ = ZOrigCnfg$
  3094.      CALL ReadDef (ZConfigFileName$)
  3095.      IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
  3096.         ZActiveMessageFile$ = ZOrigMsgFile$ : _
  3097.         GOSUB 5343
  3098.      IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  3099.         GOSUB 5380 : _
  3100.         ZActiveUserFile$ = ZOrigUserFile$ : _
  3101.         ZActiveUserName$ = ZOrigUserName$ : _
  3102.         GOSUB 12598 : _
  3103.         GOSUB 12990 : _
  3104.         IF Found THEN _
  3105.            GOSUB 9500 : _
  3106.            ZMainUserFileIndex = ZUserFileIndex : _
  3107.            CALL SetPrompt : _
  3108.            CALL XferType (2,ZTrue) _
  3109.         ELSE ZUserFileIndex = 0 : _
  3110.              ZMainUserFileIndex = 0
  3111.      CALL UpdtCalr ("Exited " + ZConfName$,3)                        ' DD031101
  3112.      ZConfName$ = "MAIN"
  3113.      ConfNameSave$ = ZConfName$
  3114.      GOSUB 2350
  3115.      ZUplds = ZGlobalUplds
  3116.      ZDnlds = ZGlobalDnlds
  3117.      ZDLToday! = ZGlobalDLToday!
  3118.      ZBytesToday! = ZGlobalBytesToday!
  3119.      ZDLBytes! = ZGlobalDLBytes!
  3120.      ZULBytes! = ZGlobalULBytes!
  3121.      ZDropTimes = ZGlobalDropTimes                                   ' DD091401/DROP
  3122.      ZBankTime = ZGlobalBankTime
  3123. * REPLACING old line(s) by new
  3124. 5380 IF ZUserFileIndex < 1 THEN _
  3125.         RETURN
  3126.      IF ZAdjustedSecurity AND NOT ZSysop THEN _
  3127.         LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  3128.         ZUserSecSave = ZUserSecLevel
  3129. * ------[ first line different ]------
  3130.      IF ZSubBoard THEN _                                             'Dgs-ALias
  3131.         ZActiveUserName$ = ZOrigUserNameDgs$ : _                     'Dgs-ALias
  3132.         ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  3133.      CALL UpdateU (ZFalse)
  3134.      RETURN
  3135. '
  3136. ' *****  RESTORE A USER RECORD  ****
  3137. '
  3138. * REPLACING old line(s) by new
  3139. * ------[ first line different ]------
  3140. 5400 CALL ReviewProfile                                              ' DD090203
  3141.      RETURN                                                          ' DD090203
  3142. '
  3143. ' *****  B - COMMAND FROM UTILITY MENU (Bank Time)  ****
  3144. '
  3145. * DELETING old line(s)
  3146. 5410
  3147. * REPLACING old line(s) by new
  3148. * ------[ first line different ]------
  3149. 5500 IF ZUserSecLevel < ZOptSec(27) OR _                             ' DD070202
  3150.         ZTempMaxBank <= 0 THEN RETURN                                ' DD032902
  3151.      GOSUB 5501                                                      ' DD031004
  3152.      CALL BankTime
  3153.      CALL SmartPause                                                 ' DD121501
  3154.      RETURN                                                          'PE 02/11/89
  3155. * INSERTING new line(s)
  3156. 5501 CALL RptTime                                                    ' Mpl090201
  3157.      RETURN                                                          ' Mpl090201
  3158. * REPLACING old line(s) by new
  3159. 8030 MsgTo$ = MID$(ZMsgRec$,37,22)
  3160. * ------[ first line different ]------
  3161.      IF (ZNewUserDGS AND INSTR(MsgTo$,"NEWUSER")) THEN _             'DGS-NEW
  3162.          MsgTo$ = ZActiveUserName$                                   'DGS-NEW
  3163.          CALL SmartText(MsgTo$,ZFalse,ZFalse,ZTrue)                  'Pe 02/06/93
  3164.          CALL Trim (MsgTo$)                                          ' Mpl090201
  3165.      IF ZNumHeaders > 1 THEN _
  3166.         MsgTo$ = MsgTo$ + " et al."
  3167. * REPLACING old line(s) by new
  3168. 8050 MsgFrom$ = MID$(ZMsgRec$,6,31)
  3169.      CALL Trim (MsgFrom$)
  3170.      IF LEN(MsgFrom$) < 23 THEN _
  3171.         MsgFrom$ = MsgFrom$ + _
  3172.                         SPACE$(23 - LEN(MsgFrom$))
  3173. * ------[ first line different ]------
  3174.      Year$ = MID$(STR$(ZMsgPtr(ZActiveMessages,2)),2)                ' DD040706
  3175.      CALL Trim (Year$)                                               ' DD020902
  3176.      IF ZUserSecLevel >= ZSecChangeMsg THEN _
  3177.         Year$ = Year$ + "  SL:" + STR$(MsgSec) : _                   ' DD020902
  3178.         CALL Trim (year$)                                            ' DD020902
  3179.      IF MID$(ZMsgRec$,101,1) = CHR$(33) THEN _        '!             ' DD021301
  3180.         MID$(ZMsgRec$,1,1) = CHR$(33)                                ' DD021301
  3181.      Year2$ = MID$(ZMsgRec$,2,4)                                     ' DD020902
  3182.      CALL Trim (Year2$)                                              ' DD020902
  3183.      IF LEFT$(ZMsgRec$,1) = SPACE$(1) THEN Year3$ = "Public" _       ' DD021301
  3184.      ELSE IF LEFT$(ZMsgRec$,1) = STRING$(1,42) THEN Year3$ = "Private" _' DD021301
  3185.      ELSE Year3$ = "Password"                                        ' DD020902
  3186.      ZOutTxt$ = ZFG2$ + "Msg #: " + _                                ' DD091901
  3187.           ZFGA$ + Year2$ + ZFG2$ + " of " + ZFGA$ + _                ' DD091901
  3188.           Year$ + SPACE$ (26-LEN(Year$)-LEN(Year2$)) + _             ' DD020902
  3189.           ZFG2$ + "Area: " + ZFGA$ + ZConfName$                      ' DD020902
  3190.      Year$ = ZFG3$ + SPACE$(7) + "Sent: " + ZFGB$ + _                ' DD091901
  3191.           MID$(ZMsgRec$,68,8) + _                                    ' DD020902
  3192.           SPACE$(1) + _                                              ' DD021301
  3193.           MID$(ZMsgRec$,59,5)                                        ' DD020902
  3194.      IF NOT ZRet THEN _
  3195.         IF ReadMsgs THEN _
  3196.            CALL QuickTPut1 (ZOutTxt$) : _                            ' DD020902
  3197.            WasX$ = MsgFrom$ : _
  3198.            CALL NameCaps(WasX$) : _                                  'SM091909
  3199.            CALL CheckColor (WasX$,SubInHeader$,ZFGE$) : _            ' DD081801
  3200.            CALL QuickTPut1 (ZFG3$ + " From: " + _                    ' DD091901
  3201.                 ZFGB$ + WasX$ + Year$) : _                           ' DD091901
  3202.            GOSUB 8076 : _
  3203.            WasX$ = MsgTo$ : _
  3204.            CALL NameCaps(WasX$) : _                                  'SM091909
  3205.            CALL CheckColor (WasX$,SubInHeader$,ZFGC$) : _            ' DD081801
  3206.            CALL QuickTPut1 (ZFG5$ + "   To: " + ZFGD$ + _            ' DD091901
  3207.                 WasX$ + SPACE$(2) + ZFG5$ + Year$) : _               ' DD021301
  3208.            CALL NameCaps(Subject$) : _                               'SM091909
  3209.            ZOutTxt$ = ZFG4$ + "   Re: " + ZFGC$ + _                  ' DD091901
  3210.                 Subject$ + SPACE$ (26-LEN(Subject$)) + _             ' DD020902
  3211.                 ZFG4$ + "  Status: " + ZFGC$ + _                     ' DD020902
  3212.                 Year3$ + ZEmphasizeOff$ : _                          ' DD020902
  3213.            CALL CheckColor (ZOutTxt$,SubInHeader$,ZFGC$) : _         ' DD030801
  3214.            CALL AllCaps (Subject$) _                                 'SM091909
  3215.         ELSE ZOutTxt$ = ZFG2$ + LEFT$(ZMsgRec$,5) + _                ' DD090705
  3216.                   SPACE$(1) + _                                      ' DD021301
  3217.                   ZFGB$ + MID$(ZMsgRec$,68,5) + _                    ' DD091901
  3218.                   SPACE$(1) + _                                      ' DD021301
  3219.                   + ZFGE$ + LEFT$(MsgFrom$,18) + _                   ' DD091901
  3220.                   ZFGF$ + " -> " + _                                 ' DD090705
  3221.                   + ZFGD$ + LEFT$(MsgTo$,19) + _                     ' DD091901
  3222.                   SPACE$(1) + _                                      ' DD021301
  3223.                   + ZFGC$ + LEFT$(Subject$,24) + ZEmphasizeOff$ : _  ' DD091901
  3224.              CALL CheckColor (ZOutTxt$,SubInHeader$,"") : _
  3225.              GOTO 8080
  3226.      IF QuickScanMsgs OR _
  3227.         ScanMsgs THEN _
  3228.            GOTO 8080 _
  3229.      ELSE GOTO 8077
  3230. * REPLACING old line(s) by new
  3231. 8076 IF MID$(ZMsgRec$,123,6) = STRING$(6,0) OR _
  3232.         MID$(ZMsgRec$,123,6) = SPACE$(6) THEN _
  3233. * ------[ first line different ]------
  3234.            Year$ = SPACE$(5) + "Rcvd: " + ZFGD$ + "-NO-" : _         ' DD091901
  3235.            RETURN
  3236.      Year$ = SPACE$(5) + "Rcvd: " + ZFGD$ + _                        ' DD091901
  3237.            RIGHT$(STR$(ASC(MID$(ZMsgRec$,123,1))),2) + _
  3238.            CHR$(45) + _                                              ' DD021301
  3239.            RIGHT$(STR$(ASC(MID$(ZMsgRec$,124,1))),2) + _
  3240.            CHR$(45) + _                                              ' DD021301
  3241.            RIGHT$(STR$(ASC(MID$(ZMsgRec$,125,1))),2) + _
  3242.            SPACE$(1) + _                                             ' DD021301
  3243.            RIGHT$(STR$(ASC(MID$(ZMsgRec$,126,1))),2) + _
  3244.            CHR$(58) + _                                              ' DD021301
  3245.            RIGHT$(STR$(ASC(MID$(ZMsgRec$,127,1))),2)
  3246.      FOR WasI = 12 + LEN(ZFGD$) TO 19 + LEN(ZFGD$)                   ' DD032801
  3247.         IF MID$(Year$,WasI,1) = SPACE$(1) THEN _                     ' DD021301
  3248.            MID$(Year$,WasI,1) = CHR$(48)            '0               ' DD021301
  3249.      NEXT
  3250.      FOR WasI = 21 + LEN(ZFGD$) TO 25 + LEN(ZFGD$)                   ' DD032801
  3251.         IF MID$(Year$,WasI,1) = SPACE$(1) THEN _                     ' DD021301
  3252.            MID$(Year$,WasI,1) = CHR$(48)                             ' DD021301
  3253.      NEXT
  3254.      RETURN
  3255. * REPLACING old line(s) by new
  3256. * ------[ first line different ]------
  3257. 9000 IF NOT ZJustSearching THEN _                                    'Pe 05/31/91
  3258.         GOSUB 4656: _
  3259.         CALL SkipLine (1) : _
  3260.         ZLinesInMsg = 1 : _
  3261.         MsgDimXtra = 250 : _                               'was 150  ' DD021701
  3262.         REDIM ZOutTxt$(MsgDimXtra) : _
  3263.         Remain$ = "" : _
  3264.         HiLitedLine = 0
  3265.      RecToRead = ZMsgPtr(ZMsgDimIndex,1) + ZNumHeaders - 1
  3266.      OutRec = ZMsgPtr(ZMsgDimIndex,1) + ZNumHeaders - 1              ' RS090802
  3267.      FOR WasX = ZNumHeaders + 1 TO VAL(MID$(ZMsgRec$,117,4))
  3268.         WasJ = 1
  3269.         RecToRead = RecToRead + 1
  3270.         GET 1, RecToRead
  3271.         IF ZJustSearching THEN _                                     'Pe 05/30/91
  3272.            ZOutTxt$ = ZMsgRec$ : _
  3273.            CALL AllCaps (ZOutTxt$) : _
  3274.            HiLitePos = INSTR(ZOutTxt$,SearchString$) : _
  3275.            IF HiLitePos > 0 THEN _
  3276.               SearchCt = 0 : _
  3277.               HiLiteRec = LOC(1) : _
  3278.               WasX = 9999 : _
  3279.               GOTO 9090 _
  3280.            ELSE GOTO 9090
  3281. * REPLACING old line(s) by new
  3282. 9085    IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
  3283.            LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
  3284.            GOTO 9050
  3285.         ZOutTxt$(ZLinesInMsg) = ZOutTxt$
  3286.         IF Bracketed THEN _
  3287.            Bracketed = ZFalse : _
  3288.            HiLitedLine = ZLinesInMsg
  3289.         ZLinesInMsg = ZLinesInMsg + 1
  3290.         IF ZLinesInMsg > MsgDimXtra THEN _
  3291.            ZLinesInMsg = ZLinesInMsg - 1 : _
  3292.            CALL SkipLine (1) : _
  3293. * ------[ first line different ]------
  3294.            CALL QuickTPut1 (ZFGC$ + "Message too long." + ZCRLf$ + _ ' DD082302
  3295.                 "Truncated to " + ZFGF$ + STR$(MsgDimXtra) + _       ' DD082302
  3296.                 ZFGC$ + " lines!" + ZEmphasizeOff$) : _              ' DD082302
  3297.            ZOutTxt$ = "" : _
  3298.            RETURN
  3299.         CALL CheckColor (ZOutTxt$,SubInHeader$,ZEmphasizeOff$)       ' DD060702
  3300.         IF NOT DontPrint THEN _
  3301.            CALL SmartText(ZoutTxt$,ZFalse,ZFalse,ZTrue) : _          'Pe 02/06/93
  3302.            GOSUB 12979 : _
  3303.            IF ZRet THEN _
  3304.               ZOutTxt$ = "" : _
  3305.               RETURN _
  3306.            ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
  3307.                 IF ZNo THEN _
  3308.                    DontPrint = ZTrue
  3309.         GOTO 9050
  3310. * REPLACING old line(s) by new
  3311. 9090 NEXT
  3312.      IF DontPrint = ZTrue THEN _
  3313.         GOTO 5160
  3314. * ------[ first line different ]------
  3315.      IF ZJustSearching AND HiLitePos > 0 THEN _
  3316.         ZJustSearching = ZFalse : _                                  'PE 05/30/91
  3317.         GET 1,ZMsgPtr(ZMsgDimIndex,1) : _
  3318.         GOSUB 8000 : _
  3319.         GOTO 9000
  3320.      ZOutTxt$ = ""
  3321.      RETURN
  3322. '
  3323. ' *  C - COMMAND FROM UTILITY MENU (Who Uploaded What?)              ' DD090201
  3324. '
  3325. * REPLACING old line(s) by new
  3326. * ------[ first line different ]------
  3327. 9100 CALL WhoDidIt                                                   ' Mpl090201
  3328.      CALL AskMore ("End of Listing",ZTrue,ZFalse,WasX,ZTrue)         'Pe 01/25/92
  3329.      RETURN                                                          ' Mpl090201
  3330. '
  3331. ' * WRITE A RECORD TO THE RBBS-PC "USER" FILE
  3332. '
  3333. * REPLACING old line(s) by new
  3334. 9450 IF LOF(5) < 1 THEN _
  3335.         ZWasDF$ = ZActiveUserFile$ : _
  3336.         RETURN 13600
  3337.      FIELD 5,31 AS ZUserName$, _
  3338.              15 AS ZPswd$, _
  3339.               2 AS ZSecLevel$, _
  3340.              14 AS ZUserOption$,  _
  3341.              24 AS ZCityState$, _
  3342. * ------[ first line different ]------
  3343.               1 AS MachineType$, _                                   ' DD091401/DROP
  3344.               1 AS ZDropTimes$, _                                    ' DD091401/DROP
  3345.               1 AS ZBankTime$,_
  3346.               4 AS ZTodayDl$, _
  3347.               4 AS ZTodayBytes$, _
  3348.               4 AS ZDlBytes$, _
  3349.               4 AS ZULBytes$, _
  3350.              14 AS ZLastDateTimeOn$, _
  3351.               3 AS ZListNewDate$, _
  3352.               2 AS ZUserDnlds$, _
  3353.               2 AS ZUserUplds$, _
  3354.               2 AS ZElapsedTime$
  3355.      FIELD 5,128 AS ZUserRecord$
  3356.      RETURN
  3357. '
  3358. ' * GET USER DEFAULTS
  3359. '
  3360. * REPLACING old line(s) by new
  3361. * ------[ first line different ]------
  3362. 9701 CALL SubMenu ("Read what bulletin(s), L)ist, S)ince, N)ews" + ZPressEnter$, _ ' DD123002
  3363.                    WasA1$, ZBulletinPrefix$,"",ReturnOn$,_
  3364.                    ZFalse,ZFalse,ZFalse,"",WasX,ZTrue)
  3365.      IF ZWasQ = 0 THEN _
  3366.         RETURN
  3367.      CALL CheckCarrier
  3368.      IF ZSubParm = -1 THEN _
  3369.         RETURN 10595
  3370.      IF (ZWasZ$ = STRING$(1,42) OR ZWasZ$ = CHR$(83)) THEN _ 'S      ' DD021301
  3371.         ZPrevPrefix$ = "" : _
  3372.         GOTO 9760
  3373.      ZStopInterrupts = ZFalse
  3374.      IF ZWasZ$ = CHR$(78) THEN _                             'N      ' DD021301
  3375.         GOSUB 1242 : _
  3376.         IF WasZ <> 0 THEN _
  3377.            CALL QuickTPut1 (ZFG3$ + "No " + ZFGB$ + "NEWS " + _      ' DD082302
  3378.                 ZFG3$ + "available" + ZEmphasizeOff$) : _            ' DD082302
  3379.            GOTO 9701 _
  3380.         ELSE GOTO 9703
  3381.      CALL BufFile (ZFileName$,ZAnsIndex)
  3382. * REPLACING old line(s) by new
  3383. 9760 ' ****  [entry when want review plus chance to read] *********
  3384.      GOSUB 9750
  3385. * ------[ first line different ]------
  3386.      IF NumNewBullets > 0 THEN                                       ' DD040804
  3387.         ZLastIndex = NumNewBullets + 1                               ' DD040804
  3388.         DO                                                           ' DD040804
  3389.            ZOutTxt$ = ZFGD$ + "Read ALL new bulletins" + _           ' DD051701
  3390.                       ZEmphasizeOff$ + ZNoPrompt$                    ' DD051701
  3391.            GOSUB 12999                                               ' DD040804
  3392.            CALL AllCaps (ZUserIn$)                                   ' DD040804
  3393.         LOOP UNTIL ZWasQ = 0 OR INSTR("YN",ZUserIn$) <> 0            ' DD051701
  3394.         IF ZWasQ > 0 AND ZUserIn$ <> "N" THEN                        ' DD051701
  3395.            GOSUB 9761                                                ' DD040804
  3396.            ZAnsIndex = 0                                             ' DD040804
  3397.            ZLastIndex = NumNewBullets                                ' DD040804
  3398.            GOTO 9700
  3399.         END IF                                                       ' DD040804
  3400.      END IF                                                          ' DD040804
  3401.      ZLastIndex = 0
  3402.      IF ZAnsIndex < 1 THEN _
  3403.         RETURN
  3404.      GOTO 9701
  3405. * INSERTING new line(s)
  3406. 9761 IF ZUserIn$ <> "Y" THEN _                                       ' DD051701
  3407.         NumNewBullets = ZWasQ _                                      ' KG012401
  3408.      ELSE _                                                          ' KG012401
  3409.         FOR Temp = 1 TO NumNewBullets : _                            ' KG012401
  3410.            ZUserIn$(Temp) = ZOutTxt$(Temp+1) : _                     ' KG012401
  3411.         NEXT                                                         ' KG012401
  3412.      RETURN                                                          ' KG012401
  3413. '
  3414. ' *  W - COMMAND FROM MAIN MENU (WHO'S ON THE OTHER NODES)
  3415. '
  3416. * REPLACING old line(s) by new
  3417. * ------[ first line different ]------
  3418. 9800 CALL PageEm (ZNodeRecIndex - 1, ZMaxNodes)
  3419.      REM ** 'ZNodeRecIndex - 1' is the users actual node number.. is there
  3420.      REM ** already a variable for this?? I dunno..
  3421.      REM **
  3422.      REM ** PageEm will call WhosOn, then ask if they want to page someone
  3423.      REM ** if so, it'll call CBTrueChat
  3424.      REM ** etc..
  3425.      CLOSE 10                                                        ' JM092401/RCHAT
  3426.      GOSUB 5344
  3427.      RETURN
  3428. '
  3429. ' *  1 - COMMAND FROM SYSOP MENU (DISPLAY COMMENTS)
  3430. '
  3431. * REPLACING old line(s) by new
  3432. * ------[ first line different ]------
  3433. 10070 'CALL Muzak (7)                                                ' DD062502
  3434.       ZFileName$ = ZCmntsFile$
  3435.       IF NOT ZStopInterrupts THEN _
  3436.          ZOutTxt$ = "* Ctrl-K(^K) / ^X aborts. ^S suspends, ^Q resumes *" : _
  3437.          GOSUB 12976
  3438.       GOSUB 20150
  3439.       GOSUB 10530                                                    ' DD122402
  3440.       RETURN
  3441. '
  3442. ' *  U - COMMAND FROM UTILITY MENU (DISPLAY USERS)
  3443. ' *  2 - COMMAND FROM SYSOP MENU (DISPLAY USERS)
  3444. '
  3445. * REPLACING old line(s) by new
  3446. * ------[ first line different ]------
  3447. 10090 'CALL Muzak (6)                                                ' DD062502
  3448.       ZOutTxt$ = "List - U)sers, R)ecent callers"
  3449.       ZMacroMin = 2
  3450.       CALL SkipLine (1)
  3451.       GOSUB 12930
  3452.       IF ZWasQ = 0 THEN _
  3453.          RETURN
  3454.       CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  3455.       ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10090,10096,10093
  3456. * REPLACING old line(s) by new
  3457. 10096 UserRecordHold$ = ZUserRecord$
  3458. * ------[ first line different ]------
  3459. '     GOSUB 12700                                                    ' DD062304
  3460.       CALL OpenUser (ZHighestUserRecord)
  3461.       GOSUB 9450
  3462.       ZStopInterrupts = ZFalse
  3463.       WasI = 1
  3464.       ZWasZ$ = ZSecretName$
  3465. * REPLACING old line(s) by new
  3466. 10097 IF WasI > ZHighestUserRecord OR ZRet THEN _
  3467.          GOTO 10099
  3468.       GET 5,WasI
  3469.       WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)
  3470. * ------[ first line different ]------
  3471.       IF ASC(WasX$)=0 OR LEFT$(WasX$,3)=SPACE$(3) THEN _             ' DD021301
  3472.          GOTO 10098
  3473.       IF INSTR(WasX$,ZWasZ$) > 0 OR ZSysopSecLevel <= CVI(MID$(ZUserRecord$,47,2)) THEN _
  3474.          IF NOT ZSysop THEN _
  3475.             GOTO 10098
  3476.       CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
  3477.       IF ZNo OR ZSubParm = -1 THEN _
  3478.          GOTO 10099
  3479.       ZOutTxt$ = LEFT$(WasX$,36) + ZCityState$ + ZLastDateTimeOn$
  3480.       GOSUB 12979
  3481. * REPLACING old line(s) by new
  3482. 10391 CALL ChangeInt (ZFalse,"Recover Msg #",0,1,9999)
  3483.       IF ZWasQ = 0 THEN _
  3484.          RETURN
  3485.       MsgToRecover = ZTestedIntValue
  3486.       GOSUB 5344
  3487.       ActionFlag = ZFalse
  3488. * ------[ first line different ]------
  3489.       CALL RecoverMsg (MsgToRecover,FirstMsgRecord,ActionFlag,ZConfName$) 'Pe 06/09/91
  3490.       MsgRecovered = MsgRecovered OR ActionFlag
  3491.       GOTO 10391
  3492. * REPLACING old line(s) by new
  3493. * ------[ first line different ]------
  3494. 10530 ZOutTxt$ = "Delete comments" + ZNoPrompt$                      ' DD091202
  3495.       GOSUB 12995
  3496.       IF ZYes THEN _
  3497.          CALL OpenOutW (ZCmntsFile$)
  3498.       CLOSE 2
  3499. * REPLACING old line(s) by new
  3500. 10553 CALL UpdtCalr ("Time limit exceeded",1)
  3501. * ------[ first line different ]------
  3502.  CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Sorry " + ZFGE$ + _               ' DD082302
  3503.          ZFirstName$ + ZFGF$ + " Your time limit " + _               ' DD082302
  3504.          "has expired" + ZEmphasizeOff$)                             ' DD082302
  3505.       GOTO 10562                                                     'Pe 02/03/90
  3506. '
  3507. ' *  Q - COMMAND FROM GLOBAL FUNCTIONS
  3508. '
  3509. * REPLACING old line(s) by new
  3510. * ------[ first line different ]------
  3511. 10560 GOSUB 41000                                                    'Pe 02/04/90
  3512.       IF ZExpertUser THEN ZLogoff$ = CHR$(76)             'L         ' DD021301
  3513. * INSERTING new line(s)
  3514. 10562 'GOSUB 5501                                                    ' DD051103
  3515. 10563 GOSUB 44000                                                    ' DD051103
  3516.       CALL UpdtCalr ("Logged off",1)                                 ' DD050903
  3517. '     CALL Muzak (4)                                                 ' DD062502
  3518.       GOTO 10595
  3519. * REPLACING old line(s) by new
  3520. * ------[ first line different ]------
  3521. 10570 GOSUB 41000                                                    'Pe 02/04/90
  3522.       ZLogoff$ = ""                                                  ' Mpl090201
  3523.       GOSUB 45020                                                    ' DD051504
  3524.       CALL SkipLine (1)                                              ' DD021301
  3525.       IF ZExpertUser THEN _                                          ' DD123001
  3526.          GOTO 10575                                                  ' DD123001
  3527. * INSERTING new line(s)
  3528. 10571 ZStopInterrupts = ZTrue                                        'Pe 04/17/92
  3529.       ZDeleteInvalid = ZTrue                                         ' DD022501
  3530.       IF ZTempMaxBank < 1 THEN _                                     ' DD022501
  3531.          HoldOpts$ = ZInvalidOpts$ : _                               ' DD022501
  3532.          ZInvalidOpts$ = ZInvalidOpts$ + CHR$(66)                    ' DD022501
  3533.       ZFileName$ = ZWelcomeFileDrvPath$ + "LOGOFF.MNU"               ' DD060403
  3534.       GOSUB 1790                                                     ' DD022501
  3535.       IF HoldOpts$ <> "" THEN _                                      ' DD022501
  3536.          ZInvalidOpts$ = HoldOpts$                                   ' DD022501
  3537.       ZStopInterrupts = ZFalse                                       'Pe 04/17/92
  3538.       ZDeleteInvalid = ZFalse                                        ' DD022501
  3539. 10575 ZOutTxt$ = ZFGE$ + ZConfName$ + + ZFG2$ + CHR$(58) + _         ' DD021301
  3540.                  ZEmphasizeOff$                                      ' DD123001
  3541.          GOSUB 12978                                                 ' DD123001
  3542.       CALL DispTimeRemain (MinsRemaining)                            ' DD123001
  3543.       ZOutTxt$ = ZFGF$ + "LOGOFF " + ZFG2$ + "command" + ZEmphasizeOff$' DD123001
  3544.       IF NOT ZCmndsInPrompt THEN _                                   ' DD123001
  3545.          GOSUB 12999 : _                                             ' DD123001
  3546.          GOTO 10576                                                  ' DD123001
  3547.       IF ZExpertUser THEN _                                          ' DD123001
  3548.          ZOutTxt$ = ZOutTxt$ + " (?,H,A" + _                         ' DD123001
  3549.                     MID$(",B",1, - (ZTempMaxBank > 0) * 2) + _       ' DD123001
  3550.                     ",C,[G])" _                                      ' DD123001
  3551.       ELSE _                                                         ' DD123001
  3552.          ZOutTxt$ = ZOutTxt$ + " (?,H)elp,A)bort" + _                ' DD123001
  3553.                     MID$(",B)ank",1, - (ZTempMaxBank > 0) * 6) + _   ' DD123001
  3554.                     ",C)omment,[G]oodbye)"                           ' DD123001
  3555.       GOSUB 12999                                                    'Pe 04/25/92
  3556. 10576 CALL AllCaps (ZUserIn$)                                        ' Mpl090201
  3557.       WasX = INSTR("ABCGH?",ZUserIn$)                                ' DD123001
  3558.       IF ZUserIn$ = "" THEN _                                        ' Mpl090201
  3559.          GetOut = ZTrue : _                                          ' Mpl090201
  3560.          GOTO 10562                                                  ' Mpl090201
  3561.       ON WasX GOTO 10580,10583,10581,10582,10571,10571               ' DD123001
  3562.       GOTO 10575                                                     ' DD082001
  3563. 10580 RETURN                                                         ' DD082001
  3564. 10581 ZLogOff$ = CHR$(71)                           'G               ' DD021301
  3565.       GetOut = ZTrue                                                 ' Mpl090201
  3566.       GOSUB 1800
  3567. 10582 GetOut = ZTrue                                                 ' DD082001
  3568.       ZLogOff$ = CHR$(76)                           'L               ' DD021301
  3569.       GOTO 10560                                                     ' DD090203
  3570. 10583 IF ZTempMaxBank <= 0 THEN GOTO 10575                           ' DD032902
  3571.       GetOut = Ztrue                                                 ' DD062503
  3572.       ZLogOff$ = CHR$(76)                                            ' DD021301
  3573.       IF ZTempMaxBank > 0 THEN CALL BankTime                         ' DD062503
  3574.       GOTO 10562                                                     ' DD062503
  3575. * REPLACING old line(s) by new
  3576. * ------[ first line different ]------
  3577. 10590 CALL UpdtCalr ("Sleep disconnect",1)                           ' DD050903
  3578.       ZSubBoard = ZFalse
  3579. * REPLACING old line(s) by new
  3580. 10595 CALL GetTime
  3581.       GOSUB 13700
  3582. * ------[ first line different ]------
  3583.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _              'AUTOLOGOFF MOD
  3584.          ZAutoLogoffReq = ZTrue : _                                  'Pe 10/22/91
  3585.          GetOut = ZTrue : _                                          ' DD011103
  3586.          GOSUB 46000                                                 'Pe 02/03/90
  3587.       ZSubParm = 0
  3588.       CALL Carrier
  3589.       IF ZSubParm = -1 THEN _
  3590.          GOTO 10597
  3591.       IF ZConfName$ = OrigMsgName$ THEN _
  3592.          GetOut = ZTrue
  3593.       IF (ZSubBoard AND _                                            ' DD071701
  3594.          (NOT GetOut) AND _                                          ' DD071701
  3595.          (NOT ZSleepDisconnect) AND _                                ' DD071701
  3596.          (NOT ZAutoLogoffReq)) THEN                                  ' DD071701
  3597.          GOSUB 5380                                                  ' DD071701
  3598.          ZHomeConf$ = CHR$(77)                   'M                  ' DD071701
  3599.          CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Time limit " + _          ' DD082302
  3600.               "exceeded in " + ZFGE$ + ZConfName$ + _                ' DD082302
  3601.               ZEmphasizeOff$)                                        ' DD071701
  3602.          ZSubBoard = ZFalse                                          ' DD071701
  3603.          IF GetOut = ZFalse THEN                                     ' DD071701
  3604.             GOTO 1205                                                ' DD010205
  3605.          END IF                                                      ' DD071701
  3606.       ELSE                                                           ' DD071701
  3607.          IF ZSubBoard AND ZAutoLogOffReq THEN                        ' DD071701
  3608.             GOSUB 44000                                              ' DD071701
  3609.          END IF                                                      ' DD071701
  3610.       END IF                                                         ' DD071701
  3611. * REPLACING old line(s) by new
  3612. * ------[ first line different ]------
  3613. 10597 CALL SayGoodby                                                 ' DD051103
  3614.       IF NOT ZDontShowLogOff THEN                                    ' DD062806
  3615.          GOSUB 5501                                                  ' DD051103
  3616.       END IF                                                         ' DD062806
  3617.       CALL UpdateU (ZTrue)
  3618.       GOTO 13540
  3619. * REPLACING old line(s) by new
  3620. * ------[ first line different ]------
  3621. 10698 'CALL Muzak (5)                                                ' DD062502
  3622.       IF ZFunctionKey = 22 OR ZFunctionKey = 23 THEN _               ' DD092303/LINENOISE
  3623.          GOTO 13545
  3624.       ZOutTxt$ = ZFGE$ + ZBG4$ + " Access denied! " + ZFG7$ + ZBG0$  ' DD090602
  3625.       GOSUB 12976
  3626.       CALL DelayTime (8 + ZBPS)
  3627.       GOTO 13545
  3628. '
  3629. ' *  M - COMMAND FROM UTILITY MENU (CHANGE MARGINS)
  3630. '
  3631. * REPLACING old line(s) by new
  3632. 10930 IF (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  3633. * ------[ first line different ]------
  3634.          CALL QuickTPut1 (ZFGF$ + ZBG4$ + _                          ' DD082302
  3635.               "Remote DOS unavailable" + ZEmphasizeOff$) : _         ' DD082302
  3636.          RETURN
  3637. * REPLACING old line(s) by new
  3638. 10932 IF ZLocalUser AND NOT ZDebug THEN _
  3639. * ------[ first line different ]------
  3640.          CALL QuickTPut1 (ZFGF$ + ZBG4$ + "Only for remote " + _     ' DD082302
  3641.               "SysOps" + ZEmphasizeOff$) : _                         ' DD082302
  3642.          RETURN
  3643.       CALL DosExit
  3644.       ZSubParm = -9
  3645.       CALL FindFKey
  3646.       GOTO 202
  3647. '                                                                    ' DD020602/SFILE
  3648. ' *  8 - COMMAND FROM SYSOP MENU (FMS FILE MAINTENANCE)              ' DD020602/SFILE
  3649. '                                                                    ' DD020602/SFILE
  3650. * INSERTING new line(s)
  3651. 10950 CALL Sysop8                                                    ' DD020602/SFILE
  3652.       IF ZGetExtDesc THEN
  3653.          GOSUB 2008
  3654.          GOTO 10950
  3655.       END IF
  3656.       RETURN                                                         ' DD020602/SFILE
  3657. '
  3658. ' *  D - COMMAND FROM MAIN MENU (EXIT TO DOORS)
  3659. '
  3660. * REPLACING old line(s) by new
  3661. 10970 IF NOT ZDoorsAvail OR _
  3662.          (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  3663. * ------[ first line different ]------
  3664.          CALL QuickTPut1 (ZFGF$ + ZBG5$ + "No doors available" + _   ' DD082302
  3665.               ZEmphasizeOff$) : _                                    ' DD082302
  3666.          RETURN
  3667.       IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
  3668.          CALL TimeLock : _
  3669.          IF NOT ZOK THEN _
  3670.             RETURN
  3671. * REPLACING old line(s) by new
  3672. 10974 WasA1$ = ZMenu$(5)
  3673. * ------[ first line different ]------
  3674. '     CALL Talk (5,ZOutTxt$)                                         ' DD060401
  3675.       ZStackC = ZTrue
  3676.       GOSUB 41000                                                    ' JA010801
  3677.       CALL SubMenu ("Open which door, L)ist" + ZPressEnterExpert$, _
  3678.                     WasA1$,"",".BAT","",_
  3679.                     ZTrue,ZFalse,ZFalse,"",InMenu,ZFalse)
  3680.       IF ZWasQ = 0 THEN _
  3681.          RETURN
  3682.       IF ZSubParm = -1 THEN _
  3683.          RETURN 10595
  3684. * REPLACING old line(s) by new
  3685. 10986 ZWasZ$ = ZFileName$
  3686. * ------[ first line different ]------
  3687.       ZMenuDoors = ZMenuDoors + 1                                    ' DD090901/MENU0
  3688.       CALL DoorExit (NOT InMenu)
  3689. '     GOTO 10974                                                     ' Mpl090201
  3690.       CALL SkipLine (1)                                              ' DD031302
  3691.       CALL QuickTput (ZFGF$ + ZBG1$ + "Welcome back " + _            ' DD031302
  3692.            ZFirstName$ + CHR$(33) + ZFG0$,2)                         ' DD031302
  3693.       RETURN 1232                                                    'Pe 07/12/92
  3694. '
  3695. ' *  5 - COMMAND FROM SYSOP MENU (USER FILE MAINTENANCE)
  3696. '
  3697. * REPLACING old line(s) by new
  3698. 11000 EditFromRead = 0                                               ' DD032701
  3699. * DELETING old line(s)
  3700. 11001
  3701. 11003
  3702. 11005
  3703. * REPLACING old line(s) by new
  3704. * ------[ first line different ]------
  3705. 11010 WasTU = ZUserFileIndex                                         ' DD032701
  3706.       CALL DefaultU
  3707.       UserRecordHold$ = ZUserRecord$
  3708.       RegDateHold$ = ZRegDate$
  3709.       UserSecLevelSave = ZUserSecLevel
  3710.       CALL UserEd (EditFromRead,TempHashValue$,UserRecordHold$,RegDateHold$,UserSecLevelSave,WasTU) ' PE012301
  3711.       IF EditFromRead = 3 THEN GOTO 4560
  3712.       RETURN
  3713. '
  3714. ' *  ALLOW USERS TO ANSWER A "QUESTIONNAIRE" BASED ON THE RBBS-PC SCRIPT
  3715. '
  3716. * DELETING old line(s)
  3717. 11015
  3718. 11107
  3719. 11110
  3720. 11115
  3721. 11125
  3722. 11127
  3723. 11130
  3724. 11160
  3725. 11185
  3726. 11190
  3727. 11220
  3728. 11290
  3729. 11310
  3730. 11311
  3731. 11320
  3732. 11325
  3733. 11330
  3734. 11340
  3735. 11341
  3736. 11342
  3737. 11345
  3738. 11380
  3739. 11390
  3740. 11395
  3741. 11400
  3742. 11420
  3743. 11423
  3744. 11450
  3745. 11455
  3746. 11490
  3747. * REPLACING old line(s) by new
  3748. 11520 CALL AskUsers
  3749.       IF NOT ZOK THEN _
  3750.          RETURN
  3751.       IF ZAdjustedSecurity THEN _
  3752.          GOSUB 12989 : _
  3753.          LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  3754.          GOSUB 9440 : _
  3755.          GOSUB 12991 : _
  3756.          CALL SetPrompt : _
  3757.          CALL XferType (2,ZTrue) : _
  3758.          GOSUB 5135
  3759.       REDIM ZOutTxt$(ZMsgDim)
  3760.       IF ZSubParm = -1 THEN _
  3761.          RETURN 10595
  3762.       ZOK = ZTrue
  3763.       RETURN
  3764. '
  3765. * ------[ first line different ]------
  3766. ' *  GET USER First AND Last NAMES
  3767. '
  3768. * DELETING old line(s)
  3769. 12300
  3770. 12310
  3771. 12311
  3772. 12320
  3773. 12330
  3774. * REPLACING old line(s) by new
  3775. 12500 IF Attempts > 5 THEN _
  3776.          ZFF = ZTrue : _
  3777.          RETURN
  3778. * ------[ first line different ]------
  3779. 12510'GOSUB 12700                                                    ' DD062304
  3780.       Attempts = Attempts + 1
  3781.       ZOutTxt$ = WasA1$ + _
  3782.            ZFirstNamePrompt$
  3783.       CALL SkipLine (1)
  3784.       ZLogonActive = ZTrue
  3785.       GOSUB 12555
  3786.       ZLogonActive = ZFalse
  3787.       CALL Trim (ZWasZ$)
  3788.       ZFirstName$ = ZWasZ$
  3789. * DELETING old line(s)
  3790. 12510
  3791. * REPLACING old line(s) by new
  3792. 12540 CALL Trim (ZWasZ$)
  3793.       ZLastName$ = ZWasZ$
  3794.       IF LEN(ZLastName$) < 2 THEN _
  3795.          IF LEN(ZFirstName$) > 2 THEN _
  3796.             GOTO 12500
  3797.       IF (LEN(ZFirstName$) + LEN(ZLastName$)) > 30 THEN _
  3798.          GOTO 12500
  3799.       IF UserSecLevelSave < ZSysopSecLevel THEN _
  3800.          IF (LEN(ZFirstName$) < 2 OR LEN(ZLastName$) < 2) THEN _
  3801.             GOTO 12500 _
  3802. * ------[ first line different ]------
  3803.          ELSE IF LEFT$(ZFirstName$,1)=SPACE$(1) OR LEFT$(ZLastName$,1)=SPACE$(1) THEN _ ' DD021301
  3804.                  GOTO 12500
  3805. * REPLACING old line(s) by new
  3806. * ------[ first line different ]------
  3807. 12550 ZActiveUserName$ = MID$(ZFirstName$ + SPACE$(1) + ZLastName$,1,31) ' DD021301
  3808.       IF HashIndiv > 1 THEN _
  3809.          IF ZWasQ < 3 THEN _
  3810.             GOSUB 12558 : _
  3811.             IF ZNo THEN _
  3812.                GOTO 12500
  3813.       ZWasZ$ = ZFirstName$
  3814.       RETURN
  3815. '
  3816. ' *  CHECK FOR NAMES NOT ALLOWED
  3817. '
  3818. * REPLACING old line(s) by new
  3819. * ------[ first line different ]------
  3820. 12558 CALL QuickTPut(ZFGE$ + "Are you '" + _                         ' DD122101
  3821.                      ZFGC$ + ZActiveUserName$ + _                    ' DD122101
  3822.                      ZFGE$ + "'?" + ZEmphasizeOff$,0)                ' DD122101
  3823.       ZOutTxt$ = ZYesPrompt$                                         ' DD122101
  3824.       GOSUB 12995
  3825.       RETURN
  3826. * REPLACING old line(s) by new
  3827. 12600 GOSUB 4910
  3828.       GOSUB 12988
  3829.       IF ZInConfMenu THEN _
  3830. * ------[ first line different ]------
  3831.          IF NOT ZPrivateDoor AND NOT ZSubBoard THEN _                ' DD020601
  3832.             CALL QuickTPut1 (ZFGB$ + "Checking " + ZFGA$ + _         ' DD091701
  3833.                              ConfFileName$ + ZFGB$ + _               ' DD091701
  3834.                              " Users..." + ZFG7$ + ZBG0$)            ' DD082701
  3835. * REPLACING old line(s) by new
  3836. 12632 GOSUB 24000
  3837.       GOSUB 12985
  3838.       IF ZRememberNewUsers THEN _
  3839.          GOSUB 12989
  3840.       GOSUB 12990
  3841.       RETURN
  3842. '
  3843. ' *  INFORM USER OF WHAT CONFERENCE USER FILE HE IS VIEWING
  3844. '
  3845. * ------[ first line different ]------
  3846. '12700 IF ZConfMode THEN _                                           ' DD062304
  3847. '        ZOutTxt$ = "Users of " + _                                  ' DD062304
  3848. '             ZConfName$ + _                                         ' DD062304
  3849. '             CHR$(58) : _                               ':          ' DD062304
  3850. '        GOSUB 12979                                                 ' DD062304
  3851. '     RETURN                                                         ' DD062304
  3852. '
  3853. ' *  GET PASSWORD FROM NEWUSER
  3854. '
  3855. * DELETING old line(s)
  3856. 12700
  3857. * REPLACING old line(s) by new
  3858. * ------[ first line different ]------
  3859. 12800 CALL SkipLine (1)                                              ' DD031302
  3860.       CALL NewPassword (ZFG2$ + "Enter " + _                         ' DD062907
  3861.                         ZFGE$ + "PASSWORD " + _                      ' DD062907
  3862.                         ZFG2$ + "you'll use to logon again" + _      ' DD062907
  3863.                         ZEmphasizeOff$,ZFalse)                       ' DD062907
  3864.       IF ZSubParm < 0 THEN _
  3865.          GOTO 202
  3866.       IF UserSecLevelSave < ZSysopSecLevel THEN _
  3867.          IF ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
  3868.             GOTO 12800
  3869.       LSET ZPswd$ = ZWasZ$
  3870.       RETURN
  3871. '
  3872. ' *  GET HASH VALUE FOR CURRENT USER TO LOOK UP IN THE USER'S FILE
  3873. '
  3874. * REPLACING old line(s) by new
  3875. * ------[ first line different ]------
  3876. 12960 ZOutTxt$ = ZCRLf$ + ZFG9$ + WasA1$ + _                         ' DD062906
  3877.                  ZFGB$ + ZUserLocation$ + ZEmphasizeOff$             ' DD062906
  3878.       IF NOT ZNewUser THEN _
  3879.          ZOutTxt$ = ZOutTxt$ + ZPressEnterExpert$                    ' DD062906
  3880.       ZParseOff = ZTrue
  3881.       GOSUB 12932
  3882.       IF ZWasQ = 0 OR ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
  3883.          IF ZNewUser THEN _
  3884.             GOTO 12960 _
  3885.          ELSE RETURN
  3886.       CALL AllCaps (ZUserIn$)
  3887.       CALL QuickTPut1 (ZFGB$ + ZUserLocation$ + _                    ' DD030104
  3888.                        ZFG9$ + " Set to " + ZFGB$ + _                ' DD030104
  3889.                        ZUserIn$ + ZEmphasizeOff$)                    ' DD030104
  3890.       LSET ZCityState$ = ZUserIn$
  3891.       ZWasCI$ = ZUserIn$
  3892.       RETURN
  3893. '
  3894. ' * CALLS INTO SEPARATELY COMPILED SUBROUTINES (RBBS-SUB)
  3895. '
  3896. '
  3897. ' * STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL OUTPUT ROUTINE
  3898. '
  3899. * DELETING old line(s)
  3900. 12962
  3901. 12963
  3902. 12965
  3903. 12966
  3904. 12967
  3905. 12968
  3906. 12969
  3907. 12970
  3908. 12971
  3909. 12972
  3910. * REPLACING old line(s) by new
  3911. 13000 IF ZDebug THEN _
  3912.          ZOutTxt$ = "DEBUG Trap ERL=" + _
  3913.               STR$(ZWasEL) + _
  3914.               " ERR=" + _
  3915.               STR$(ZErrCode) : _
  3916.               CALL Printit(ZOutTxt$) : _
  3917.               WasD$ = ZOutTxt$ : _
  3918.               GOSUB 1315
  3919.       IF ZWasEL = 1905 AND ZErrCode = 63 THEN _
  3920.          CLOSE 1 : _
  3921.          KILL ZActiveMessageFile$ : _
  3922.          GOTO 5350
  3923.       IF ZWasEL = 4371 AND ZErrCode = 6 THEN _
  3924.          GOTO 1200
  3925. * ------[ first line different ]------
  3926. '     IF ZWasEL =  4740 THEN _                                       ' DD091303
  3927. '        GOTO 4745                                                   ' DD091303
  3928. * REPLACING old line(s) by new
  3929. 13555 ZActiveMessageFile$ = ZOrigMsgFile$
  3930. * ------[ first line different ]------
  3931.       CALL KillWork (ZArkViewPath$ + "*.*")                          ' DGS050601/DS
  3932.       GOSUB 12986
  3933.       GOSUB 5344
  3934.       GET 1,ZNodeRecIndex
  3935.       MID$(ZMsgRec$,57,1) = CHR$(73)                   'I            ' DD021301
  3936.       MID$(ZMsgRec$,40,2) = " 0"
  3937.       MID$(ZMsgRec$,72,2) = " 0"
  3938.       IF MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$ THEN _
  3939.          MID$(ZMsgRec$,101,2) = " 0"
  3940.       PUT 1,ZNodeRecIndex
  3941.       GOSUB 12985
  3942.       CLOSE 1,2,4,5,16                                               ' DD050701
  3943.       IF NOT ZFossil THEN _
  3944.          CLOSE 3
  3945. '     IF ZRecycleToDos THEN _                                        ' DD052301
  3946. '        GOTO 203                                                    ' DD052301
  3947.       GOTO 203                                                       ' DD052301
  3948. '     WasJ = 60                                                      ' DD052301
  3949. '     ZMsgDim = 199                                                  ' DD052701
  3950. '     REDIM ZWorkAra$(WasJ)                                          ' DD052301
  3951. '     REDIM ZOutTxt$(ZMsgDim)                                        ' DD052301
  3952. '     REDIM ZUserIn$(ZMsgDim)                                        ' DD052301
  3953. '     RUN                                                            ' DD052301
  3954. * REPLACING old line(s) by new
  3955. 20140 CALL GetArc
  3956.       IF ZSubParm = -1 THEN _
  3957. * ------[ first line different ]------
  3958.          GOTO 10595                                                  'PE 10/22/91
  3959.       IF ZDenyAccess THEN _
  3960.          GOTO 1386
  3961.       RETURN
  3962. '
  3963. ' * GO TO THE FILE SYSTEM TO LIST THE SYSOP'S COMMENTS
  3964. '
  3965. * REPLACING old line(s) by new
  3966. * ------[ first line different ]------
  3967. 20170 IF ZBatchProto OR LEFT$(ZProtoPrompt$,1) = CHR$(78) THEN _     ' DD031502
  3968.          ZOutTxt$ = "Will this be a BATCH Upload?" + ZNoPrompt$ : _  ' DD031502
  3969.          GOSUB 12995 : _                                             ' DD031502
  3970.          IF ZYes THEN _                                              ' DD090201
  3971.             GOTO 20195                                               ' DD090201
  3972.       ZFileSysParm = 5
  3973.       GOTO 20200
  3974. '
  3975. ' * GO TO THE FILE SYSTEM TO SCAN FILE SYSTEM DIRECTORIES
  3976. '
  3977. * REPLACING old line(s) by new
  3978. 20190 ZFileSysParm = 9
  3979. * ------[ first line different ]------
  3980.       GOTO 20200
  3981. '
  3982. ' * Go To the File System to Handle BATCH UPLOADS
  3983. '
  3984. * INSERTING new line(s)
  3985. 20195 ZFileSysParm = 10
  3986. '
  3987. * REPLACING old line(s) by new
  3988. 20200 CALL FileSystem
  3989. * ------[ first line different ]------
  3990.       IF ZDnldCompleted AND ZAutoEnd = 1 AND ZAutoLogoffReq THEN _   'Pe 122092
  3991.          GOTO 20235                                                  'AUTO Loggoff Mod
  3992.       ON ZFileSysParm GOTO 20205, _
  3993.                                 20210, _
  3994.                                 20215, _
  3995.                                 20220, _
  3996.                                 20225, _
  3997.                                 20230, _
  3998.                                 20235
  3999. * REPLACING old line(s) by new
  4000. * ------[ first line different ]------
  4001. 20205 ZFileSysParm = 0                                               ' DD031501
  4002.       IF ZDOZFile$ <> "" THEN                                        ' DD070702
  4003.          CALL KillWork (ZUpldSubDir$ + CHR$(92) + ZDOZFile$)         ' DD070702
  4004.       END IF                                                         ' DD070702
  4005.       RETURN
  4006. * REPLACING old line(s) by new
  4007. 23000 GET 1,1
  4008. * ------[ first line different ]------
  4009.       ZHighMsgNumber = VAL(LEFT$(ZMsgRec$,8))                        ' DD040707
  4010.       AutoAddSec   = CVI(MID$(ZMsgRec$,9,2))
  4011.       ZCallsToDate! = VAL(MID$(ZMsgRec$,11,10))                      ' DD040705
  4012.       ZMsgSecCats$ = LEFT$(CHR$(85),-(MID$(ZMsgRec$,21,1) <> CHR$(47))) + _ ' DD021301
  4013.                      LEFT$(CHR$(82),-(MID$(ZMsgRec$,22,1) <> CHR$(47))) + _ ' DD021301
  4014.                      LEFT$(CHR$(80),-(MID$(ZMsgRec$,23,1) <> CHR$(47))) + _ ' DD021301
  4015.                      CHR$(69)                                        ' DD021301
  4016.       IF ZUserSecLevel >= ZSecKillAny THEN _
  4017.           ZMsgSecCats$ = "URPE"                                      ' Mpl090201
  4018.       IF ZMsgSecCats$ = CHR$(69) THEN _              'E              ' DD021301
  4019.          ZMsgSecCats$ = "UE"                                         ' Mpl090201
  4020.       CurUserCount = VAL(MID$(ZMsgRec$,57,5))
  4021.       FirstMsgRecord = VAL(MID$(ZMsgRec$,68,7))
  4022.       ZNextMsgRec = VAL(MID$(ZMsgRec$,75,7))
  4023.       HighestMsgRecord = VAL(MID$(ZMsgRec$,82,7))
  4024.       IF ZActiveMessageFile$ = ZOrigMsgFile$ THEN _
  4025.          ZMaxNodes = VAL(MID$(ZMsgRec$,127))
  4026.       RETURN
  4027. * REPLACING old line(s) by new
  4028. 23100 GET 1,ZNextMsgRec
  4029. * ------[ first line different ]------
  4030.       IF MID$(ZMsgRec$,61,1) = CHR$(58) THEN _       ':              ' DD021301
  4031.          CALL CheckInt (MID$(ZMsgRec$,117,4)) : _
  4032.          IF ZErrCode = 0 AND (ZTestedIntValue > 1) AND _             ' DD082301
  4033.             (ZTestedIntValue < 100) THEN _                           ' DD082301
  4034.             WasY = ZTestedIntValue : _
  4035.             CALL CheckInt (MID$(ZMsgRec$,2,4)) : _
  4036.             IF ZErrCode = 0 AND ZTestedIntValue > ZHighMsgNumber THEN _ ' DD040707
  4037.                ZHighMsgNumber = ZTestedIntValue : _                  ' DD040707
  4038.                ZNextMsgRec = ZNextMsgRec + WasY : _
  4039.                CALL QuickTPut1 ("Fixing Msg Header") : _
  4040.                MsgCorrected = ZTrue : _
  4041.                GOTO 23100
  4042.       RETURN
  4043. '
  4044. ' *  UPDATE MESSAGE HEADER RECORD DATA
  4045. '
  4046. * REPLACING old line(s) by new
  4047. * ------[ first line different ]------
  4048. 24000 MID$(ZMsgRec$,1,8) = STR$(ZHighMsgNumber)                      ' DD040707
  4049.       MID$(ZMsgRec$,11,10) = STR$(ZCallsToDate!)                     ' DD040705
  4050.       MID$(ZMsgRec$,57,5) = STR$(CurUserCount)
  4051.       MID$(ZMsgRec$,68,7) = STR$(FirstMsgRecord)
  4052.       MID$(ZMsgRec$,75,7) = STR$(ZNextMsgRec)
  4053.       MID$(ZMsgRec$,82,7) = STR$(HighestMsgRecord)
  4054.       PUT 1,1
  4055.       RETURN
  4056. '
  4057. ' * A - COMMAND FROM Library MENU (ARCHIVE A SELECTED Library DISK)
  4058. '
  4059. * REPLACING old line(s) by new
  4060. * ------[ first line different ]------
  4061. 30000 'ZSubParm = 4                                                  ' Mpl090201
  4062. '      CALL Library                                                  ' Mpl090201
  4063. '      IF ZSubParm = -1 THEN _                                       ' Mpl090201
  4064. '         RETURN 10595                                               ' Mpl090201
  4065.       RETURN
  4066. '
  4067. ' * C - COMMAND FROM Library MENU (CHANGE TO A Library DISK)
  4068. '
  4069. * REPLACING old line(s) by new
  4070. * ------[ first line different ]------
  4071. 30100 'ZSubParm = 2                                                  ' Mpl090201
  4072. '      CALL Library                                                  ' Mpl090201
  4073. '      RETURN                                                        ' Mpl090201
  4074. '
  4075. ' * D - COMMAND FROM Library MENU (DOWNLOAD A DISK/FILE FROM Library)
  4076. '
  4077. * REPLACING old line(s) by new
  4078. * ------[ first line different ]------
  4079. 30200 'IF ZTimeLock AND 2 AND NOT ZHasPrivDoor THEN _                ' Mpl090201
  4080. '         CALL TimeLock : _                                          ' Mpl090201
  4081. '         IF NOT ZOK THEN _                                          ' Mpl090201
  4082. '            RETURN                                                  ' Mpl090201
  4083. '      IF ZLibDiskChar$ = STRING$(4,48) THEN _                       ' DD021301
  4084. '         CALL QuickTPut1 ("You must select a Library disk first!") : _ ' Mpl090201
  4085. '         RETURN                                                     ' Mpl090201
  4086. '      ZSubParm = 3                                                  ' Mpl090201
  4087. '      CALL Library                                                  ' Mpl090201
  4088. '      GOTO 20160                                                    ' Mpl090201
  4089. '
  4090. ' * CALCULATE TIME REMAINING FOR USER
  4091. '
  4092. * REPLACING old line(s) by new
  4093. 41000 CALL CheckTimeRemain (MinsRemaining)
  4094. * ------[ first line different ]------
  4095.       IF ZSubParm = -1 THEN                                          ' DGS051504-DS
  4096.          CALL FindFile("XFER-" + ZNodeID$ + ".DEF", ZOK)             ' DGS051504-DS
  4097.          IF ZOK THEN                                                 ' DGS051504-DS
  4098.             TempParm = ZFileSysParm                                  ' DGS051504-DS
  4099.             ZFileSysParm = 4                                         ' DGS051504-DS
  4100.             CALL QuickTPut1(ZFGF$ + ZBG1$ + "Processing files " + _
  4101.                  "before logging off" + ZFG0$)                       ' DGS051504-DS
  4102.             CALL FileSystem                                          ' DGS051504-DS
  4103.             ZFileSysParm = TempParm                                  ' DGS051504-DS
  4104.          END IF                                                      ' DGS051504-DS
  4105.          RETURN 10553
  4106.       END IF                                                         ' DGS051504-DS
  4107.       RETURN
  4108. '
  4109. ' * SHOW USER CURRENT ACCESS LEVEL
  4110. '
  4111. * REPLACING old line(s) by new
  4112. * ------[ first line different ]------
  4113. 41070 ZOutTxt$ = ZFG2$ + "Granted access level" + _                  ' DD082001
  4114.            ZFGB$ + STR$(ZUserSecLevel) + SPACE$(1) + _               ' DD021301
  4115.            ZFGF$ + ZBG1$ + MID$("(SYSOP)",1,-8 * _                   ' DD082301
  4116.            (ZUserSecLevel >= ZSysopSecLevel)) + ZBG0$                ' DD082001
  4117.       GOSUB 12975
  4118.       RETURN
  4119. '
  4120. ' * NULLS SET FOR NEW USERS
  4121. '
  4122. * REPLACING old line(s) by new
  4123. * ------[ first line different ]------
  4124. 42700 CALL SelectTurboKeys                                           ' DD062904
  4125.       RETURN
  4126. '
  4127. ' *  F - COMMAND FROM UTILITY MENU (FILE Transfer DEFALUT MODE)
  4128. ' *  FILE Transfer DEFAULT SET FOR NEW USERS
  4129. '
  4130. * REPLACING old line(s) by new
  4131. 42800 ZFF = INSTR(ZDefaultXfer$,ZUserXferDefault$)
  4132.       IF ZFF = 0 THEN _
  4133. * ------[ first line different ]------
  4134.          ZFF = INSTR(ZInternalEquiv$,CHR$(78))   'N                  ' DD021301
  4135.       CALL QuickTPut1 (ZCRLf$ + ZFG2$ + "Current Protocol: " + _     ' DD070801
  4136.            ZFGE$ + ZProtoPrompt$ + ZEmphasizeOff$)                   ' DD082501
  4137. * REPLACING old line(s) by new
  4138. * ------[ first line different ]------
  4139. 42805 ZOutTxt$ = ZFGE$ + "Default "                                  ' DD082501
  4140.       CALL XferType (3,ZExpertUser)
  4141.       IF ZSubParm = -1 THEN _
  4142.          RETURN 10595
  4143.       ZUserXferDefault$ = ZWasFT$
  4144. * REPLACING old line(s) by new
  4145. * ------[ first line different ]------
  4146. 42810 ZOutTxt$ = ZFG2$ + "Protocol: " + ZFGE$ + ZProtoPrompt$ + _    ' DD070801
  4147.                  ZEmphasizeOff$                                      ' DD070801
  4148.       GOSUB 12979
  4149.       RETURN
  4150. '
  4151. ' *  C - COMMAND FROM UTILITY MENU (CHANGE CASE Toggle)
  4152. ' *  UPPER/LOWER CASE SET FOR NEW USERS
  4153. '
  4154. * REPLACING old line(s) by new
  4155. * ------[ first line different ]------
  4156. 42850 CALL ChangeEchoToggle                                          ' DD070904
  4157.       IF ZSubParm < 0 THEN _                                         ' DD011201
  4158.          GOTO 202                                                    ' DD011201
  4159.       RETURN
  4160. '
  4161. ' *  G - COMMAND FROM UTILITY MENU (GRAPHICS WANTED)
  4162. ' *  Graphic MENUS SELECTION SET FOR NEW USERS
  4163. '
  4164. * DELETING old line(s)
  4165. 42851
  4166. 42852
  4167. * REPLACING old line(s) by new
  4168. * ------[ first line different ]------
  4169. 43000 CALL SetGraphicsWanted                                         ' DD011201
  4170.       IF ZSubParm = -1 THEN _
  4171.          RETURN 10595
  4172.       RETURN
  4173. * DELETING old line(s)
  4174. 43005
  4175. 43020
  4176. 43022
  4177. * REPLACING old line(s) by new
  4178. 43025 CALL Graphic (ZFileName$)
  4179. * ------[ first line different ]------
  4180.  
  4181. '
  4182. ' *  DISPLAY NON-BREAKABLE TEXT FILES
  4183. '
  4184. * REPLACING old line(s) by new
  4185. 43027 ZStopInterrupts = ZTrue
  4186.       CALL BufFile (ZFileName$,WasX)
  4187.       CALL Carrier
  4188.       IF ZSubParm = -1 THEN _
  4189.          RETURN 10595
  4190.       ZStopInterrupts = ZFalse
  4191.       RETURN
  4192. * ------[ first line different ]------
  4193. '                                                                    ' DD031302
  4194. ' * Prompt to use Full Screen Editor                                 ' DD031302
  4195. '                                                                    ' DD031302
  4196. * INSERTING new line(s)
  4197. 43030 ZOutTxt$ = "Use the Full Screen Editor?" + ZNoPrompt$          ' DD031302
  4198.       GOSUB 12930                                                    ' DD031302
  4199.       RETURN                                                         ' DD031302
  4200. '                                                                    ' DD051103
  4201. ' * Run Epilog File                                                  ' DD051103
  4202. '                                                                    ' DD051103
  4203. 44000 IF ZUserSecLevel < ZSecExemptFromEpilog THEN                   ' DD051103
  4204.          ZFileName$ = ZEpilog$                                       ' DD051103
  4205.          CALL Graphic (ZFileName$)                                   ' DD051103
  4206.          GOSUB 11520                                                 ' DD051103
  4207.       END IF                                                         ' DD051103
  4208.       RETURN                                                         ' DD051103
  4209. '
  4210. ' * MAKE INPUT STRING HIDDEN (USE *'S TO ECHO INPUT)
  4211. '
  4212. * REPLACING old line(s) by new
  4213. 45010 ZHidden = ZTrue
  4214.       GOSUB 12995
  4215.       ZHidden = ZFalse
  4216.       RETURN
  4217. * ------[ first line different ]------
  4218. '                                                                    ' DD051504
  4219. ' * MARKED FILES WARNING WHEN LOGGING OFF                            ' DD051504
  4220. '                                                                    ' DD051504
  4221. * INSERTING new line(s)
  4222. 45020 IF ZMarkedFiles$ <> "" THEN                                    ' DD051504
  4223.          CALL PutCom(ZBellRinger$)                                   ' DD070402
  4224.          CALL SkipLine (1)                                           ' DD051504
  4225.          CALL QuickTput1 (ZFGF$ + ZBG1$ + _                          ' DD051504
  4226.               "You Have Marked Files!" + _                           ' DD051504
  4227.               ZEmphasizeOff$)                                        ' DD051504
  4228.       END IF                                                         ' DD051504
  4229.       RETURN                                                         ' DD051504
  4230. '                                                                    ' Mpl090201
  4231. '  * Maple AutoLogoff Routines ***                                   ' Mpl090201
  4232. '                                                                    ' Mpl090201
  4233. 46000 ZSubParm = 1                                                   ' Mpl090201
  4234.       IF ZAutoLogoffReq = ZFalse THEN _                              ' Mpl090201
  4235.          ZAutoEnd = 0 : _                                            ' Mpl090201
  4236.          RETURN 1205                                                 ' Mpl090201
  4237.       IF ZPersonalDnld THEN                                          ' DD050703
  4238.          RETURN 10597                                                ' DD050703
  4239.       END IF                                                         ' DD050703
  4240.       CALL SkipLine (1)                                              ' DD031302
  4241.       ZOutTxt$ = ZEmphasizeOff$ + _                                  ' DD031302
  4242.          "Press [G] for instant Logoff" + ZEmphasizeOff$             ' DD090602
  4243.       ZTurboKey = 2                                                  ' Mpl090201
  4244.       CALL TGet                                                      ' Mpl090201
  4245.       CALL AllCaps (ZUserIn$)                                        ' DD021301
  4246.       IF ZUserIn$ = CHR$(71) THEN _                                  ' DD021301
  4247.          GOTO 46050 _                                                ' Mpl090201
  4248.       ELSE _                                                         ' Mpl090201
  4249.          CALL QuickTPut (ZFGF$ + ZBG1$ + "Log Off Aborted!" + _      ' DD082302
  4250.               ZEmphasizeOff$,1) : _                                  ' DD082302
  4251.          ZAutoLogoffReq = ZFalse : _                                 ' Mpl090201
  4252.          ZAutoEnd = 0 : _                                            ' Mpl090201
  4253.          RETURN 1205                                                 ' Mpl090201
  4254. 46050 GetOut = ZTrue                                                 ' Mpl090201
  4255.       CALL UpdtCalr ("Auto-logoff",1)                                ' DD050702
  4256.       RETURN 10597                                                   ' Mpl090201
  4257. '                                                                    ' DD061301
  4258. '* RIP message text window display                                   ' DD061301
  4259. '                                                                    ' DD061301
  4260. 47000 RIPFile$ = "RIPWINL"                                           ' DD062601
  4261. 47010 IF ZWasGR = 4 THEN                                             ' DD062601
  4262.          CALL BufFile (ZWelcomeFileDrvPath$ + RIPFile$,WasX)         ' DD061301
  4263.       END IF                                                         ' DD061301
  4264.       RETURN                                                         ' DD061301
  4265. 47100 CALL MailWait                                                  ' DD071703
  4266.       RETURN                                                         ' DD071703
  4267.