home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MAPL0206.ZIP / M-PC0206.MRG < prev    next >
Encoding:
Text File  |  1993-02-06  |  105.0 KB  |  3,096 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\RBBS-PC.BAS to produce E:\RBBS\CHAT\RBBS-PC.BAS
  3. * E:\RBBS\STOCK\RBBS-PC.BAS:  Date 6-20-1992  Size 147219 bytes
  4. * ------------[ Created 02-06-1993 06:06:17 ]------------
  5. * REPLACING old line(s) by new
  6. 29 ' **************************************************************************
  7.    '
  8.    ' $INCLUDE: 'RBBS-VAR.BAS'
  9.    '
  10.    ' $SUBTITLE: 'Main-line RBBS-PC Program'
  11.     ZCrLf$ = CHR$(13) + CHR$(10)
  12.     WasJ = 60
  13.     DIM ZOptSec(WasJ)
  14.     ZConfigFileName$ = "RBBS-PC.DEF"
  15. * ------[ first line different ]------
  16.    CALL GetCommand (ZDebug,ZNetTime$,ZNetBaud$,ZCBaud$,ZNetReliable$) 'Pe 01/01/93
  17.     ZSubParm = -62
  18.     ZBulletinMenu$ = ""
  19.     CALL ReadDef (ZConfigFileName$)
  20.     IF ZErrCode > 0 THEN _
  21.        GOTO 31
  22.     GOTO 100
  23. * REPLACING old line(s) by new
  24. 100 CLEAR,,ZSizeOfStack
  25. * ------[ first line different ]------
  26.     ZCanANSIChat = ZFalse                                            ' DD071301/ANSICHAT
  27.     CALL VarInit
  28.     IF ZErrCode > 0 THEN _
  29.        GOTO 31
  30.     OrigUpgradeSec = ZAutoUpgradeSec
  31.     OrigMainSec = ZMinLogonSec
  32.     CALL BreakFileName (ZOrigMsgFile$,Drive$,OrigMsgName$,ZWasY$,ZFalse)
  33.     IF OrigMsgName$ = "MESSAGES" THEN _
  34.        OrigMsgName$ = "MAIN" _
  35.     ELSE IF RIGHT$(OrigMsgName$,1) = "M" THEN _
  36.             OrigMsgName$ = LEFT$(OrigMsgName$,LEN(OrigMsgName$)-1)
  37.     ConfFileName$ = OrigMsgName$
  38.     OrigNewsFileName$ = ZWelcomeFileDrvPath$ + _
  39.               OrigMsgName$ + ".NWS"
  40.     ZNewsFileName$ = OrigNewsFileName$
  41.     IF ZNetMail$ <> "NONE" AND VAL(ZNetTime$) > 0 THEN _
  42.        ZLimitMinsPerSession = VAL(ZNetTime$)
  43.     IF ZNetMail$ <> "NONE" AND VAL(ZNetBaud$) > 0 THEN _
  44.        ZExpectActiveModem = ZTrue : _
  45.         IF NOT ZKeepInitBaud THEN _
  46.           ZModemInitBaud$ = ZNetBaud$
  47.         IF ZFossil THEN _
  48.        ZComPort = VAL(RIGHT$(ZComPort$,1)) - 1 : _
  49.        IF ZComPort < 0 THEN _
  50.           GOTO 108 _
  51.        ELSE CALL FOSinit(ZComPort,Result) : _
  52.             IF Result = -1 THEN _
  53.                ZSnoop = ZTrue : _
  54.                CALL PScrn("ERROR INITIALIZING FOSSIL") : _
  55.                GOTO 204
  56. * REPLACING old line(s) by new
  57. * ------[ first line different ]------
  58. 108 Call Line108           'Pe 07/25/92
  59.  
  60. '
  61. ' *****  TEST FOR MESSAGE FILE PRESENT (Abort IF NOT PRESENT)  ****
  62. '
  63. * DELETING old line(s)
  64. 112
  65. * REPLACING old line(s) by new
  66. 150 IF ZSubBoard THEN _
  67.        GOSUB 12987 : _
  68.        GOSUB 5135 : _
  69.        GOTO 170
  70.     ZSysopAvail = VAL(MID$(ZMsgRec$,32,2))
  71.     ZSysopAnnoy = VAL(MID$(ZMsgRec$,34,2))
  72.     ZSysopNext = VAL(MID$(ZMsgRec$,36,2))
  73.     MID$(ZMsgRec$,36,2) = STR$(ZFalse)
  74.     ZPrinter = VAL(MID$(ZMsgRec$,38,2))
  75.     IF ZTurnPrinterOff THEN _
  76.        ZPrinter = ZFalse
  77.     ZExitToDoors = (MID$(ZMsgRec$,40,2) = "-1" AND ZNetBaud$ = "" _
  78.                     AND INSTR(COMMAND$," LOCAL") = 0)
  79.     ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  80. * ------[ first line different ]------
  81. '    ZBPS = VAL(MID$(ZMsgRec$,44,2))
  82.     ZBPS = -VAL(MID$(ZMsgRec$,44,2))                                 ' KG032604
  83.     ZSnoop = VAL(MID$(ZMsgRec$,58,2))
  84.     MID$(ZMsgRec$,57,1) = "I"
  85.     ZPrivateDoor = (MID$(ZMsgRec$,72,2) = "-1")
  86.     IF ZPrivateDoor THEN _
  87.        ZHasPrivDoor = ZTrue
  88.     MID$(ZMsgRec$,72,2) = STR$(ZFalse)
  89.     ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$) OR _
  90.                  ZLocalUserMode
  91.     IF ZExitToDoors OR ZPrivateDoor THEN _
  92.        ZHasDoored = ZTrue : _
  93.        ZTurboLogon = ZTrue
  94.     PUT 1,ZNodeRecIndex
  95.     GOSUB 12985
  96.     GET 1,1
  97.     CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  98.     IF CallsToDate! < 11 THEN _
  99.        CALL CopyRight
  100. '
  101. * DELETING old line(s)
  102. 160
  103. * REPLACING old line(s) by new
  104. 175 GOSUB 5344
  105.     CALL CountLines (MaxEntries)
  106.     REDIM ZCategoryName$(MaxEntries),ZCategoryCode$(MaxEntries),_
  107.           ZCategoryDesc$(MaxEntries)
  108.     CALL InitFMS (ZNumCategories)
  109.     ZMaxMsgLines = ZMaxMsgLinesDef
  110.     IF (NOT ZLocalUser) AND (NOT ZSubBoard) THEN _
  111.        CALL OpenCom (ZModemInitBaud$,",N,8,1")
  112.     IF NOT ZSubBoard THEN _
  113.        CALL SetEcho (ZDefaultEchoer$)
  114.     ZNodeWorkFile$ = ZNodeWorkDrvPath$ + _
  115.                       "NODE" + _
  116.                       ZNodeFileID$ + _
  117.                       "WRK"
  118. * ------[ first line different ]------
  119.     ZBatchWorkFile$ = ZNodeWorkDrvPath$ + _   'Pe BatchUp mod
  120.                       "NODE" + _              'Pe BatchUp mod
  121.                       ZNodeFileID$ + _        'Pe BatchUp mod
  122.                       "BCH"                   'Pe BatchUp mod
  123.     ZSecsPerSession! = ZMinsPerSession * 60!
  124.     LogIndex = 1
  125.     IF NOT ZLocalUserMode THEN _
  126.        IF NOT ZExitToDoors THEN _
  127.           GOTO 180 _
  128.        ELSE IF NOT ZLocalUser THEN _
  129.                GOTO 180
  130.     ZLocalUser = ZTrue
  131.     ZBPS = -9              'Pe 08/01/92
  132.     ZBaudTest! = 14000     'Pe 08/01/92
  133.     ZCBaud$ = "14400"      'Pe 08/01/92
  134.     ZCBPS = -9             'Pe 08/01/92
  135.     ZEightBit = ZTrue
  136.     ZSnoop = ZTrue
  137.     IF ZExitToDoors THEN _
  138.        CALL AMorPM : _
  139.        CALL ReadProf(1) : _    'Pe 12/20/92
  140.        GOTO 410
  141.     GOSUB 178
  142.     GOTO 345
  143. * REPLACING old line(s) by new
  144. 178 IF NOT ZSubBoard THEN _
  145.        RETURN
  146.     IF ZNewUser THEN _
  147.        GOSUB 758
  148. * ------[ first line different ]------
  149.        IF OrigFirstName$ = ZSysopFirstName$ AND _                 'Dgs-ALias
  150.           ZLastName$ = ZSysopLastName$ THEN _
  151.              RETURN 832 _
  152.        ELSE RETURN 790
  153. * REPLACING old line(s) by new
  154. 202 ZFF = -ZSubParm
  155.     ON ZFF GOTO 10595, _   '  -1 = CARRIER DROPPED
  156.                  4770, _   '  -2 = SYSOP INITIATED CHAT
  157.                   205, _   '  -3 = FORCE SYSTEM TO ANSWER THE PHONE
  158.                   204, _   '  -4 = EXIT TO DOS IMMEDIATELY
  159. * ------[ first line different ]------
  160.                   204, _   '  -5 = EXIT TO DOS AFTER CLEAN-UP      'Pe 06/25/92
  161.                 10698, _   '  -6 = INDICATE ACCESS IS DENIED AND LOGOFF USER
  162.                 10620, _   '  -7 = UPDATE CALLERS FILE AND LOGOFF USER
  163.                   204               ' 10597      '  -8 = Force user offline  'Pe 01/31/93
  164. * DELETING old line(s)
  165. 203
  166. * REPLACING old line(s) by new
  167. 206 CALL TimedOut
  168. * ------[ first line different ]------
  169.     GOTO 204                                                   'Pe 06/25/92
  170. * REPLACING old line(s) by new
  171. 345 CALL SayWelcome ("", 1)             'Pe 08/01/92
  172. * REPLACING old line(s) by new
  173. 346 GOSUB 466
  174.     IF ZSubParm = -1 THEN _
  175.        GOTO 13540
  176.     ZFF = ZFalse
  177. * ------[ first line different ]------
  178. '********** Delete all the files in ARKVIEW.PATH$ **********
  179. '***********************************************************
  180. 'First create a Dummy file so the directory is not empty. It
  181. 'avoids having to use an ON ERROR routine if the directory
  182. 'is empty. Then just kill everything in the ARKVIEW.PATH$
  183. '***********************************************************
  184. CALL OpenOutW (ZArkViewPath$ + "DANDAN.DAN")
  185.     CLOSE 2
  186.   CALL KillWork (ZArkViewPath$ + "*.*")
  187. '
  188. '
  189. '
  190. ' *****  GET USER NAME
  191. ' *****  C - COMMAND FROM NEWUSER REGISTER OPTIONS (CHANGE NAME OR ADDRESS)
  192. '
  193. * REPLACING old line(s) by new
  194. 400 CALL SkipLine(1)
  195.     ZEscapeInsecure = ZFalse
  196.     ZUpperCase = ZFalse
  197.     CALL SetExpert
  198.     WasA1$ = "What is your "
  199.     CALL FlushCom (ZWasDF$)
  200.     GOSUB 12500
  201.     CALL CommInfo
  202.     IF ZFF THEN _
  203.        ZLogonErrorIndex = 1 : _
  204.        GOTO 10620
  205.     IF ZMinOldCallerBaud > ZBaudTest! THEN _
  206. * ------[ first line different ]------
  207.       X = 1 : _         'Pe 01/17/93
  208.      Gosub 47000 : _     'Pe 01/17/93
  209.        CALL QuickTPut1 ( STR$(ZBaudTest!) + OutTxt$ ) : _
  210.       X = 209 : _        'Pe 01/26/93
  211.         Gosub 47000 : _  'Pe 01/26/93
  212.        ZWasLG$(7) = OutTxt$ : _
  213.        ZLogonErrorIndex = 7 : _
  214.        GOTO 10620
  215.     LogIndex = 4 - (ZLenIndiv > 0 AND ZStartIndiv > 0)
  216.     ZTurboLogon = (LEFT$(ZUserIn$(LogIndex),1) = "!")
  217.     SkipWelcomeScreen = (LEFT$(ZUserIn$(LogIndex),1) = "$")
  218. ' Pe test
  219. '    ZHomeConf$ = RIGHT$(ZUserIn$(LogIndex),LEN(ZUserIn$(LogIndex)) _
  220. '                     + (ZTurboLogon OR SkipWelcomeScreen))
  221. '    CALL AllCaps(ZHomeConf$)
  222. ' Pe Test
  223.  
  224. '
  225. ' *****  CHECK IF SAME USER ON ANOTHER NODE   ***
  226. '
  227. * REPLACING old line(s) by new
  228. 420 IF MID$(ZMsgRec$,57,1) = "A" THEN _
  229.        ZLogonErrorIndex = 6 : _
  230.        ZWasLG$(6) = ZWasLG$(6) + _
  231.                 LEFT$(ZMsgRec$,25) : _
  232. * ------[ first line different ]------
  233.       X = 210 : _        'Pe 01/26/93
  234.         Gosub 47000 : _  'Pe 01/26/93
  235.        ZOutTxt$ = "The name '" + ZActiveUserName$ + OutTxt$ : _
  236.        CALL RingCaller : _
  237.        GOTO 10620
  238.     ZFirstName$ = LEFT$(ZMsgRec$,INSTR(ZMsgRec$, " ") - 1)
  239.     IF NOT ZPrivateDoor THEN _
  240.        CALL SkipLine (1) : _
  241.    X = 2 : _         'Pe 01/17/93
  242.      Gosub 47000 : _     'Pe 01/17/93
  243.        CALL QuickTPut1 (ZFirstName$ + OutTxt$)
  244.     IF ZExitToDoors THEN _
  245.        GOTO 457
  246. '
  247. ' *****  TEST FOR REMOTE SYSOP LOGGING ON   ***
  248. '
  249. * REPLACING old line(s) by new
  250. 462 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  251.        CALL CompDate (ZUserRegYY,ZUserRegMM,ZUserRegDD,UserComputeDate!) : _
  252.        ZRegDaysRemaining = UserComputeDate! + _
  253.                             ZDaysInRegPeriod - _
  254.                             TodayComputeDate! : _
  255.        CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
  256.     ELSE ZDaysInRegPeriod = 0
  257.     IF NOT ZPrivateDoor THEN _
  258.        IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
  259.        IF ZUserSecLevel > ZTempExpiredSec THEN _
  260. * ------[ first line different ]------
  261.       X = 3 : _         'Pe 01/17/93
  262.       Gosub 47000 : _     'Pe 01/17/93
  263.           CALL QuickTPut1 (ZWasLG$(9) + _
  264.                       OutTxt$ + " " + _
  265.                       STR$(ZTempExpiredSec)) : _
  266.           CALL BufFile(ZHelpPath$+"RGXPIRD"+ZHelpExtension$,WasX) : _
  267.           ZLogonErrorIndex = 9 : _
  268.           ZUserSecLevel = ZTempExpiredSec : _
  269.           LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  270.           GOSUB 5135
  271.     RETURN
  272. '
  273. ' ***  DISPLAY LOG-ON MESSAGE FOR SPECIFIC SECURITY LEVEL  **
  274. '
  275. * REPLACING old line(s) by new
  276. * ------[ first line different ]------
  277. 465 ZTurboLogon = ZTurboLogon AND (ZExitToDoors OR _
  278.                   (ZUserSecLevel >= ZAllowCallerTurbo))
  279.     IF ZTurboLogon THEN _
  280.        RETURN
  281.     ZFileName$ = ZWelcomeFileDrvPath$ + _
  282.                  "LG" + _
  283.                  UserSecLevel$ + _
  284.                  ".DEF"
  285. * REPLACING old line(s) by new
  286. 480 CALL SetSysOp
  287. * ------[ first line different ]------
  288. '    IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZDoorSkipsPswd
  289. IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZExitToDoors THEN _ 'Pe 01/03/90
  290.        ZWasZ$ = ZPswdSave$ : _
  291.        ZPswdFailed = 0 : _
  292.        GOTO 644
  293.     ZSubParm = 4
  294.     CALL PassWrd
  295.     LogonPswdFailed = ZPswdFailed
  296.     ZAnsIndex = LogIndex
  297. * REPLACING old line(s) by new
  298. 643 IF NOT LogonPswdFailed THEN _
  299.        GOSUB 41070 : _
  300.        GOTO 644 _
  301.     ELSE IF ZExitToDoors THEN _
  302.             GOTO 644
  303.     GOSUB 12991
  304. * ------[ first line different ]------
  305.       X = 211         'Pe 01/26/93
  306.         Gosub 47000   'Pe 01/26/93
  307.     ZOutTxt$ = OutTxt$
  308.     GOSUB 12999
  309.     IF ZYes THEN _
  310.        OrigSubject$ = "FORGOTTEN PASSWORD" : _
  311.        GOSUB 1801
  312.     ZFirstName$ = ""
  313.     GOTO 902
  314. * REPLACING old line(s) by new
  315. 660 GOTO 800
  316. * REPLACING old line(s) by new
  317. 700 ZExpertUser = ZFalse
  318.     CALL SetExpert
  319.     IF ZMinNewCallerBaud > ZBaudTest! THEN _
  320. * ------[ first line different ]------
  321.     X = 4 : _         'Pe 01/17/93
  322.     Gosub 47000 : _     'Pe 01/17/93
  323.        CALL QuickTPut1 ("Sorry," + STR$(ZBaudTest!) + _
  324.                        OutTxt$) : _
  325.       X = 212 : _        'Pe 01/26/93
  326.         Gosub 47000 : _  'Pe 01/26/93
  327.        ZWasLG$(7) = OutTxt$ : _
  328.        ZLogonErrorIndex = 7 : _
  329.        GOTO 10620
  330.        X = 5          'Pe 01/17/93
  331.        Gosub 47000      'Pe 01/17/93
  332.     CALL QuickTPut1 (OutTxt$)
  333.     ZLastIndex = 0
  334.     GOSUB 12558
  335.     IF ZNo THEN _
  336.        GOSUB 13700 : _
  337.        GOTO 400
  338.     CALL Line25
  339.     ZWasZ$ = ZFirstName$
  340.     GOSUB 670
  341.     ZWasZ$ = ZLastName$
  342.     GOSUB 670
  343.     ZWasZ$ = ZActiveUserName$
  344.     GOSUB 670
  345.     ZTurboLogon = ZFalse
  346. * REPLACING old line(s) by new
  347. 725 IF ZUserSecLevel < ZMinLogonSec THEN _
  348.        ZLogonErrorIndex = 1 : _
  349.        GOTO 460
  350.     IF ZFirstName$ = ZLastName$ THEN _
  351. * ------[ first line different ]------
  352.       X = 6 : _         'Pe 01/17/93
  353.       Gosub 47000 : _     'Pe 01/17/93
  354.        CALL QuickTPut1 (ZFirstNamePrompt$+"/"+ZLastNamePrompt$+OutTxt$) : _
  355.        ZLogonErrorIndex = 3 : _
  356.        GOTO 10620
  357.     IF NOT ZRememberNewUsers THEN _
  358.        GOSUB 13700 : _
  359.        ZUserFileIndex = 0 : _
  360.        GOSUB 12960: _
  361.        PrevLastOn$ = "00-00-00": _
  362.        GOTO 735
  363.     ZNewUser = ZTrue
  364.     ZNewUserDGS = ZTrue                                           'DGS-NEW
  365.     CALL OpenUser (ZHighestUserRecord)
  366.     GOSUB 9450
  367.     GOSUB 12630
  368.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
  369.     IF ZStartIndiv > 0 THEN _
  370.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  371.     GOSUB 9440
  372. * REPLACING old line(s) by new
  373. * ------[ first line different ]------
  374. 754  X = 7          'Pe 01/17/93
  375.      Gosub 47000      'Pe 01/17/93
  376.     CALL QuickTPut1 (OutTxt$)
  377.     ZUserSecSave = ZUserSecLevel
  378.     GOTO 832
  379. * REPLACING old line(s) by new
  380. 755 IF ZPrivateDoor THEN _
  381.        ZUserIn$ = ZPswd$ : _
  382.        ZWasZ$ = ZUserIn$ : _
  383.        RETURN
  384.     GOSUB 12800
  385. * ------[ first line different ]------
  386.       X = 213         'Pe 01/26/93
  387.         Gosub 47000  'Pe 01/26/93
  388.     ZOutTxt$ = OutTxt$
  389.     GOSUB 45010
  390.     SWAP ZWasZ$,ZUserIn$
  391.     CALL AllCaps (ZWasZ$)
  392.     IF ZUserIn$ <> ZWasZ$ THEN _
  393.        X = 8 : _         'Pe 01/17/93
  394.         Gosub 47000 : _     'Pe 01/17/93
  395.         CALL QuickTPut1 (OutTxt$) : _
  396.        GOTO 755
  397.     RETURN
  398. * REPLACING old line(s) by new
  399. * ------[ first line different ]------
  400. 760 LastIndex = 0
  401.     GOSUB 755
  402.     CALL AllCaps (ZWasZ$)
  403.     LSET ZPswd$ = ZWasZ$
  404.     ZUserTextColor = 37
  405.     ZTempSecLevel = ZUserSecLevel
  406. Call MenuPlus (1)                           'Pe Menu174
  407.     CALL Protocol
  408.     ZUserXferDefault$ = "N"
  409.     ZProtoPrompt$ = "None"
  410.     IF ZNewUserSetsDefaults THEN _
  411.        ZBypassTimeCheck = ZTrue : _
  412.        GOSUB 43000 : _
  413.        ZBypassTimeCheck = ZFalse : _
  414.        CALL Graphic (ZFileName$) : _
  415.        GOSUB 42805 : _
  416.        GOSUB 42700 _
  417.     ELSE ZUpperCase = ZFalse : _
  418.          ZNulls = ZFalse
  419.     ZPageLength = ZPageLengthDef
  420.      If ZCanAnsiChat Then _           'Pe 01/06/93
  421.       Call SetGraphic (1)             'Pe 01/06/93
  422.     CALL SetNewUserDef
  423.     GOSUB 5135
  424.     CALL DefaultU
  425. * REPLACING old line(s) by new
  426. 800 IF ZAdjustedSecurity THEN _
  427.        GOSUB 5135
  428.     IF ZOrigCnfg$ = ZCurDef$ THEN _
  429.        ZMainUserFileIndex = ZUserFileIndex : _
  430.        ZOrigSec = ZUserSecLevel : _
  431.        ZUserSecSave = ZUserSecLevel : _
  432. * ------[ first line different ]------
  433.        OrigFirstName$ = ZFirstName$ : _                           'Dgs-ALias
  434.        ZOrigUserNameDgs$ = ZActiveUserName$ : _                   'Dgs-ALias
  435.        ZOrigUserName$ = ZActiveUserName$
  436.     ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
  437.        ((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
  438.         (NOT ZPrivateDoor) AND (NOT ZExitToDoors))
  439.     GOSUB 9500
  440. '
  441. '          Pe 06/01/91
  442. '
  443.     PrevLastOn$ = ZLastDateTimeOn$
  444.     call MenuPlus (2)                       'Pe Menu174
  445.     IF ZLocalUser THEN _   
  446.        ZTalkToModemAt$ = "14400" : _            'Pe 08/01/92
  447.        ZBaudParity$ = "14400 BAUD,N,8,1" : _    'Pe 08/01/92
  448.        ZModemInitBaud$ = "14400" : _            'Pe 08/01/92
  449.        ZSnoop = ZTrue : _
  450.        ZLineFeeds = ZTrue
  451.     CALL SetCrLf
  452.     CALL SetPrompt
  453.     CALL XferType (2,ZTrue)
  454.     IF NOT ZSubBoard THEN _
  455.        BoardCheckDate$ = PrevLastOn$
  456.     CALL SetSysOp
  457.     IF ZWasA THEN _
  458.      ZActiveUserName$ = ZSysopFirstName$ + " " + ZSysopLastName$ : _ 'TS041492
  459.      ZFirstName$ = ZSysopFirstName$                                  'TS041492
  460.     IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
  461.        CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  462.                  " Lvl" + STR$(ZUserSecLevel) + " " + TIME$ + _
  463.                   "  " + ZCBaud$+" Bps" ,2)   'Pe 01/30/93
  464. '       CALL UpdtCalr ("Line Speed " + ZCBaud$,2)                     ' KG092201
  465.     IF ZExitToDoors OR ZSubBoard THEN _
  466.        GOTO 815
  467.     GOSUB 465
  468.     Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  469. Call SayWelcome (Temp$,3)   'Pe 08/01/92
  470.     Attempts = 0
  471.     ZWasZ$ = ZActiveUserName$ + _
  472.             " on at " + _
  473.             ZCurDate$ + _
  474.             ", " + _
  475.             ZTime$ + _
  476.             " from " + _
  477.             ZWasCI$ + _
  478.             ", " + Temp$
  479.      ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
  480. '
  481. ' *  ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
  482. '
  483.      WasX$ = "{" + _
  484.           HashValue$ + _
  485.           "/" + _
  486.           ZIndivValue$ + _
  487.           "}"
  488.      IF LEN(ZWasZ$) < 65 THEN _
  489.         WasX = 65 _
  490.      ELSE WasX = LEN(ZWasZ$) + 2
  491.      MID$(ZWasNG$,WasX) = WasX$
  492.      CALL Printit ("  " + ZWasZ$)
  493.      IF ZNewUser THEN _
  494.         CALL UpdtCalr ("NEWUSER",1)      'Pe 05/29/91
  495. * REPLACING old line(s) by new
  496. 815 CALL SetUserUpDn
  497.     IF ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN  _
  498.        ZDLToday! = 0 : _
  499.        ZBytesToday! = 0
  500. * ------[ first line different ]------
  501.     IF ZExitToDoors THEN _       '08/17/91 lk fix for sxpr screwing banktime
  502.        ZBankTime = ZTempBankTime  '08/17/91 lk fixfor sxpr
  503.     CALL SetGlobalUpDn
  504.     GOSUB 827
  505.     LSET ZUserOption$ = MKI$(ZTimesLoggedOn) + _
  506.                         MID$(ZUserOption$,3)
  507.     LSET ZLastDateTimeOn$ = ZCurDate$ + _
  508.                               " " + _
  509.                               ZTimeLoggedOn$
  510.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  511.     IF ZStartIndiv > 0 THEN _
  512.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  513.     LSET ZUserName$ = ZOrigUserName$
  514.     IF (NOT ZExitToDoors) AND NOT (ZOrigMsgFile$ = ZActiveMessageFile$ AND ZSubBoard) THEN _
  515.        CALL AutoPage
  516.     IF NOT ZSubBoard THEN _
  517.        ZOrigUserFileIndex = ZUserFileIndex
  518.     IF NOT ZConfMode THEN _
  519.        IF ZOrigDateTimeOn$ = "" THEN _
  520.           ZOrigDateTimeOn$ = ZLastDateTimeOn$ : _
  521.           ZOrigTimeLoggedOn$ = ZTimeLoggedOn$ _
  522.        ELSE ZLastDateTimeOn$ = ZOrigDateTimeOn$ : _
  523.             ZTimeLoggedOn$ = ZOrigTimeLoggedOn$
  524.     GOSUB 9440
  525.     GOSUB 12991
  526.     GOSUB 41000
  527.     CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  528.     IF ZTurboLogon THEN _
  529.        GOTO 819
  530.     IF SkipWelcomeScreen AND _
  531.        (ZUserSecLevel >= ZAllowCallerTurbo) THEN _
  532.        GOTO 816
  533.     IF NOT SameUser THEN _
  534.        CALL DisplayWelcome                                       ' DD011601
  535. '       GOSUB 1790                                                    ' Pe012493
  536.     ZBypassTimeCheck = ZFalse
  537.     ZStopInterrupts = ZTrue
  538. * REPLACING old line(s) by new
  539. 816 Call SayWelcome (PrevLastOn$,2)   'Pe 08/01/92
  540. * DELETING old line(s)
  541. 817
  542. * REPLACING old line(s) by new
  543. 818 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  544.     IF ZRemindProfile THEN _
  545. * ------[ first line different ]------
  546.        GOSUB 5450 : _
  547.        CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  548. * REPLACING old line(s) by new
  549. 819 CALL Trim (ZWasCI$)
  550.     IF (ZNodeRecIndex < 2) THEN _
  551.        GOTO 821
  552.     GOSUB 4910
  553.     GOSUB 24000
  554.     GET 1,ZNodeRecIndex
  555.     MID$(ZMsgRec$,1,31) = ZActiveUserName$ + _
  556.                                  SPACE$(31 - LEN(ZActiveUserName$))
  557.     MID$(ZMsgRec$,40,2) = " 0"
  558. * ------[ first line different ]------
  559.    ' MID$(ZMsgRec$,44,2) = STR$(ZBPS)
  560.     MID$(ZMsgRec$,44,2) = RIGHT$(STR$(-ZBPS),2)                      ' KG032604
  561.     MID$(ZMsgRec$,55,2) = " 0"
  562.     MID$(ZMsgRec$,57,1) = "A"
  563.     MID$(ZMsgRec$,60,5) = ZTalkToModemAt$ + _
  564.                                  SPACE$(5 - LEN(ZTalkToModemAt$))
  565.     MID$(ZMsgRec$,72,2) = " 0"
  566.     MID$(ZMsgRec$,93,24) = ZWasCI$ + _
  567.                                   SPACE$(24)
  568.     PUT 1,ZNodeRecIndex
  569.     GOSUB 12985
  570. * REPLACING old line(s) by new
  571. 821 IF ZExitToDoors THEN _
  572.        IF ZTransferFunction = 3 THEN _
  573.           ZNewUser = ZTrue : _
  574. * ------[ first line different ]------
  575.           ZTurboLogon = ZFalse : _
  576.           SameUser = ZFalse : _
  577.           ZTransferFunction = 0 : _
  578.           GOTO 832 _
  579.        ELSE GOTO 832
  580.     GOSUB 1241
  581.     IF (ZSubBoard AND (ZOrigMsgFile$ = ZActiveMessageFile$)) _
  582.        OR ((ZUserSecLevel > ZMaxRegSec) AND (NOT ZNewUser)) THEN _
  583.        GOTO 832
  584.     ZWasZ$ = ZRegProgram$
  585.     ZTransferFunction = 3
  586.     CALL DoorExit (ZFalse)
  587.     ZTransferFunction = 0
  588.     GOTO 832
  589. '
  590. ' ****  ESC PRESSED ON LOCAL CONSOLE ENTERS HERE   ***
  591. '
  592. * REPLACING old line(s) by new
  593. 822 LOCATE 24,1
  594.     CALL TakeOffHook
  595.     ZLocalUser = ZTrue
  596.     ZSnoop = ZTrue
  597. * ------[ first line different ]------
  598.     ZBPS = -9                    'Pe 08/01/92
  599.     CALL CommInfo
  600.     IF NOT ZEscapeInsecure THEN _
  601.        GOTO 345
  602.     ZActiveUserName$ = ZSecretName$
  603.     ZFirstName$ = ZSysopPswd1$
  604.     ZLastName$ = ZSysopPswd2$
  605.     ZUserLogonTime! = TIMER
  606.     ZTimeLoggedOn$ = TIME$
  607.     ZLinesPrinted = 0
  608.     ZSysop = ZTrue
  609.     GOTO 457
  610. * REPLACING old line(s) by new
  611. 827 IF ZLastMsgRead > HighMsgNumber THEN _
  612. * ------[ first line different ]------
  613.        ZLastMsgRead = HighMsgNumber : _            'Pe 04/18/92
  614.        MID$(ZUserOption$,3,2) = MKI$(0)
  615.     RETURN
  616. * REPLACING old line(s) by new
  617. 832 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  618.        IF ZRegDaysRemaining <= ZDaysToWarn AND _
  619.           ZRegDaysRemaining > 0 AND ZUserSecLevel > ZTempExpiredSec THEN _
  620. * ------[ first line different ]------
  621.       X = 9 : _         'Pe 01/17/93
  622.      Gosub 47000 : _     'Pe 01/17/93
  623.              CALL QuickTPut1 (OutTxt$ + _
  624.                        STR$(ZRegDaysRemaining) + " days!") : _
  625.              CALL BufFile(ZHelpPath$+"RGXPIRE"+ZHelpExtension$,WasX) : _
  626.              IF NOT ZOK THEN CALL DelayTime (5)
  627.     IF (NOT ZReqQuesAnswered) AND _
  628.        ZReqQues$ <> "" THEN _
  629.          ZFileName$ = ZReqQues$ : _
  630.          GOSUB 11520 : _
  631.          IF ZOK THEN _
  632.             ZReqQuesAnswered = ZTrue
  633. * REPLACING old line(s) by new
  634. 850 ZSubParm = 2
  635.     CALL Line25
  636.     CALL SkipLine (1)
  637. * ------[ first line different ]------
  638.     IF ZTurboLogon THEN _
  639.        ZBulletinSave$ = ZBulletinMenu$ : _
  640.        GOSUB 9750 : _
  641.        GOTO 900
  642.     CALL CountNewFiles (BoardCheckDate$,ZMsgPtr(),LastNew,OutTxt1$)
  643.    IF ZNewUser OR LastNew < 1 OR NOT ZNewFilesCheck THEN _       'Pe 01/02/90
  644.        GOTO 852                           'Pe 01/02/90
  645.     IF ZFMSDirectory$ <> "" THEN _
  646.      X = 10 : _         'Pe 01/17/93
  647.      Gosub 47000 : _     'Pe 01/17/93
  648.        CALL QuickTPut1 (OutTxt1$ + STR$(LastNew) + OutTxt$) _
  649.     ELSE GOTO 852
  650.     WasL = LEN(ZDnldDrives$)
  651.     SecNum = 19
  652.     IF (NOT ZSkipFilesLogon) AND _
  653.        ZUserSecLevel >= ZOptSec(SecNum) THEN _
  654.       X = 214 : _        'Pe 01/26/93
  655.         Gosub 47000 : _  'Pe 01/26/93
  656.           ZOutTxt$ = OutTxt$ : _
  657.           GOSUB 12999 : _
  658.           IF NOT ZNo THEN _
  659.              ZLastIndex = 3 : _
  660.              ZAnsIndex = 1 : _
  661.              ZWasQ = 3 : _
  662.              ZUserIn$(2) = MID$(BoardCheckDate$,1,2) + _
  663.                      MID$(BoardCheckDate$,4,2) + _
  664.                      MID$(BoardCheckDate$,7,2) : _
  665.              ZWasY$ = ZUserIn$(3) : _
  666.              CALL BreakFileName (ZFMSDirectory$,DR$,ZWasY$,WasX$,ZFalse) : _
  667.              ZUserIn$(3) = ZWasY$ : _
  668.              TimeLockExempt = ZTrue : _
  669.              GOSUB 20185 : _
  670.              ZLastIndex = 0 : _
  671.              TimeLockExempt = ZFalse
  672. * REPLACING old line(s) by new
  673. 856 IF NOT ZCheckBulletLogon THEN _
  674.        ZAnsIndex = 0 : _
  675.        GOSUB 9760 : _
  676.        GOTO 900
  677.     CALL SkipLine (1)
  678. * ------[ first line different ]------
  679.       X = 209         'Pe 01/26/93
  680.         Gosub 47000   'Pe 01/26/93
  681.     ZOutTxt$ = OutTxt$
  682.     GOSUB 12999
  683.     IF ZYes THEN _
  684.        GOTO 900
  685. * REPLACING old line(s) by new
  686. 900 ZNewUser = ZFalse
  687.     ActionFlag = (ZLogonMailLevel$ = "S")
  688.     LogonMailNew = (ZLogonMailLevel$ = "N")
  689. * ------[ first line different ]------
  690.     GOSUB 1895                                'Pe temp
  691.     IF ZActiveUserName$ = "SYSOP" AND NOT ZSysop THEN _
  692.        ZActiveUserName$ = ZOrigUserName$
  693.     LogonMailNew = ZFalse
  694.     ZSubParm = 2
  695.     CALL Line25
  696.     ZSection$ = "    "
  697.     ZOutTxt$ = ""
  698.     IF (NOT ZConfMode) AND (NOT ZSubBoard) AND NOT ZTurboLogon And NOT ZSkipMailcheck THEN _ 'pe 11/02/92
  699.        MailCheckConfirm = ZTrue : _
  700.        LinkNew = ZTrue : _
  701.        GOSUB 5800
  702.     MailCheckConfirm = ZFalse
  703.     ZWasQ! = ZMinsInDoors * 60
  704.     ZMinsInDoors = 0
  705. * REPLACING old line(s) by new
  706. * ------[ first line different ]------
  707. 955 IF NOT ZTurboLogon THEN _
  708.      If NOT SkipMain Then _
  709.        GOSUB 4850 : _
  710.  IF STR$(ZLastMsgRead) < STR$(HighMsgNumber) AND ZUserSecLevel => MsgSec THEN _    'Pe 01/29/89
  711.      GOSUB 4275                                 'PEASKMAIL
  712.     SkipMain = ZFalse
  713.     ZTurboLogon = ZFalse
  714. '
  715. ' *                           COMMAND PROCESSING
  716. '
  717. * REPLACING old line(s) by new
  718. 1205 IF ZSubParm < 0 THEN _
  719.         GOTO 202
  720.      ZSubParm = 1
  721.      ZStopInterrupts = ZFalse
  722.      ZWasQ = 0
  723.      IF (NOT ConfMailJoin) AND (ZHomeConf$ = "" OR ZHomeConf$ = "MAIN") THEN _
  724.         GOTO 1209
  725. * ------[ first line different ]------
  726.      ZTurboLogon = LinkNext OR (NOT ConfMailJoin)
  727.      ConfMailJoin = ZFalse
  728.      ZFF = 8
  729.      IF ZHomeConf$ = "MAIN" THEN _
  730.         ZHomeConf$ = "M"
  731.      ZUserIn$(ZAnsIndex) = ZHomeConf$
  732.      IF LinkNext THEN _
  733.         ZUserIn$(ZAnsIndex + 1) = "R" : _
  734.         ZLastIndex = ZAnsIndex + 1
  735.      ZLastIndex = -ZLastIndex*(ZLastIndex > ZAnsIndex)-ZAnsIndex*(ZLastIndex <= ZAnsIndex)
  736.      ZAnsIndex = ZAnsIndex - 1
  737.      ZHomeConf$ = ""
  738.      ZWasQ = ZLastIndex
  739.      ZStoreParseAt = 1
  740. ZLastCommand$ = "  "
  741. '      ZLastCommand$ = "MJ"   'Pe Test
  742.      GOTO 1240
  743. * REPLACING old line(s) by new
  744. 1210 GOSUB 41000
  745.      IF ZAnsIndex < ZLastIndex THEN _
  746.         GOTO 1232
  747. * ------[ first line different ]------
  748.      CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  749.      IF ZExpertUser THEN _
  750.         GOTO 1230
  751. * REPLACING old line(s) by new
  752. 1230 CALL Line25
  753. * ------[ first line different ]------
  754.      CALL CBCheck(WillChat)                                          ' CHAT0814
  755.       IF WillChat = ZTrue Then _
  756.        GOSUB 9802 : _
  757.         GOTO 1205
  758.      CALL SaveUserActivity("I", ZNodeRecIndex, ZFalse)               ' CHAT0813
  759. * REPLACING old line(s) by new
  760. 1232 MID$(ZLastCommand$,2,1) = " "
  761.      IF ZCustomPUI THEN _
  762.         CALL UserFace : _
  763.         GOSUB 12997 : _
  764.         GOTO 1235
  765. * ------[ first line different ]------
  766.         ZOutTxt$ = ZConfName$ + ":"
  767.         GOSUB 12978                          'Pe 07/18/91
  768.      CALL DispTimeRemain (MinsRemaining)     'Pe 02/03/90
  769.      ZOutTxt$ = ZCmdPrompt$
  770.      GOSUB 12930
  771.      IF ZWasQ = 0 THEN _
  772.         GOTO 1230
  773. * REPLACING old line(s) by new
  774. 1235 ZWasZ$ = ZUserIn$(ZAnsIndex)
  775.      IF ZWasZ$ = SPACE$(LEN(ZWasZ$)) THEN _
  776.         GOTO 1230
  777. * ------[ first line different ]------
  778.       CALL SearchCmd (ZSubSection,ZFF)
  779. IF ZFF > 0 THEN _                                        'PE 08/14/91
  780.       GOTO 1240                                          'PE 08/14/91
  781.      IF ZwasQ > 0 THEN _
  782.         CALL QuickTPut1 ("Unknown command <"+ZWasZ$+">") : _
  783.         CALL FlushKeys : _
  784.         GOTO 1230
  785. * DELETING old line(s)
  786. 1239
  787. * REPLACING old line(s) by new
  788. 1240 IF ZUserSecLevel < ZOptSec(ZFF) THEN _
  789.        ZViolation$ = ZSection$ + _
  790.                      " " + _
  791.                      ZWasZ$ : _
  792.         GOSUB 1380 : _
  793.         GOTO 1205
  794. * ------[ first line different ]------
  795. ZDirExtension$ = ZMainDirExtension$
  796.         ON ZFF GOSUB _
  797.                  1400, _      ' 1  A)nswer questionnaire 1
  798.                  9700, _      ' 2  B)ulletins
  799.                  1800, _      ' 3  C)omment 1800 to Sysop
  800.                  10970, _     ' 4  D)oor (exit to)
  801.                  2000, _      ' 5  E)nter a message
  802.                  1275, _      ' 6  F)ile system (exit to)
  803.                  1525, _      ' 7  I)nitial welcome redisplayed  'Pe 06/09/91
  804.                  5300, _      ' 8  J)oin a conference
  805.                  3900, _      ' 9  K)ill a message
  806.                  4700, _      '10  O)perator page
  807.                  1892, _      '11  P)ersonal mail (look for)     'Pe 02/11/89
  808.                  4330, _      '12  R)ead messages
  809.                  4340, _      '13  S)can message headers
  810.                  4320, _      '14  T)ype ASCII FILE 'Pe 02/03/90
  811.                  1285, _      '15  U)tilities (exit to)
  812.                  5800, _      '16  V)iew a conference
  813.                  9800, _      '17  W)ho's on other nodes displayed
  814.                  9801, _      '18  @ Chat routines                'Pe 01/19/92
  815.                 20160, _      '19  D)ownload
  816.                 10570, _      '20  G)oodbye
  817.                 20155, _      '21  L)ist
  818.                 20185, _      '22  N)ew
  819.                 20180, _      '23  P)ersonal files
  820.                 20175, _      '24  S)can
  821.                 20170, _      '25  U)pload
  822.                 20140, _      '26  V)iew ARC Contents
  823.                  5500, _      '27  W)ho Uploaded that file1 'Pe 08/25/91
  824.                  9099, _      '28  C)lock (time & time on)  'PE 05/31/91
  825.                  42850, _     '29  E)cho selection
  826.                  42800, _     '30  F)ile transfer protocol
  827.                  43000, _     '31  G)raphics
  828.                  5200, _      '32  L)ines per page
  829.                  10925, _     '33  M)essage margin
  830.                  5110, _      '34  P)assword change
  831.                  5450, _      '35  R)eview preferences
  832.                  4849, _      '36  S)tatistics displayed  'Pe 09/02/91
  833.                  1500, _      '37  T)oggle
  834.                  10090, _     '38  U)serlog displayed 12
  835.                  30000, _     '39  A)rchive a Library disk 1
  836.                  30000, _     '40  C)hange a Library disk
  837.                  30000, _     '41  D)ownload Library files
  838.                  10570, _     '42  G)oodbye
  839.                  30000, _     '43  L)ist a Library directory
  840.                  30000, _     '44  S)can a Library disk directory
  841.                  20140, _     '45  V)iew arc contents 7
  842.                  1325, _      '46  H)elp 1
  843.                  1330, _      '47  ?)help
  844.                  1250, _      '48  Q)uit
  845.                  4240, _      '49  X)expert toggle on/off 4
  846.                  10070, _     '50  1) List comments file 1    'Pe 09/12/91
  847.                  10090, _     '51  2) List callers file
  848.                  10390, _     '52  3) Recover a message
  849.                  20195, _     '53  4) BatchUpload Files       'Pe 09/12/91
  850.                  11000, _     '54  5) User file maintenance
  851.                   4130, _     '55  6) Toggle page bell on/off
  852.                  10930        '56  7) Exit to DOS 2.x or above 7
  853.      GOTO 1205
  854. '
  855. ' ***       NEWS file scan        ***
  856. '
  857. * REPLACING old line(s) by new
  858. 1243 ZFileName$ = ZNewsFileName$
  859.      CALL RBBSFind (ZFileName$,WasZ,WasY,ZMsgPtr,WasD)
  860.      IF WasZ <> 0 THEN _
  861.         RETURN
  862.      FDate# = WasD + (100 * ZMsgPtr) + (10000# * (WasY + 1980))
  863.      IF NewsDate# > FDate# THEN _
  864.         RETURN
  865. * ------[ first line different ]------
  866.      IF ZTurboLogon THEN _
  867.    X = 11 : _         'Pe 01/17/93
  868.      Gosub 47000 : _     'Pe 01/17/93
  869.         CALL QuickTPut1(OutTxt$) : _
  870.         RETURN
  871.      ZStopInterrupts = ZFalse
  872.      GOSUB 1790
  873.      WasZ = 0
  874.      RETURN                                                          ' LP01NEWS
  875. '
  876. ' ****           QUIT COMMAND (GLOBAL)              ***
  877. '
  878. * REPLACING old line(s) by new
  879. * ------[ first line different ]------
  880. 1283  ZWasQ = 0                                                'Pe 06/25/92
  881.       GOTO 1250
  882. * REPLACING old line(s) by new
  883. * ------[ first line different ]------
  884. 1295 ZPrevPui$ = ""     'Pe 07/19/92
  885.      CALL SetSection
  886.      RETURN
  887. * REPLACING old line(s) by new
  888. 1400 WasA1$ = ZAnsMenu$
  889. * ------[ first line different ]------
  890.      ReturnToPrompt = (ZWasQ > 1)
  891. * REPLACING old line(s) by new
  892. 1500 CALL CmndToggle
  893.      RETURN
  894. '
  895. * ------[ first line different ]------
  896. '
  897. ' ****  I - COMMAND FROM MAIN MENU (DISPLAY INITIAL WELCOME)  *** 'Pe 09/02/91
  898. '
  899. * INSERTING new line(s)
  900. 1525 CALL ShowBull (UserSecLevel$)
  901. '
  902. 1596 RETURN
  903. '
  904. * DELETING old line(s)
  905. 1760
  906. * REPLACING old line(s) by new
  907. 1790 CALL Graphic (ZFileName$)
  908.      CALL BufFile (ZFileName$,WasX)
  909.      CALL Carrier
  910.      IF ZSubParm = -1 THEN _
  911.         RETURN 10595
  912.      RETURN
  913. '
  914. * ------[ first line different ]------
  915.  
  916. '
  917. ' ***  C - COMMAND FROM MAIN MENU (LEAVE COMMENT FOR SYSOP)   **
  918. '
  919. * REPLACING old line(s) by new
  920. * ------[ first line different ]------
  921. 1801 MsgTo$ = ZSysopFirstName$ + " " + ZSysopLastName$     'TS 04/14/92
  922.      Subject$ = OrigSubject$
  923.      MsgFrom$ = ZActiveUserName$
  924.      GOSUB 1893
  925.      IF (ActiveMessages >= MaxMsgs OR _
  926.         ((NOT ZMsgsCanGrow) AND _
  927.         (ZNextMsgRec + 5 + ZMaxNodes > HighestMsgRecord)) OR _
  928.         NOT ZCmntsAsMsgs ) THEN _
  929.         ZOutTxt$ = "Want a Reply?  Use "+MID$(ZAllOpts$,5,1) + _
  930.                    " instead.  Leave a comment? (Y,[N])" : _
  931.         GOSUB 12999 : _
  932.         IF NOT ZYes THEN _
  933.            CALL SkipLine (1) : _
  934.            RETURN _
  935.         ELSE ZSysopComment = ZTrue : _
  936.              GOTO 2007
  937.      ZSysopComment = ZFalse
  938.      ZSysopMsg = ZTrue
  939.      ZMsgHeader$ = "comment"
  940.      GOTO 2010
  941. * REPLACING old line(s) by new
  942. 1850 WasBX = &H3
  943.      ZWasEN$ = ZCmntsFile$
  944.      GOSUB 12992
  945.      CALL OpenWorkA (ZCmntsFile$)
  946. * ------[ first line different ]------
  947.       X = 216         'Pe 01/26/93
  948.         Gosub 47000   'Pe 01/26/93
  949.      ZOutTxt$ = ZFirstName$ + OutTxt$
  950.      GOSUB 12976
  951.      CALL AMorPM
  952.      CALL PrintWorkA (ZActiveUserName$+" "+ZCurDate$+" "+ZTime$+" Node "+ZNodeID$)
  953.      FOR WasX = 1 TO ZLinesInMsg
  954.         CALL PrintWorkA (ZOutTxt$(WasX))
  955.      NEXT
  956.      CALL PrintWorkA (ZCarriageReturn$)
  957.      CLOSE 2
  958.      IF ZErrCode <> 0 THEN _
  959.         ZWasEL = 1850 : _
  960.         GOTO 13000
  961.      WasBX = &H3
  962.      ZWasEN$ = ZCmntsFile$
  963.      GOSUB 12993
  964.      CALL UpdtCalr ("Left comment",1)
  965.      REDIM ZOutTxt$(ZMsgDim)
  966. IF ZLogOff$ = "G" THEN
  967. GetOut = Ztrue
  968.  Zlogoff$ = "L"
  969.  GOTO 10560
  970.  End IF         ' Pe 02/03/90
  971.      RETURN
  972. '
  973. ' ****  P - COMMAND FROM MAIN MENU (DISPLAY PERSONAL MAIL)  ****
  974. '
  975. * INSERTING new line(s)
  976. 1892 GOSUB 1900                                  'Pe 02/11/89
  977.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'Pe 02/11/89
  978.      RETURN                                      'Pe 02/11/89
  979. * REPLACING old line(s) by new
  980. * ------[ first line different ]------
  981. 1895 IF ZTurboLogon or ZSkipMailCheck THEN _       'Pe 11/02/92
  982.         RETURN
  983.       X = 217 : _        'Pe 01/26/93
  984.         Gosub 47000 : _  'Pe 01/26/93
  985.      ZOutTxt$ = OutTxt$ + ZConfName$ + " ([Y],N)"
  986.      GOSUB 12999
  987.      IF ZNo THEN _
  988.         SkipMain = ZTrue : _
  989.         RETURN
  990.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  991. * REPLACING old line(s) by new
  992. 1900 GOSUB 5344
  993.      IF ZPrivateDoor THEN _
  994.         ActionFlag = ZTrue
  995.      ZPrevBase$ = ZActiveMessageFile$
  996.      ShowActive = ZFalse
  997.      IF NOT ActionFlag THEN _
  998. * ------[ first line different ]------
  999.       X = 218 : _        'Pe 01/26/93
  1000.         Gosub 47000 : _  'Pe 01/26/93
  1001.         CALL QuickTPut (OutTxt$ + ConfFileName$,0) : _
  1002.         ShowActive = ZTrue _
  1003.      ELSE X = 219 : _        'Pe 01/26/93
  1004.         Gosub 47000 : _  'Pe 01/26/93
  1005.  CALL QuickTPut (OutTxt$,0)
  1006.      WasA1$ = ""
  1007.      MsgCt = 0
  1008.      MsgsFromUser = ZFalse
  1009.      ActiveMessages = 0
  1010.      MailReported = ActionFlag
  1011.      FirstOld = ZTrue
  1012.      GOSUB 23000
  1013.      MsgRec = FirstMsgRecord
  1014.      MaxMsgs = VAL(MID$(ZMsgRec$,89,7))
  1015.      NumDots = 0
  1016. * REPLACING old line(s) by new
  1017. 1925 ZWasA = VAL(MID$(ZMsgRec$,2,4))
  1018.      IF LogonMailNew THEN _
  1019.         IF ZWasA <= ZLastMsgRead THEN _
  1020.            GOTO 1935
  1021.      IF NOT ShowActive THEN _
  1022.         GOTO 1930
  1023.      MailReported = ZTrue
  1024.      FirstNew = (ZWasA > ZLastMsgRead)
  1025.      IF FirstNew THEN _
  1026.         MsgCt = 0 : _
  1027.         CALL SkipLine (1) : _
  1028. * ------[ first line different ]------
  1029.    X = 12 : _         'Pe 01/17/93
  1030.      Gosub 47000 : _     'Pe 01/17/93
  1031.         CALL QuickTPut1 (OutTxt$) _
  1032.      ELSE IF FirstOld THEN _
  1033.              CALL SkipLine (1) : _
  1034.    X = 13 : _         'Pe 01/17/93
  1035.      Gosub 47000 : _     'Pe 01/17/93
  1036.              CALL QuickTPut1 (OutTxt$) : _
  1037.              FirstOld = ZFalse
  1038.      ShowActive = NOT FirstNew
  1039. * REPLACING old line(s) by new
  1040. 1950 IF NOT MailReported THEN _
  1041. * ------[ first line different ]------
  1042.       X = 234 : _        'Pe 01/26/93
  1043.         Gosub 47000 : _  'Pe 01/26/93
  1044.         ZOutTxt$ = "Sorry, " + _
  1045.              ZFirstName$ + _
  1046.              ", No " + ZUserIn$(0) + OutTxt$ : _
  1047.         GOSUB 12975
  1048.      IF MsgsFromUser = 0 OR NOT ZMsgReminder THEN _
  1049.         GOTO 1961
  1050.      IF ActionFlag THEN _
  1051.         GOTO 1961
  1052.       X = 220        'Pe 01/26/93
  1053.         Gosub 47000   'Pe 01/26/93
  1054.      ZOutTxt$ = OutTxt$
  1055.      GOSUB 12976
  1056. * REPLACING old line(s) by new
  1057. 1960 WasK = 1
  1058.      FOR MsgCt = 1 TO MsgsFromUser
  1059.         ZOutTxt$ = MID$(WasA1$,WasK,5)
  1060.         WasK = WasK + 5
  1061.         GOSUB 12978
  1062.         IF MsgCt MOD 15 = 0 THEN _
  1063.            CALL SkipLine (1) : _
  1064.            CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1065.      NEXT
  1066.      WasA1$ = ""
  1067.      CALL SkipLine (1)
  1068.      IF ZUserSecLevel >= ZOptSec(9) THEN _
  1069. * ------[ first line different ]------
  1070.    X = 14 : _         'Pe 01/17/93
  1071.      Gosub 47000 : _     'Pe 01/17/93
  1072.         CALL QuickTPut1 (OutTxt$)
  1073. * REPLACING old line(s) by new
  1074. 2001 IF (LowMsgNumber > 0 AND ActiveMessages >= MaxMsgs) _
  1075.         OR HighMsgNumber >= 9999 THEN _
  1076.         IF ZActiveMessageFile$ = ZMainMsgFile$ AND _
  1077.            ActiveMessages = 1 THEN _
  1078.            GOTO 5300 _
  1079. * ------[ first line different ]------
  1080.         ELSE X = 221 : _        'Pe 01/26/93
  1081.         Gosub 47000 : _  'Pe 01/26/93
  1082.          ZOutTxt$ = OutTxt$ : _
  1083.              GOSUB 12975 : _
  1084.              GOTO 3650
  1085. * REPLACING old line(s) by new
  1086. 2010 IF NOT QuotedReply THEN _
  1087. * ------[ first line different ]------
  1088.         ZLinesInMsg = 0 : _                                          ' KG011201
  1089.         WasL = 0 : _
  1090.         WasL = 0 : _
  1091.         WasX = 0 : _
  1092.         REDIM ZOutTxt$(ZMsgDim)
  1093.      IF ZGetExtDesc THEN _
  1094.         GOTO 2100
  1095.      GOSUB 1893
  1096.      RcvrRecNum = 0
  1097. * REPLACING old line(s) by new
  1098. * ------[ first line different ]------
  1099. 2065 X = 222         'Pe 01/26/93
  1100.      Gosub 47000     'Pe 01/26/93
  1101.       ZOutTxt$ = OutTxt$ + ZPressEnter$                          'ER052601
  1102.      CALL ColorPrompt (ZOutTxt$)                                 'ER052601
  1103.      ZSubParm = 5                                                'ER052601
  1104.       Call TPut                                                  'ER052601
  1105.  IF Subject$ <> "" THEN _
  1106.       X = 223 : _        'Pe 01/26/93
  1107.         Gosub 47000 : _  'Pe 01/26/93
  1108.         ZOutTxt$ = OutTxt$ + _
  1109.              Subject$ + _
  1110.              " to" _
  1111.      ELSE ZOutTxt$ = "Subject"
  1112.      ZMacroMin = 99
  1113.      ZParseOff = ZTrue
  1114.      GOSUB 12932
  1115.      IF LEN(ZUserIn$) > 25 THEN _
  1116.       X = 24 : _        'Pe 01/26/93
  1117.         Gosub 47000 : _  'Pe 01/26/93
  1118.         ZOutTxt$ = ZFirstName$ + OutTxt$ : _      'Pe 05/29/92
  1119.         GOSUB 12979 : _
  1120.         GOTO 2065
  1121.      IF ZWasQ = 0 THEN _
  1122.         IF Subject$ <> "" THEN _
  1123.            RETURN _
  1124.         ELSE GOSUB 2435 : _
  1125.              IF ZYes THEN _
  1126.                 RETURN 5160 _
  1127.              ELSE GOTO 2065
  1128.      Subject$ = ZUserIn$
  1129.      CALL AllCaps (Subject$)
  1130.      OrigSubject$ = Subject$
  1131.      RETURN
  1132. '
  1133. ' *****  ENTER MAIN BODY OF MESSAGE  ****
  1134. '
  1135. '
  1136. * REPLACING old line(s) by new
  1137. * ------[ first line different ]------
  1138. 2100  IF ZGetExtDesc Then Goto 2120
  1139.  CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  1140.      IF NOT ZFullScreenEditor Then 
  1141.       X = 235        'Pe 01/26/93
  1142.         Gosub 47000  'Pe 01/26/93
  1143.        ZOutTxt$ = OutTxt$
  1144.         GOSUB 12930
  1145.           IF NOT ZYes THEN _
  1146.         GOTO 2120
  1147.       End If
  1148. * INSERTING new line(s)
  1149. 2110 CALL Ansied (MsgTo$, OrigSubject$, MsgLockLines)
  1150.      I = ZSubParm
  1151.      CALL SkipLine (1)
  1152.      IF I = -2 THEN      ' Sleep Disconnect
  1153.         GOTO 10590
  1154.      ELSEIF I = -1 THEN  ' Lost Carrier
  1155.         GOTO 10595
  1156.      ELSEIF I = 1 THEN   ' Save Message
  1157.         GOTO 3400
  1158.      ELSEIF I = 2 THEN   ' Abort Message
  1159.         GOTO 2430
  1160.      END IF
  1161. 2120 ZOutTxt$ = "Enter Your " + _
  1162.           ZMsgHeader$ + _
  1163.           STR$(ZMaxMsgLines) + _
  1164.           " Lines max" + _
  1165.           ZPressEnter$
  1166.      GOSUB 12975
  1167.      GOSUB 3200
  1168. * REPLACING old line(s) by new
  1169. * ------[ first line different ]------
  1170. 2302 X = 236        'Pe 01/26/93
  1171.      Gosub 47000  'Pe 01/26/93
  1172.        ZOutTxt$ = "A)bort, " + LEFT$("B)atch import, ",-15 * (ZSysop OR ZLocalUser)) + _
  1173.                 OutTxt$
  1174.      CALL TopPrompt
  1175.       X = 237       'Pe 01/26/93
  1176.        Gosub 47000  'Pe 01/26/93
  1177.      ZOutTxt$ = OutTxt$
  1178.      CALL TopPrompt
  1179. * REPLACING old line(s) by new
  1180. * ------[ first line different ]------
  1181. 2315 X = 238       'Pe 01/26/93
  1182.      Gosub 47000  'Pe 01/26/93
  1183.       ZOutTxt$ = "Edit Sub-function <A," + _
  1184.           LEFT$("B,",-2 * (ZSysop OR ZLocalUser)) + _
  1185.           OutTxt$
  1186.      GOSUB 12930
  1187.      IF ZWasQ = 0 THEN _
  1188.         GOTO 2315
  1189.      CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  1190.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1191. * REPLACING old line(s) by new
  1192. * ------[ first line different ]------
  1193. 2520 X = 239       'Pe 01/26/93
  1194.      Gosub 47000  'Pe 01/26/93
  1195.      Temp$ = OutTxt$ + STR$(Mark1) + ")"
  1196.      CALL ChangeInt (ZFalse,Temp$,0,Mark1,ZLinesInMsg)
  1197.      IF ZWasQ = 0 THEN _
  1198.         Mark2 = Mark1 _
  1199.      ELSE Mark2 = ZTestedIntValue
  1200.      CALL SkipLine(1)
  1201.      GOTO 2530
  1202. * REPLACING old line(s) by new
  1203. * ------[ first line different ]------
  1204. 2530 ZOutTxt$ = "Delete lines " + STR$(Mark1) + "-" + _
  1205.         MID$(STR$(Mark2),2) + " (Y,[N],L)ist)"
  1206.      GOSUB 12930
  1207.      Temp$ = ZUserIn$(ZAnsIndex)
  1208.      CALL AllCaps(Temp$)
  1209.      IF Temp$ = "L" THEN GOTO 2522
  1210.      IF NOT ZYes THEN _
  1211.         ZOutTxt$ = "NOT Deleted" : _
  1212.         GOSUB 12979 : _
  1213.         GOTO 2555
  1214. * REPLACING old line(s) by new
  1215. 3020 IF ZGetExtDesc THEN WasL = 1
  1216. * ------[ first line different ]------
  1217.      FOR WasX = WasL TO ZLinesInMsg 
  1218.         CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
  1219.         IF ZNo OR ZRet THEN _
  1220.            WasX = ZLinesInMsg + 1 _
  1221.         ELSE ZOutTxt$ = RIGHT$(STR$(WasX),2) + _
  1222.                   ": " + _
  1223.                   ZOutTxt$(WasX) : _
  1224.              GOSUB 12979
  1225.      NEXT
  1226.      RETURN
  1227. '
  1228. ' *****  CHANGE MARGIN WIDTH   ****
  1229. '
  1230. * REPLACING old line(s) by new
  1231. 3405 IF ZSysopMsg THEN _
  1232.         MsgPswd$ = "^READ^" _
  1233.      ELSE Temp$ = MsgPswd$ : _
  1234.           CALL MsgProt (MsgTo$,Found,MsgPswd$) : _
  1235.           IF MsgPswd$ = "" THEN _
  1236.              MsgPswd$ = Temp$ : _
  1237. * ------[ first line different ]------
  1238.               IF ZFullScreenEditor THEN _      'lk 03/23/92
  1239.              GOTO 2110 _                   'lk 03/23/92
  1240.           ELSE GOTO 2300                   'lk 03/23/92
  1241.      SaveReplyStatus = ZReply
  1242.      ZReply = ZTrue
  1243.      ZSysopMsg = ZFalse
  1244.      ZReply = SaveReplyStatus
  1245.      GOSUB 4910
  1246.      MsgRecSave$ = ZMsgRec$
  1247.      MsgCorrected = ZFalse
  1248.      GOSUB 23100
  1249.      ZWasSL = 0
  1250.      ZWasN$ = ""
  1251.      ZLastIndex = 0
  1252.      HighMsgNumber = HighMsgNumber + 1
  1253. '
  1254. '
  1255. 'find out if toss log has been opened for node
  1256. '
  1257. '
  1258. * INSERTING new line(s)
  1259. 3406 IF ZRBBSName$ = ZOrigRBBSName$ THEN _  'lk 022092
  1260.      GOTO 3410     
  1261. TossLog$ = "Toss"+ZNodeFileID$+".LOG"
  1262. TossFile$ = ZRBBSName$
  1263. CALL FindIt (Tosslog$)    'LK 033191
  1264.      IF NOT ZOK THEN _     'LK 033191
  1265.       GOTO 3407 
  1266.       CALL OpenWork (2,TossLog$)
  1267.       Found = ZFalse
  1268.       GOSUB 3408    
  1269.       IF Found THEN _
  1270.       GOTO 3410
  1271.       GOTO 3409
  1272. 3407 CALL OpenOutW (TossLog$)    'LK 033191
  1273.      PRINT #2, TossFile$         'Lk 021992
  1274.      CLOSE 2
  1275.      GOTO 3410
  1276. 3408  IF EOF(2) THEN _
  1277.          RETURN
  1278.       INPUT #2,TossList$
  1279.       IF TossFile$ <> TossList$ THEN _
  1280.          GOTO 3408
  1281.       Found = ZTrue
  1282.       RETURN
  1283. 3409 CALL OpenWorkA (TossLog$)
  1284.      CALL PrintWorkA (TossFile$)  'Lk 021992
  1285.      CLOSE 2
  1286. * REPLACING old line(s) by new
  1287. 3650 QuotedReply = ZFalse
  1288.      MsgLockLines = 0
  1289.      IF ZReply OR MsgFwd THEN _
  1290.         ZReply = ZFalse : _
  1291.         ZAnsIndex = SaveAnsIndex : _
  1292.         GOTO 5344
  1293.      IF ZGetExtDesc THEN _
  1294.         ZLinesInMsg = 0
  1295. * ------[ first line different ]------
  1296. If ZLogOff$ = "G" Then
  1297. Getout = Ztrue
  1298. ZLogoff$ = "L"
  1299. Goto 10560
  1300. End If                                              'Pe 02/03/90
  1301.      RETURN
  1302.  
  1303. '
  1304. ' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ***
  1305. '
  1306. * REPLACING old line(s) by new
  1307. 3930 ZOutTxt$ = "Msg #(s) to Kill" + LEFT$(", M)arked",-9*(ZMarkedMsgs$ <> "")) + ZPressEnterExpert$
  1308.      GOSUB 12932
  1309.      IF ZWasQ = 0 THEN _
  1310.         RETURN
  1311.      GOSUB 1893
  1312. * ------[ first line different ]------
  1313.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1314.      CALL UnMarkItems (ZMarkedMsgs$,ZAnsIndex,ZLastIndex,Found,ZTrue)
  1315. * REPLACING old line(s) by new
  1316. 3950 GOSUB 5344
  1317. * ------[ first line different ]------
  1318.  CALL KillMsg (MsgToKill,ActiveMessages,ZconfName$)   'Pe 02/03/90
  1319. * REPLACING old line(s) by new
  1320. 4240 CALL Toggle(9)
  1321.      RETURN
  1322. * ------[ first line different ]------
  1323. * INSERTING new line(s)
  1324. 4275 'IF NOT ZConfMode then Return   'Tom Hazle mod
  1325.    If ZUserSecLevel < ZOptSec(12) Then Return          'Pe 08/30/92
  1326.       X = 240       'Pe 01/26/93
  1327.        Gosub 47000  'Pe 01/26/93
  1328.    ZOutTxt$ = OutTxt$
  1329.      GOSUB 12999                            'JABASKMAIL
  1330. 4279 IF NOT ZNO THEN _                            'JABASKMAIL
  1331.      ZLastIndex = 2 : _               'Pe 11/05/89
  1332.      ZAnsIndex = 1 : _                'Pe 11/05/89
  1333.      ZWasQ = 2 : _                    'Pe 11/05/89
  1334.      ZUserIn$(2) = "*" :_             'Pe 11/05/89
  1335.      GOTO 4330                        'Pe 11/05/89
  1336.      RETURN                            'JABASKMAIL
  1337. '
  1338. '
  1339. '**** T)ype ASCII file *****   Pe/10/22/89
  1340. '
  1341. * REPLACING old line(s) by new
  1342. * ------[ first line different ]------
  1343. 4320     ZLastIndex = Q 
  1344.          ZAnsIndex = 1  
  1345.          CALL TypeFile 
  1346.          RETURN
  1347.  
  1348. '
  1349. ' ****  R - COMMAND FROM MAIN MENU (READ MESSAGES)  ****
  1350. '
  1351. * REPLACING old line(s) by new
  1352. 4360 ZWasLG$(11) = ZWasZ$
  1353.      NumMsgsSelected = ZLastIndex
  1354.      MsgIndex = ZAnsIndex
  1355.      ZLastIndex = 0
  1356.      AddressedToUser = ZFalse
  1357.      ToRequested = ZFalse
  1358.      FromRequested = ZFalse
  1359.      LinkNext = ZFalse
  1360. * ------[ first line different ]------
  1361.      CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  1362. * REPLACING old line(s) by new
  1363. 4380 WasA1$ = "Msg #" + _
  1364.            STR$(LowMsgNumber) + _
  1365.            "-" + _
  1366.            MID$(STR$(ZMsgPtr(ActiveMessages,2)),2) + _
  1367.            " (H)lp,S)ince,L)ast" + _
  1368.            LEFT$(",G)lobal",8*(ZLinkedConf$ ="" OR ZGlobalRead)+8)
  1369. * ------[ first line different ]------
  1370.      CALL SkipLine (-QuickScanMsgs)                                  ' KG062301
  1371.      IF ZGlobalRead THEN _
  1372.    X = 15 : _         'Pe 01/17/93
  1373.      Gosub 47000 : _     'Pe 01/17/93
  1374.         CALL QuickTPut1 (OutTxt$)
  1375.      IF AddressedToUser OR ToRequested OR FromRequested THEN _
  1376.         ZWasY$ = LEFT$("TO",-2*(ToRequested OR AddressedToUser)) + _
  1377.              LEFT$("/",-AddressedToUser) + _
  1378.              LEFT$("FROM",-4*(FromRequested OR AddressedToUser)) : _
  1379.    X = 16 : _         'Pe 01/17/93
  1380.      Gosub 47000 : _     'Pe 01/17/93
  1381.         CALL QuickTPut (OutTxt$+ " "+ZWasY$+ " you",0) : _
  1382.    X = 17 : _         'Pe 01/17/93
  1383.      Gosub 47000 : _     'Pe 01/17/93
  1384. Call QuickTput1 (OutTxt$) _
  1385.      ELSE WasA1$ = WasA1$ + ",T)o,F)rom,M)" : _
  1386.           IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
  1387.              WasA1$ = WasA1$ + "arked" _
  1388.           ELSE WasA1$ = WasA1$ + "ine"
  1389.      IF SearchString$ = "" THEN _
  1390.         WasA1$ = WasA1$ + _
  1391.              ", text" _
  1392.      ELSE  X = 16 : _         'Pe 01/17/93
  1393.      Gosub 47000 : _     'Pe 01/17/93
  1394.  CALL QuickTPut (OutTxt$ +" with text " + SearchString$,0 ) : _
  1395.    X = 17 : _         'Pe 01/17/93
  1396.      Gosub 47000 : _     'Pe 01/17/93
  1397. Call QuickTput1 (OutTxt$)
  1398. * REPLACING old line(s) by new
  1399. 4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
  1400.      IF ZWasA > 0 THEN _
  1401.         ToRequested = (ZWasA > 2) : _
  1402.         FromRequested = (ZWasA < 3) : _
  1403.         GOTO 4370
  1404.      IF CurMsg = 0 THEN _
  1405.         IF SearchHeader$ <> "" THEN _
  1406.            GOTO 4370 _
  1407.         ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
  1408.              SearchCt = 0 : _
  1409.              CALL AllCaps (SearchString$) : _
  1410.              CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
  1411.              SearchHeader$ = SearchString$ : _
  1412.              SubInHeader$ = SearchHeader$ : _
  1413.              GOTO 4370
  1414. * ------[ first line different ]------
  1415.      CALL SkipLine (-ReadMsgs)                                       ' KG062301
  1416. * REPLACING old line(s) by new
  1417. * ------[ first line different ]------
  1418. 4552 IF ZMsgDimIndex = WasXXX THEN _
  1419.         CALL Carrier : _
  1420.         GOTO 4637
  1421. * REPLACING old line(s) by new
  1422. 4563   CurMsg = VAL(MID$(ZMsgRec$,2,4))
  1423. * ------[ first line different ]------
  1424.        PNumRecs=val(mid$(ZMsgRec$,117,4))   ' RS Xport
  1425.        IF ToRequested THEN _
  1426.           IF NOT MsgToCaller THEN _
  1427.              GOTO 4629
  1428.        IF FromRequested THEN _
  1429.           IF NOT MsgFromCaller THEN _
  1430.              GOTO 4629
  1431.        IF AddressedToUser AND NOT UserInHeader THEN _
  1432.           GOTO 4629
  1433.        WasX$ = MID$(ZMsgRec$,121,2)
  1434.        IF WasX$ = "  " THEN _
  1435.           MsgSec = ZMinLogonSec _
  1436.        ELSE MsgSec = CVI(WasX$)
  1437.        IF ZUserSecLevel < MsgSec THEN _
  1438.           GOTO 4629
  1439. * REPLACING old line(s) by new
  1440. 4581   IF MID$(ZMsgRec$,116,1) = ZDeletedMsg$ THEN _
  1441.           GOTO 4630
  1442. * ------[ first line different ]------
  1443.        ZJustSearching = ZFalse      'Pe 05/30/91
  1444.        IF SearchHeader$ <> "" THEN _
  1445.           ZFF = INSTR(ZMsgRec$,SearchHeader$) : _
  1446.           IF ZFF >= MsgStart AND ZFF <= MsgEnd THEN _
  1447.              HiLitePos = ZFF : _
  1448.              SearchCt = 0 : _
  1449.              GOTO 4582 _
  1450.           ELSE IF ReadMsgs AND SearchString$ <> "" THEN _
  1451.                   ZJustSearching = ZTrue : _    'Pe 05/30/91
  1452.                   GOTO 4582 _
  1453.                ELSE GOTO 4629
  1454. * REPLACING old line(s) by new
  1455. 4600   IF ScanMsgs THEN _
  1456.           GOSUB 8020 : _
  1457.           GOTO 4630
  1458. * ------[ first line different ]------
  1459.        IF NOT ZJustSearching THEN _
  1460.           GOSUB 8000 : _
  1461.           IF QuotedReply THEN _
  1462.              QuotedReply = ZFalse : _
  1463.              GOTO 4602
  1464.        IF ZRet THEN _
  1465.           GOTO 4630
  1466.        CanChangeSec = (ZUserSecLevel => ZSecChangeMsg)
  1467.        ShowKill =  - ((ZUserSecLevel >= ZOptSec(9)) AND (UserInHeader OR CanKill))
  1468.      If ZNewUserDgs = ZTrue then ShowKill= ZFalse  'Dgs-NEw
  1469.        IF ZExpertUser THEN _
  1470.           WasA1$ = ",H" + _
  1471.                 MID$(",R",1,- (ZUserSecLevel >= ZOptSec(5)) * 2) + _
  1472.                 ",T,M,=,+,-" + _
  1473.                 MID$(",F",1,- (UserInHeader OR CanChangeSec) * 2) + _
  1474.                 MID$(",K",1,ShowKill * 2) + _
  1475.                 MID$(",U",1,- (ZUserSecLevel >= ZOptSec(54)) * 2) + _
  1476.                 MID$(",S",1, - CanChangeSec * 2) + _
  1477.                 MID$(",X",1,-(ZUserSecLevel >= ZOptSec(54)) * 2) : _      'Pe MsgXport
  1478.           GOTO 4601
  1479.        GOSUB 4617
  1480. * REPLACING old line(s) by new
  1481. * ------[ first line different ]------
  1482. 4601   ' ZTurboKey = -ZTurboKeyUser
  1483.        IF ZJustSearching OR NOT JustReplied THEN _
  1484.           GOTO 4602
  1485.        JustReplied = ZFalse
  1486.        CALL AskMore (WasA1$,ZTrue,ZFalse,ZAnsIndex,ZFalse)
  1487.        CALL SkipLine (1)
  1488.        IF ZNo THEN _
  1489.           RETURN
  1490.        CALL AllCaps (ZUserIn$(1))
  1491.        ZReply = (ZReply OR ZUserIn$(1) = "R")
  1492.        IF ZUserIn$(1) <> "=" THEN _
  1493.           GOTO 4605
  1494.        CALL SkipLine (1)
  1495. * REPLACING old line(s) by new
  1496. * ------[ first line different ]------
  1497. 4603  IF NOT ZJustSearching THEN _               'Pe 02/05/90
  1498.    X = 18 : _         'Pe 01/17/93
  1499.      Gosub 47000 : _     'Pe 01/17/93
  1500.       CALL QuickTPut (ZFG2$+ OutTxt$ + ZEmphasizeOff$,0)
  1501.        GOSUB 9000
  1502.        JustReplied = ZFalse
  1503.        DontPrint = ZFalse
  1504.        IF ZJustSearching THEN _
  1505.           GOTO 4629
  1506.        IF ZAnsIndex > NumMsgsSelected THEN _
  1507.           GOTO 4650
  1508.        CALL SkipLine (1)
  1509.        GOSUB 41000
  1510.        ZKillMessage = ZFalse
  1511.        ZReply = ZFalse
  1512. * REPLACING old line(s) by new
  1513. * ------[ first line different ]------
  1514. 4605   ON INSTR(" FUST+-KRH?=MX",LEFT$(ZUserIn$(1),1)) GOTO _
  1515.           4620,4606,4607,4608,4609,4610,4610,4611,4621,4612,4614,4615,4652,4651 'Pe MsgXport
  1516.        GOTO 4620
  1517. * REPLACING old line(s) by new
  1518. 4606   IF NOT (UserInHeader OR CanChangeSec) THEN _   ' Forward
  1519. * ------[ first line different ]------
  1520.           GOTO 4620
  1521.        MsgFwd = ZTrue
  1522.        GOTO 4623
  1523. * REPLACING old line(s) by new
  1524. * ------[ first line different ]------
  1525. 4611   IF ((UserInHeader and NOT ZNewUserDgs) OR CanKill) THEN _     ' Kill Dgs-new
  1526.          IF ZUserSecLevel >= ZOptSec(9) THEN _
  1527.             CALL PutMsgAttr : _
  1528.             MsgToKill = CurMsg : _
  1529.             Temp = ZWasQ : _
  1530.             GOSUB 3950 : _
  1531.             CALL GetMsgAttr : _
  1532.             GOTO 4629 _
  1533.          ELSE ZViolation$ = "MORE KILL" : _
  1534.               GOSUB 1380 : _
  1535.               GOTO 4629
  1536.        GOTO 4620
  1537. * REPLACING old line(s) by new
  1538. 4617   WasA1$ = ",H)lp" + _
  1539. * ------[ first line different ]------
  1540.                 MID$(",R)ply",1, - (ZUserSecLevel >= ZOptSec(5)) * 6) + _ ' PE040501
  1541.                 ",T)hrd,M)rk,=,+,-" + _
  1542.                 MID$(",F)wd",1, - (UserInHeader OR CanChangeSec) * 5) + _
  1543.                 MID$(",K)ill",1, ShowKill * 6) + _
  1544.                 MID$(",U)sr",1,- (ZUserSecLevel >= ZOptSec(54)) * 6) + _
  1545.                 MID$(",S)ec",1, - CanChangeSec * 5)+ _
  1546.                 MID$(",X)port",1,-(ZUserSecLevel >= ZOptSec(54)) * 7)   'PE MsgXport
  1547.        RETURN
  1548. * REPLACING old line(s) by new
  1549. 4624   QuotedReply = ZTrue
  1550.        ZLinesInMsg = ZLinesInMsg - 1
  1551.        IF HiLitedLine > 0 THEN _
  1552.           ZOutTxt$(HiLitedLine) = ZOutTxt$(0) : _
  1553.           HiLitedLine = 0
  1554.        IF MsgFwd THEN _
  1555.           TempRightMargin = ZRightMargin _
  1556.        ELSE _
  1557.           TempRightMargin = ZRightMargin - 2
  1558.        CALL WordWrap (TempRightMargin,ZLinesInMsg,ZOutTxt$())
  1559.        IF ZLinesInMsg > ZMsgDim THEN _
  1560.           ZLinesInMsg = ZMsgDim : _
  1561. * ------[ first line different ]------
  1562.    X = 19 : _         'Pe 01/17/93
  1563.      Gosub 47000 : _     'Pe 01/17/93
  1564.           CALL QuickTPut1 (OutTxt$ + STR$(ZMsgDim) + " for editing!")
  1565.        IF MsgFwd THEN GOTO 4625
  1566.        FOR WasX = 1 TO ZLinesInMsg
  1567.           IF LEFT$(ZOutTxt$(WasX),1) = ">" THEN _
  1568.              ZOutTxt$(WasX) = ">" + ZOutTxt$(WasX) _
  1569.           ELSE ZOutTxt$(WasX) = "> " + ZOutTxt$(WasX)
  1570.        NEXT
  1571.  
  1572. * REPLACING old line(s) by new
  1573. 4626   ZWasZ$ = "L"
  1574.        WasL = 1
  1575. * ------[ first line different ]------
  1576. '************************* AnsiEd244 Mods ***********************
  1577.  IF ZFullScreenEditor THEN
  1578.       GOSUB 2110
  1579.      GOTO 4628
  1580.   End IF
  1581. '
  1582. IF NOT ZFullScreenEditor Then
  1583.       X = 235       'Pe 01/26/93
  1584.        Gosub 47000  'Pe 01/26/93
  1585.    ZOutTxt$ = OutTxt$
  1586.     GOSUB 12930
  1587.       IF ZYES THEN 
  1588.        GOSUB 2110
  1589.        ELSE
  1590.           IF ZLinesInMsg >= ZMaxMsgLines THEN _
  1591.    X = 20 : _         'Pe 01/17/93
  1592.      Gosub 47000 : _     'Pe 01/17/93
  1593.              CALL QuickTPut (OutTxt$ + _
  1594.                          STR$(ZMaxMsgLines) + " Lines...",1)
  1595.        IF NOT MsgFwd THEN _
  1596.    X = 21 : _         'Pe 01/17/93
  1597.      Gosub 47000 : _     'Pe 01/17/93
  1598.        CALL QuickTPut1 (OutTxt$)
  1599.        GOSUB 3200
  1600.        GOSUB 3020
  1601.        GOSUB 2300
  1602.        End IF
  1603.       End If
  1604.        GOTO 4628
  1605. * REPLACING old line(s) by new
  1606. * ------[ first line different ]------
  1607. 4630 MsgTemp$ = ",M)ark, #(s) to read"                       ' DD092102
  1608.      CALL AskMore (MsgTemp$,ZTrue,ZTrue,WasXX,ZFalse)        ' DD092102
  1609.      IF ZMsgDimIndex = EndingMsgIndex AND _                  ' DD092102
  1610.         NOT ReadMsgs THEN _                                  ' DD092102
  1611.        CALL SkipLine (-QuickScanMsgs) : _                   ' DD092102
  1612.        CALL AskMore (MsgTemp$,ZTrue,ZFalse,WasXX,ZFalse) : _' DD092102
  1613.    X = 22 : _         'Pe 01/17/93
  1614.      Gosub 47000 : _     'Pe 01/17/93
  1615.        CALL QuickTPut (OutTxt$,0)
  1616.       IF ZWasQ = 0 OR ZYes THEN _
  1617.          GOTO 4631
  1618.        IF ZNo THEN _
  1619.           RETURN
  1620.        IF ZSubParm = -1 THEN _
  1621.           RETURN 10595
  1622.        IF ZRet THEN _
  1623.           RETURN
  1624.        ZWasZ$ = ZUserIn$(1)
  1625.        CALL AllCaps (ZWasZ$)
  1626.        IF ZWasZ$ = "M" THEN _
  1627.           ZLastIndex = ZWasQ : _
  1628.           ZAnsIndex = 1 : _
  1629.           CALL AskItems ("M",ZWasZ$,ZTrue,"msg",ZMarkedMsgs$)
  1630.        IF VAL(ZWasZ$) > 0 THEN _
  1631.           FOR WasI = ZWasQ TO 1 STEP -1 : _
  1632.              ZUserIn$(WasI + 1) = ZUserIn$(WasI) : _
  1633.           NEXT : _
  1634.           ZUserIn$(1) = MID$(ZAllOpts$,INSTR(ZOrigCommands$,"R"),1) : _
  1635.           ZLastIndex = ZWasQ + 1 : _
  1636.           ZAnsIndex = 1 : _
  1637.           RETURN 1235
  1638. * REPLACING old line(s) by new
  1639. * ------[ first line different ]------
  1640. 4631   IF NOT Forward AND NOT Reverse THEN _                         ' KG062301
  1641.           GOTO 4370                                                  ' KG062301
  1642.         CALL CheckCarrier                                            ' KG062301
  1643.        IF ZSubParm THEN _
  1644.           RETURN 10595
  1645.        IF ZRet THEN _
  1646.           RETURN
  1647. * REPLACING old line(s) by new
  1648. 4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1649. * ------[ first line different ]------
  1650.     GOTO 4380                                               ' DD092102
  1651. * INSERTING new line(s)
  1652. 4651 '****     print current message        ****
  1653. Call MsgXport (MsgTo$,MsgFrom$,SubJect$,CurMsg,PNumRecs,RecToRead)     'Pe XportMsg
  1654.      goto 4604
  1655. * REPLACING old line(s) by new
  1656. 4661 WasY = (ASC(MID$(ZMsgRec$,116,1)) = 225)
  1657.      IF FirstActive = 0 THEN _
  1658.         IF WasY THEN _
  1659.            FirstActive = LOC(1)
  1660.      GOSUB 4662
  1661.      GET 1
  1662.      CALL ChkIfMsgHeader
  1663.      IF NOT ZOK THEN _
  1664.         ZNumHeaders = WasI
  1665. * ------[ first line different ]------
  1666.      IF MsgToCaller AND ((NOT WasY) OR (ZUserSecLevel < ZSecKillAny)) THEN _
  1667.         CurrHeaderRecNum = LOC(1) - 1 _
  1668.      ELSE WasI = WasI + 1 : _
  1669.           IF WasI <= ZNumHeaders THEN _
  1670.               GOTO 4661 _
  1671.           ELSE IF FirstActive > 0 THEN _
  1672.                   CurrHeaderRecNum = FirstActive
  1673.      GET 1, CurrHeaderRecNum
  1674.      UserInHeader = (MsgFromCaller OR MsgToCaller)
  1675.      RETURN
  1676. * REPLACING old line(s) by new
  1677. 4665 CALL Trim (MsgFrom$)
  1678. * ------[ first line different ]------
  1679.       X = 241       'Pe 01/26/93
  1680.        Gosub 47000  'Pe 01/26/93
  1681.      ZOutTxt$ = OutTxt$ + _
  1682.         MsgFrom$ + _
  1683.         " to"
  1684.      GOSUB 12995
  1685.      IF ZWasQ = 0 THEN _
  1686.         GOTO 4666
  1687.      IF LEN(ZUserIn$) > 30 THEN _
  1688.    X = 23 : _         'Pe 01/17/93
  1689.      Gosub 47000 : _     'Pe 01/17/93
  1690.         CALL QuickTPut1 (OutTxt$) : _
  1691.         GOTO 4665
  1692.      CALL AllCaps (ZUserIn$)
  1693.      MsgFrom$ = ZUserIn$
  1694. * REPLACING old line(s) by new
  1695. 4666 CALL Trim (MsgTo$)
  1696. * ------[ first line different ]------
  1697.       X = 242       'Pe 01/26/93
  1698.        Gosub 47000  'Pe 01/26/93
  1699.      ZOutTxt$ = OutTxt$ + _
  1700.         MsgTo$ + _
  1701.         " to"
  1702.      GOSUB 12995
  1703.      IF ZWasQ = 0 THEN _
  1704.         GOTO 4667
  1705.      IF LEN(ZUserIn$) > 30 THEN _
  1706.    X = 23 : _         'Pe 01/17/93
  1707.      Gosub 47000 : _     'Pe 01/17/93
  1708.         CALL QuickTPut1 (OutTxt$) : _
  1709.         GOTO 4666
  1710.      CALL AllCaps (ZUserIn$)
  1711.      MsgTo$ = ZUserIn$
  1712.      TempMsgTo$ = ZUserIn$
  1713.      CALL SetWhoTo (ZFalse,MsgTo$,MsgFrom$,RcvrRecNum,Found)
  1714.      IF MsgTo$ = "" THEN MsgTo$ = TempMsgTo$
  1715. * REPLACING old line(s) by new
  1716. 4667 CALL Trim (Subject$)
  1717. * ------[ first line different ]------
  1718.       X = 243       'Pe 01/26/93
  1719.        Gosub 47000  'Pe 01/26/93
  1720.      ZOutTxt$ = OutTxt$ + _
  1721.         Subject$ + _
  1722.         " to"
  1723.      GOSUB 12995
  1724.      IF ZWasQ = 0 THEN _
  1725.         GOTO 4668
  1726.      IF LEN(ZUserIn$) > 25 THEN _
  1727.    X = 24 : _         'Pe 01/17/93
  1728.      Gosub 47000 : _     'Pe 01/17/93
  1729.         CALL QuickTPut1 (OutTxt$) : _
  1730.         GOTO 4667
  1731.      CALL AllCaps (ZUserIn$)
  1732.      Subject$ = ZUserIn$
  1733. * REPLACING old line(s) by new
  1734. 4670 MsgTo$ = LEFT$(MsgTo$ + SPACE$(22),22)
  1735.      MsgFrom$ = LEFT$(MsgFrom$ + SPACE$(31),31)
  1736.      Subject$ = LEFT$(Subject$ + SPACE$(25),25)
  1737.      MsgPswd$ = LEFT$(MsgPswd$ + SPACE$(15),15)
  1738.      ZSubParm = 3
  1739.      CALL FileLock
  1740.      GET 1,CurHeader
  1741.      MID$(ZMsgRec$,37,22) = MsgTo$
  1742.      MID$(ZMsgRec$,6,31) = MsgFrom$
  1743.      MID$(ZMsgRec$,76,25) = Subject$
  1744.      MID$(ZMsgRec$,121,2) = MKI$(MsgSec)
  1745.      MID$(ZMsgRec$,101,15) = MsgPswd$
  1746.      IF LEFT$(MsgPswd$,6) = "^READ^" THEN _
  1747.         MID$(ZMsgRec$,1,1) = "*" _
  1748.      ELSE _
  1749.         MID$(ZMsgRec$,1,1) = " "
  1750.      PUT 1,CurHeader
  1751.      ZSubParm = 4
  1752.      CALL FileLock
  1753. * ------[ first line different ]------
  1754.    X = 25         'Pe 01/17/93
  1755.      Gosub 47000      'Pe 01/17/93
  1756.      CALL QuickTPut1 (OutTxt$)
  1757.      CALL SkipLine (1)
  1758.      RETURN
  1759. '
  1760. ' ****  O - COMMAND FROM MAIN MENU (OPERATOR PAGE)   ***
  1761. '
  1762. * REPLACING old line(s) by new
  1763. 4700 IF NOT ZSysopAvail THEN _
  1764. * ------[ first line different ]------
  1765.       X = 224 : _        'Pe 01/26/93
  1766.         Gosub 47000 : _  'Pe 01/26/93
  1767.         ZOutTxt$ =  ZSysopFirstName$ +OutTxt$ : _
  1768.         GOSUB 12979 : _
  1769.         GOTO 4755
  1770. * REPLACING old line(s) by new
  1771. * ------[ first line different ]------
  1772. 4705    X = 26 : _         'Pe 01/17/93
  1773.      Gosub 47000 : _     'Pe 01/17/93
  1774.      CALL QuickTPut1 (OutTxt$)
  1775.      WasJJ = VAL(MID$(TIME$,1,2))*100 + VAL(MID$(TIME$,4,2))
  1776.      IF (WasJJ > ZStartOfficeHours AND WasJJ < ZEndOfficeHours) OR ZSysopAnnoy THEN _
  1777.         GOTO 4710
  1778. * INSERTING new line(s)
  1779. 4707 GOTO 4750                                                    'Pe 02/03/90
  1780. * REPLACING old line(s) by new
  1781. * ------[ first line different ]------
  1782. 4708 X = 225        'Pe 01/26/93
  1783.      Gosub 47000   'Pe 01/26/93
  1784.        ZOutTxt$ = OutTxt$ + _
  1785.           STR$(ZStartOfficeHours) + _
  1786.           " to" + _
  1787.           STR$(ZEndOfficeHours) + ","
  1788.      GOSUB 12979
  1789.      GOTO 4755
  1790. * REPLACING old line(s) by new
  1791. 4710 ZOutTxt$ = "Page " + _
  1792.           ZSysopFirstName$ + _
  1793.           " (Y,[N])"
  1794.      CALL SkipLine (1)
  1795.      GOSUB 12999
  1796.      IF NOT ZYes THEN _
  1797.         RETURN
  1798.      PageCount = 0
  1799. * ------[ first line different ]------
  1800.      ZOutTxt$ = "Paging " + _
  1801.           ZSysopFirstName$
  1802.      GOSUB 12978
  1803.      PageTimeStart! = TIMER
  1804.      TempSnoop = ZSnoop
  1805.      ZSnoop = ZTrue
  1806.      CALL Line25
  1807. * REPLACING old line(s) by new
  1808. * ------[ first line different ]------
  1809. 4750    X = 27          'Pe 01/17/93
  1810.      Gosub 47000      'Pe 01/17/93
  1811.      CALL QuickTPut1 (ZSysopFirstName$ + OutTxt$)
  1812. * REPLACING old line(s) by new
  1813. * ------[ first line different ]------
  1814. 4755    X = 28          'Pe 01/17/93
  1815.      Gosub 47000      'Pe 01/17/93
  1816.      CALL QuickTPut1 (OutTxt$)
  1817.       PagedFileName$ = "PAGED.DEF"              'Pe 02/03/90
  1818.       CALL Graphic (PagedFileName$)                   'Pe 09/18/92
  1819.       Call BufFile (PagedFileName$,WasX)        'Pe 02/03/90
  1820.      ZPageStatus$ = "PG!"
  1821.      CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)
  1822.      RETURN
  1823. * REPLACING old line(s) by new
  1824. 4765 CALL UpdtCalr ("Paged & chatted with Sysop",1)
  1825. * ------[ first line different ]------
  1826.          ZPageStatus$ = ""
  1827.      ZSysopGreeting$ = "SysOp in!  " + ZFirstName$ + ", this is " + _ ' DD062801/ANSICHAT
  1828.                        ZSysopFirstName$ + ", go ahead!"             ' DD062801/ANSICHAT
  1829. * REPLACING old line(s) by new
  1830. * ------[ first line different ]------
  1831. 4770 IF ZCanANSIChat = ZTrue THEN                                   ' DD071301/ANSICHAT
  1832.         CALL ANSIChat                                               ' DD062801/ANSICHAT
  1833.      ELSE                                                           ' DD062801/ANSICHAT
  1834.         CALL SkipLine (1)                                           ' DD062801/ANSICHAT
  1835.         CALL QuickTPut1 (ZSysopGreeting$)                           ' DD062801/ANSICHAT
  1836.         CALL SysopChat                                              ' DD062801/ANSICHAT
  1837.      END IF                                                         ' DD062801/ANSICHAT
  1838.      IF ZSubParm < 0 THEN _
  1839.         GOTO 202
  1840.      RETURN
  1841. '
  1842. ' ****  S - COMMAND FROM UTILITY MENU (STATISTICS)  ***  'Pe 09/02/91
  1843. '
  1844. * INSERTING new line(s)
  1845. 4849 GOSUB 4850         'PE 02/10/89
  1846.     CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'PE 02/10/89
  1847.      RETURN             'PE 02/10/89
  1848. * REPLACING old line(s) by new
  1849. * ------[ first line different ]------
  1850. 4850 CALL Statistics (CallsToDate!,ActiveMessages,HighMsgNumber,HighestMsgRecord,CurUserCount,MaxMsgs)
  1851.      RETURN
  1852. '
  1853. * DELETING old line(s)
  1854. 4855
  1855. 4857
  1856. * REPLACING old line(s) by new
  1857. 4900 CALL UpdtCalr ("Entered " + ZConfName$,3)
  1858. * ------[ first line different ]------
  1859.    X = 29         'Pe 01/17/93
  1860.      Gosub 47000     'Pe 01/17/93
  1861.      CALL QuickTPut1 (OutTxt$ + " " + ZConfName$)
  1862. * REPLACING old line(s) by new
  1863. * ------[ first line different ]------
  1864. 4905 IF NOT ZTurboLogon THEN _
  1865.         GOSUB 1790
  1866. * REPLACING old line(s) by new
  1867. 4910 GOSUB 12986
  1868.      GOSUB 5344
  1869.      IF LOF(1) = 0 THEN _
  1870.         ZWasDF$ = ZActiveMessageFile$ : _
  1871.         CLOSE 1 : _
  1872.         KILL ZActiveMessageFile$ : _
  1873.         GOSUB 12987 : _
  1874.         RETURN 13600
  1875.      GOSUB 23000
  1876.      RETURN
  1877. '
  1878. * ------[ first line different ]------
  1879. ' ****  P - COMMAND FROM UTILITY MENU (PASSWORD CHANGE)  ***
  1880. '
  1881. * REPLACING old line(s) by new
  1882. 5110 GOSUB 11185
  1883.      ZMacroMin = 99
  1884.      ZParseOff = ZTrue
  1885.      GOSUB 12960
  1886. * ------[ first line different ]------
  1887.       X = 226         'Pe 01/26/93
  1888.       Gosub 47000   'Pe 01/26/93
  1889.      CALL NewPassword (OutTxt$ + ZPressEnter$,ZTrue)
  1890.      IF ZSubParm < 0 THEN _
  1891.         GOTO 202
  1892.      IF ZWasQ = 0 THEN _
  1893.         RETURN
  1894. * REPLACING old line(s) by new
  1895. * ------[ first line different ]------
  1896. 5120 X = 227        'Pe 01/26/93
  1897.      Gosub 47000   'Pe 01/26/93
  1898.      ZOutTxt$ = OutTxt$
  1899.      GOSUB 45010
  1900.      IF ZWasQ = 0 THEN _
  1901.         RETURN
  1902.      CALL AllCaps (ZUserIn$)
  1903.      IF ZWasZ$ <> ZUserIn$ THEN _
  1904.       X = 228 : _        'Pe 01/26/93
  1905.         Gosub 47000 : _  'Pe 01/26/93
  1906.         ZOutTxt$ = OutTxt$ : _
  1907.         GOSUB 12979 : _
  1908.         RETURN
  1909. * REPLACING old line(s) by new
  1910. 5125 IF ZMaxPswdChanges AND _
  1911.         ChangeThisSession > ZMaxPswdChanges AND _
  1912.         NOT ZSysop THEN _
  1913. * ------[ first line different ]------
  1914.       X = 229 : _        'Pe 01/26/93
  1915.         Gosub 47000 : _  'Pe 01/26/93
  1916.             ZOutTxt$ = OutTxt$ : _
  1917.             GOSUB 12975 : _
  1918.             RETURN _
  1919.      ELSE CALL SrchPasswrds (Found) : _
  1920.           IF NOT Found THEN _
  1921.              GOTO 5129 _
  1922.           ELSE X = 230 : _        'Pe 01/26/93
  1923.                Gosub 47000 : _  'Pe 01/26/93
  1924.                ZOutTxt$ = OutTxt$ : _
  1925.                GOSUB 12975 : _
  1926.                ZPswd$ = ZTempPassword$ : _
  1927.                ZSecsPerSession! = ZTempTimeAllowed * 60 : _
  1928.                ZUserSecLevel = ZTempSecLevel : _
  1929.                GOSUB 41070 : _
  1930.                ZSysop = (ZUserSecLevel >= ZSysopSecLevel) : _
  1931.                CALL SetPrompt : _
  1932.                CALL XferType (2,ZTrue)
  1933.      IF ZActiveUserName$ = "SYSOP" THEN _
  1934.         ZUserIn$(1) = "********"
  1935. * REPLACING old line(s) by new
  1936. * ------[ first line different ]------
  1937. 5126   X = 231         'Pe 01/26/93
  1938.       Gosub 47000  'Pe 01/26/93
  1939.      CALL UpdtCalr (OutTxt$ + ZUserIn$,2)
  1940.      RETURN
  1941. * REPLACING old line(s) by new
  1942. 5129 IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  1943. * ------[ first line different ]------
  1944.    X = 30 : _         'Pe 01/17/93
  1945.      Gosub 47000 : _     'Pe 01/17/93
  1946.         CALL QuickTPut1 (OutTxt) : _
  1947.         RETURN
  1948.      GOSUB 12989
  1949.      CALL OpenUser (ZHighestUserRecord)
  1950.      GOSUB 9450
  1951. * REPLACING old line(s) by new
  1952. 5130 IF ZUserFileIndex < 1 OR _
  1953.         ZUserFileIndex > 32767 THEN _
  1954.         GOTO 5160
  1955.      GET 5,ZUserFileIndex
  1956.      CALL AllCaps (ZUserIn$)
  1957.      LSET ZPswd$ = ZUserIn$
  1958.      GOSUB 9440
  1959.      GOSUB 12991
  1960. * ------[ first line different ]------
  1961.       X = 232        'Pe 01/26/93
  1962.         Gosub 47000  'Pe 01/26/93
  1963.      ZOutTxt$ = OutTxt$
  1964.      ZStopInterrupts = ZTrue
  1965.      GOSUB 12975
  1966.      IF ZMaxPswdChanges THEN _
  1967.         ChangeThisSession = ChangeThisSession + 1
  1968. * REPLACING old line(s) by new
  1969. * ------[ first line different ]------
  1970. 5131  X = 229        'Pe 01/26/93
  1971.       Gosub 47000  'Pe 01/26/93
  1972.      CALL UpdtCalr (OutTxt$ + ZUserIn$(1),2)
  1973.      RETURN
  1974. '
  1975. ' ****  SEARCH "PASSWORDS" FILE FOR TEMPORARY PASSWORDS  ***
  1976. '
  1977. * REPLACING old line(s) by new
  1978. 5280 CALL BreakFileName (ZActiveMsgFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue)
  1979.      WasX$ = UserDrvPath$ + _
  1980.              ZConfName$ + _
  1981.              "U.DEF"
  1982.      CALL FindIt (WasX$)
  1983.      IF NOT ZOK THEN _
  1984. * ------[ first line different ]------
  1985.         CALL BreakFileName (ZActiveUserFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  1986.         WasX$ = UserDrvPath$ + _
  1987.                 ZConfName$ + _
  1988.                 "U.DEF"
  1989.      RETURN
  1990. * REPLACING old line(s) by new
  1991. 5290 CALL NextConf (ZTrue)
  1992.      IF ZHomeConf$ <> "" THEN _
  1993.         ConfMailJoin = ZTrue : _
  1994.         RETURN 1205
  1995.      IF ZLinkedConf$ = "" THEN _
  1996. * ------[ first line different ]------
  1997.    X = 31 : _         'Pe 01/17/93
  1998.      Gosub 47000 : _     'Pe 01/17/93
  1999.         CALL QuickTPut1(OutTxt$)
  2000.      GOTO 5301
  2001. * REPLACING old line(s) by new
  2002. 5300 WasA1$ = ZConfMenu$
  2003.      CALL BreakFileName (ZActiveMessageFile$,MsgDrvPath$,WasX$,ZWasY$,ZTrue)
  2004. * ------[ first line different ]------
  2005. * REPLACING old line(s) by new
  2006. 5301 ZStackC = ZTrue
  2007. * ------[ first line different ]------
  2008.       X = 244       'Pe 01/26/93
  2009.        Gosub 47000  'Pe 01/26/93
  2010.      CALL SubMenu (OutTxt$,_
  2011.          WasA1$,MsgDrvPath$,"M.DEF",",M,MAIN,N,S,P,Q,", _
  2012.          ZTrue,ZFalse,ZFalse,"C.DEF",WasX,ZFalse)
  2013.      IF ZWasQ = 0 THEN _
  2014.         RETURN
  2015.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  2016.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  2017.      IF ZSubParm = -1 THEN _
  2018.         RETURN 10595
  2019. * REPLACING old line(s) by new
  2020. 5323 IF ZWasZ$ = "MAIN" THEN _
  2021.         ZWasZ$ = "M"
  2022.      WasX = (ZWasZ$ = "M")
  2023.      IF ZWasZ$ = ConfNameSave$ OR (WasX AND ZConfName$ = "MAIN") THEN _
  2024. * ------[ first line different ]------
  2025.    X = 32 : _         'Pe 01/17/93
  2026.      Gosub 47000 : _     'Pe 01/17/93
  2027.         CALL QuickTPut1 (OutTxt$ + " "  + ZWasZ$) : _
  2028.   GOSUB 2350 : _                                                     ' Pe042592
  2029.         RETURN
  2030.      ON INSTR("MNSPQ",ZWasZ$) GOTO 5350,5290,5292,5294,10550
  2031.      IF NOT ZOK THEN _
  2032.         GOTO 5300
  2033.      CLOSE 2
  2034. '
  2035. ' ****  UPDATE PREVIOUS MESSAGE BASE CHECKPOINT RECORD  ***
  2036. '
  2037. * REPLACING old line(s) by new
  2038. 5328 WasX$ = ZConfName$ + _
  2039.           "C.DEF"
  2040.      CALL FindIt (WasX$)
  2041.      ZSubBoard = ZOK
  2042.      IF NOT ZSubBoard THEN _
  2043.         CALL BreakFileName (ZMainMsgFile$,MsgDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  2044.         WasX$ = MsgDrvPath$ + WasX$ : _
  2045.         CALL FindIt (WasX$) : _
  2046.         ZSubBoard = ZOK
  2047.      IF ZSubBoard THEN _
  2048.         IF LEN(ZConfName$) = 6 THEN _
  2049.            IF LEFT$(ZConfName$,4) = "RBBS" AND RIGHT$(ZConfName$,1) = "P" THEN _
  2050.               ZSubBoard = ZFalse
  2051.      IF NOT ZSubBoard THEN _
  2052.         GOSUB 5280 : _
  2053.         ZFileName$ = ZWelcomeFileDrvPath$ + _
  2054.                      ZConfName$ + _
  2055.                      "W.DEF" _
  2056.         ELSE CALL ReadDef (WasX$) : _
  2057.              IF ZErrCode > 0 THEN _
  2058.                 CALL UpdtCalr ("Error"+STR$(ZErrCode)+" reading config file "+WasX$,2) : _
  2059.                 ZErrCode = 0 : _
  2060.                 ZInConfMenu = ZFalse : _
  2061.                 ZOutTxt$ = "error reading subboard" : _
  2062.                 GOTO 5341 _
  2063.              ELSE WasX$ = ZMainUserFile$ : _
  2064.                   ZFileName$ = "" : _
  2065.                   CALL FindIt (ZMainMsgFile$) : _
  2066.                   IF NOT ZOK THEN _
  2067.                      ZOutTxt$ = "msg file missing for" : _
  2068.                      ZInConfMenu = ZFalse : _
  2069.                      GOTO 5341 _
  2070.                   ELSE ZActiveMessageFile$ = ZMainMsgFile$ : _
  2071.                        GOSUB 5343
  2072.      UpdateDate = ZTrue
  2073.      CALL FindIt (WasX$)
  2074.      IF ZOK THEN _
  2075.         GOTO 5330
  2076. '
  2077. ' *****  NO USER FILE - A PUBLIC CONFERENCE   ****
  2078. '
  2079.      ZMainUserFile$ = PrevMainUser$
  2080.      IF (ZUserSecLevel < AutoAddSec) THEN _
  2081.         GOTO 5340
  2082.      GOTO 5345
  2083. * ------[ first line different ]------
  2084. '
  2085. ' ****  CHECK CONFERENCE USER'S FILE  ***
  2086. '
  2087. * REPLACING old line(s) by new
  2088. 5335 IF Found THEN _
  2089.         GOSUB 9500 : _
  2090.         ZMainUserFileIndex = -(ZSubBoard * ZUserFileIndex)_
  2091. * ------[ first line different ]------
  2092.                          -((NOT ZSubBoard) * ZMainUserFileIndex) : _
  2093.         Temp = -(ZSubBoard * ZMinLogonSec) _
  2094.                -((NOT ZSubBoard) * AutoAddSec) : _
  2095.         GOSUB 5135 : _
  2096.         GOSUB 5296 : _
  2097.         WasI = (ZUserSecLevel < OrigMainSec) : _
  2098.         WasJ = (ZUserSecLevel < Temp) : _
  2099.         WasK = (WasI AND WasJ) : _
  2100.         IF WasK THEN _
  2101.          X = 245 : _         'Pe 01/17/93
  2102.          Gosub 47000 : _     'Pe 01/17/93
  2103.            ZOutTxt$ = OutTxt$ : _
  2104.            GOTO 5341 _
  2105.         ELSE GOSUB 5375 : _
  2106.              GOTO 5345
  2107. '
  2108. ' **** USER NOT FOUND.  AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
  2109. '
  2110.      ZNewUser = ZTrue
  2111.      IF ZSubBoard THEN _
  2112.         AutoAddSec = ZMinLogonSec
  2113.      IF (ZOrigSec >= AutoAddSec) AND _
  2114.         (ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
  2115.         LSET ZUserRecord$ = UserRecordHold$ : _
  2116.    X = 33 : _         'Pe 01/17/93
  2117.      Gosub 47000 : _     'Pe 01/17/93
  2118.         CALL QuickTPut1 (OutTxt$ + " "  + ZConfName$) : _
  2119.         MID$(ZUserOption$,3,2) = MKI$(0) : _
  2120.         MID$(ZUserOption$,1,2) = MKI$(0) : _
  2121.         ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
  2122.         CALL Trim (ZActiveUserName$) : _
  2123.         Temp = -(ZSubBoard * ZDefaultSecLevel) _
  2124.                -((NOT ZSubBoard) * ZUserSecSave) : _
  2125.         CALL SetSysOp : _
  2126.         Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
  2127.         LSET ZSecLevel$ = MKI$(Temp) : _
  2128.         ZUserSecLevel = Temp : _
  2129.         GOSUB 5375 : _
  2130.         ZPageLength = ZPageLengthDef : _
  2131.         GOSUB 12986 : _
  2132.         GOSUB 12630 : _
  2133.         UpdateDate = ZTrue : _
  2134.         Found = ZTrue : _
  2135.         GOTO 5335
  2136.      IF ZOrigSec >= AutoAddSec THEN _
  2137.    X = 34 : _         'Pe 01/17/93
  2138.      Gosub 47000 : _     'Pe 01/17/93
  2139.         CALL QuickTPut1 (OutTxt$ +" " + ZConfName$) : _
  2140.         ZActiveUserFile$ = PrevUser$ : _
  2141.         UpdateDate = ZFalse : _
  2142.         ZUserFileIndex = PrevIndex : _
  2143.         GOSUB 5382 : _
  2144.         ZUserFileIndex = 0 : _
  2145.         GOTO 5345
  2146.      ZNewUser = ZFalse
  2147. * REPLACING old line(s) by new
  2148. 5340 IF ZInConfMenu THEN _
  2149. * ------[ first line different ]------
  2150.         ZOutTxt$ = "conference NOT availble " _    ' Pe 04/24/92
  2151.      ELSE ZOutTxt$ = "no such option"
  2152. * REPLACING old line(s) by new
  2153. * ------[ first line different ]------
  2154. 5341 ZOutTxt$ = ZConfName$ + " " + ZOutTxt$
  2155. '
  2156. ' ****  CANNOT JOIN THE REQUESTED CONFERENCE.  THEREFORE, GO BACK  ***
  2157. '
  2158.      GOSUB 1397
  2159.      ZConfName$ = PrevConfName$
  2160.      ConfFileName$ = ZConfName$
  2161.      IF ZSubBoard THEN _
  2162.         CALL ReadDef (PrevDef$)
  2163.      ZActiveMessageFile$ = PrevMsg$
  2164.      GOSUB 5343
  2165.      ZUserFileIndex = PrevIndex
  2166.      ZActiveUserFile$ = PrevUser$
  2167.      GOSUB 5382
  2168.      ZConfMode = ConfModeSave
  2169.      GOSUB 12987
  2170.      ZAnsIndex = 0
  2171.      ZLastIndex = 0
  2172.      GOTO 5301
  2173. '
  2174. ' ****  RESTORE A MESSAGE BASE   ***
  2175. '
  2176. * REPLACING old line(s) by new
  2177. * ------[ first line different ]------
  2178. 5345 DgsStl$ = ""                                                 'Dgs-ALias
  2179.      WHILE DgsAlias$ = ""                                         'Dgs-ALias
  2180.         CALL AliasDgs (ZConfName$,ZOrigUserNameDgs$,DgsAlias$, _  'Dgs-ALias
  2181.                        DgsStl$,DgsFileName$)                      'Dgs-ALias
  2182.      WEND                                                         'Dgs-ALias
  2183.      DgsAlias$ = ""                                               'Dgs-ALias
  2184.      ZNewsFileName$ = ZWelcomeFileDrvPath$ + ZConfName$ + ".NWS"
  2185.      CALL DeLink (ZConfName$)
  2186.      ConfNameSave$ = ZConfName$
  2187.      ZConfName$ = ZConfName$ + " " + MID$("ConferenceSubboard",1-10*ZSubBoard,10)
  2188.      IF ZGlobalSysop THEN _
  2189.         ZActiveUserName$ = "SYSOP"
  2190.      ZMarkedMsgs$ = ""
  2191.      ZMarkedFiles$ = ""   'Pe 03/21/92
  2192. * REPLACING old line(s) by new
  2193. 5350 IF ZConfName$ <> "MAIN" THEN _
  2194. * ------[ first line different ]------
  2195.    X = 35 : _         'Pe 01/17/93
  2196.      Gosub 47000 : _     'Pe 01/17/93
  2197.         CALL QuickTPut1 (OutTxt$ + " " + OrigMsgName$)
  2198.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  2199.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  2200.      CALL DeLink (ZConfName$)
  2201.      ConfFileName$ = OrigMsgName$
  2202.      ZNewsFileName$ = OrigNewsFileName$
  2203.      ZTurboLogon = ZTrue
  2204.      ZMarkedMsgs$ = ""
  2205.      ZMarkedFiles$ = ""   'Pe 04/18/92
  2206.      ZWasQ = 0
  2207.      ZNewUser = ZFalse
  2208.      ZInConfMenu = ZTrue
  2209.      IF ZActiveUserName$ = "SYSOP" THEN _
  2210.             ZActiveUserName$ = ZSecretName$ : _
  2211.         CALL Trim (ZActiveUserName$)
  2212.      ZConfigFileName$ = ZOrigCnfg$
  2213.      CALL ReadDef (ZConfigFileName$)
  2214.      IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
  2215.         ZActiveMessageFile$ = ZOrigMsgFile$ : _
  2216.         GOSUB 5343
  2217.      IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  2218.         GOSUB 5380 : _
  2219.         ZActiveUserFile$ = ZOrigUserFile$ : _
  2220.         ZActiveUserName$ = ZOrigUserName$ : _
  2221.         GOSUB 12598 : _
  2222.         GOSUB 12990 : _
  2223.         IF Found THEN _
  2224.            GOSUB 9500 : _
  2225.            ZMainUserFileIndex = ZUserFileIndex : _
  2226.            CALL SetPrompt : _
  2227.            CALL XferType (2,ZTrue) _
  2228.         ELSE ZUserFileIndex = 0 : _
  2229.              ZMainUserFileIndex = 0
  2230.      CALL UpdtCalr (ZActiveUserName$ +" Exited " + ZConfName$,3)  'Pe 11/07/91
  2231.      ZConfName$ = "MAIN"
  2232.      ConfNameSave$ = ZConfName$
  2233.      GOSUB 2350
  2234.      ZUplds = ZGlobalUplds
  2235.      ZDnlds = ZGlobalDnlds
  2236.      ZDLToday! = ZGlobalDLToday!
  2237.      ZBytesToday! = ZGlobalBytesToday!
  2238.      ZDLBytes! = ZGlobalDLBytes!
  2239.      ZULBytes! = ZGlobalULBytes!
  2240.      ZBankTime = ZGlobalBankTime
  2241. * REPLACING old line(s) by new
  2242. 5360 ZConfMode = ZFalse
  2243.      BoardCheckDate$ = ZLastDateTimeOn$
  2244.      ZSubBoard = ZTrue
  2245.      GOSUB 12987
  2246. * ------[ first line different ]------
  2247. If ZlogOff$ = "G" Then Return       'Pe 12/30/92
  2248.      RETURN 108
  2249. * REPLACING old line(s) by new
  2250. 5380 IF ZUserFileIndex < 1 THEN _
  2251.         RETURN
  2252.      IF ZAdjustedSecurity AND NOT ZSysop THEN _
  2253.         LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  2254.         ZUserSecSave = ZUserSecLevel
  2255. * ------[ first line different ]------
  2256.      IF ZSubBoard THEN _                                          'Dgs-ALias
  2257.         ZActiveUserName$ = ZOrigUserNameDgs$ : _                  'Dgs-ALias
  2258.         ZFirstName$ = OrigFirstName$                              'Dgs-ALias
  2259.      CALL UpdateU (ZFalse)
  2260.      RETURN
  2261. '
  2262. ' *****  RESTORE A USER RECORD  ****
  2263. '
  2264. * DELETING old line(s)
  2265. 5400
  2266. 5410
  2267. * INSERTING new line(s)
  2268. 5450 CALL ShowUsrProfile 'Pe 02/03/90
  2269.      RETURN
  2270. '
  2271. ' *****  Who Uploadled What from Main MEnu  ****
  2272. '
  2273. * REPLACING old line(s) by new
  2274. * ------[ first line different ]------
  2275. 5500 Call WhoDidIt
  2276.      CALL AskMore ("End of Listing",ZTrue,ZFalse,WasX,ZTrue)   'Pe 01/25/92
  2277.      Return
  2278. '
  2279. * DELETING old line(s)
  2280. 5502
  2281. * INSERTING new line(s)
  2282. 5700 RETURN 10595  'Entry point when have double nested gosub  'Pe 01/24/92
  2283. '
  2284. ' *****  V - COMMAND FROM MAIN MENU (VIEW CONFERENCES)  ****
  2285. '
  2286. * REPLACING old line(s) by new
  2287. 8030 MsgTo$ = MID$(ZMsgRec$,37,22)
  2288. * ------[ first line different ]------
  2289.      IF (ZNewUserDGS AND INSTR(MsgTo$,"NEWUSER")) THEN _          'DGS-NEW
  2290.          MsgTo$ = ZActiveUserName$                                'DGS-NEW
  2291.          CALL SmartText(MsgTo$,ZFalse,ZFalse,ZTrue)        'Pe 02/06/93
  2292.          CALL Trim (MsgTo$)
  2293.      IF ZNumHeaders > 1 THEN _
  2294.         MsgTo$ = MsgTo$ + " et al."
  2295. * REPLACING old line(s) by new
  2296. 8050 MsgFrom$ = MID$(ZMsgRec$,6,31)
  2297.      CALL Trim (MsgFrom$)
  2298.      IF LEN(MsgFrom$) < 23 THEN _
  2299.         MsgFrom$ = MsgFrom$ + _
  2300.                         SPACE$(23 - LEN(MsgFrom$))
  2301.      IF ZUserSecLevel >= ZSecChangeMsg THEN _
  2302.         Year$ = "  Security:" + _
  2303.               STR$(MsgSec) _
  2304.         ELSE Year$ = ""
  2305.      IF MID$(ZMsgRec$,101,1) = "!" THEN _
  2306.         MID$(ZMsgRec$,1,1) = "!"
  2307.      ZOutTxt$ = ZFG1$ + "Msg #: " + _
  2308.           LEFT$(ZMsgRec$,5) + _
  2309.           Year$ + SPACE$ (22-LEN(Year$)) + ZConfName$
  2310.      Year$ = ZFG4$ + "   Sent: " + _
  2311.           MID$(ZMsgRec$,68,8) + _
  2312.           " " + _
  2313.           MID$(ZMsgRec$,59,5)
  2314.      IF NOT ZRet THEN _
  2315.         IF ReadMsgs THEN _
  2316.            CALL QuickTPut1 (ZOutTxt$): _
  2317.            WasX$ = MsgFrom$ : _
  2318. * ------[ first line different ]------
  2319.            CALL NameCaps(WasX$) : _            'SM091909
  2320.            CALL CheckColor (WasX$,SubInHeader$,ZFG2$) : _
  2321.            CALL QuickTPut1 (ZFG2$ + " From:  " + WasX$ + Year$) : _
  2322.            GOSUB 8076 : _
  2323.            WasX$ = MsgTo$ : _
  2324.            CALL NameCaps(WasX$) : _            'SM091909
  2325.            CALL CheckColor (WasX$,SubInHeader$,ZFG3$) : _
  2326.            CALL QuickTPut1 (ZFG3$ + "   To:  " + WasX$ + "  " + ZFG2$ + Year$) : _
  2327.            CALL CheckColor (Subject$,SubInHeader$,ZFG4$) : _
  2328.            CALL NameCaps(Subject$) : _            'SM091909
  2329.            ZOutTxt$ = ZFG4$ + "   Re:  " + _
  2330.                 Subject$ + ZEmphasizeOff$ : _        'SM091909
  2331.            CALL AllCaps (Subject$) _            'SM091909
  2332.         ELSE ZOutTxt$ = ZFG1$ + LEFT$(ZMsgRec$,5) + _
  2333.                   " " + _
  2334.                   MID$(ZMsgRec$,68,5) + _
  2335.                   " " + _
  2336.                   + ZFG2$ + LEFT$(MsgFrom$,18) + _
  2337.                   " -> " + _
  2338.                   + ZFG3$ + LEFT$(MsgTo$,19) + _
  2339.                   " " + _
  2340.                   + ZFG4$ + LEFT$(Subject$,24) + ZEmphasizeOff$ : _
  2341.              CALL CheckColor (ZOutTxt$,SubInHeader$,"") : _
  2342.              GOTO 8080
  2343.      IF QuickScanMsgs OR _
  2344.         ScanMsgs THEN _
  2345.            GOTO 8080 _
  2346.      ELSE GOTO 8077
  2347. * REPLACING old line(s) by new
  2348. * ------[ first line different ]------
  2349. 9000 IF NOT ZJustSearching THEN _   'Pe 05/31/91
  2350.         GOSUB 4656: _
  2351.         CALL SkipLine (1) : _
  2352.         ZLinesInMsg = 1 : _
  2353.         MsgDimXtra = 150 : _
  2354.         REDIM ZOutTxt$(MsgDimXtra) : _
  2355.         Remain$ = "" : _
  2356.         HiLitedLine = 0
  2357.      RecToRead = ZMsgPtr(ZMsgDimIndex,1) + ZNumHeaders - 1
  2358.      FOR WasX = ZNumHeaders + 1 TO VAL(MID$(ZMsgRec$,117,4))
  2359.         WasJ = 1
  2360.         RecToRead = RecToRead + 1
  2361.         GET 1, RecToRead
  2362.         IF ZJustSearching THEN _    'Pe 05/30/91
  2363.            ZOutTxt$ = ZMsgRec$ : _
  2364.            CALL AllCaps (ZOutTxt$) : _
  2365.            HiLitePos = INSTR(ZOutTxt$,SearchString$) : _
  2366.            IF HiLitePos > 0 THEN _
  2367.               SearchCt = 0 : _
  2368.               HiLiteRec = LOC(1) : _
  2369.               WasX = 9999 : _
  2370.               GOTO 9090 _
  2371.            ELSE GOTO 9090
  2372. * REPLACING old line(s) by new
  2373. 9085    IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
  2374.            LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
  2375.            GOTO 9050
  2376.         ZOutTxt$(ZLinesInMsg) = ZOutTxt$
  2377.         IF Bracketed THEN _
  2378.            Bracketed = ZFalse : _
  2379.            HiLitedLine = ZLinesInMsg
  2380.         ZLinesInMsg = ZLinesInMsg + 1
  2381.         IF ZLinesInMsg > MsgDimXtra THEN _
  2382.            ZLinesInMsg = ZLinesInMsg - 1 : _
  2383.            CALL SkipLine (1) : _
  2384. * ------[ first line different ]------
  2385.    X = 36 : _         'Pe 01/17/93
  2386.      Gosub 47000 : _     'Pe 01/17/93
  2387.            CALL QuickTPut1 (OutTxt$ + " " + STR$(MsgDimXtra) + " lines!") : _
  2388.            ZOutTxt$ = "" : _
  2389.            RETURN
  2390.         IF NOT DontPrint THEN _
  2391.            CALL SmartText(ZoutTxt$,ZFalse,ZFalse,ZTrue) : _    'Pe 02/06/93
  2392.            GOSUB 12979 : _
  2393.            IF ZRet THEN _
  2394.               ZOutTxt$ = "" : _
  2395.               RETURN _
  2396.            ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
  2397.                 IF ZNo THEN _
  2398.                    DontPrint = ZTrue
  2399.         GOTO 9050
  2400. * REPLACING old line(s) by new
  2401. 9090 NEXT
  2402.      IF DontPrint = ZTrue THEN _
  2403.         GOTO 5160
  2404. * ------[ first line different ]------
  2405.      IF ZJustSearching AND HiLitePos > 0 THEN _
  2406.         ZJustSearching = ZFalse : _                   'PE 05/30/91
  2407.         GET 1,ZMsgPtr(ZMsgDimIndex,1) : _
  2408.         GOSUB 8000 : _
  2409.         GOTO 9000
  2410.      ZOutTxt$ = ""
  2411.      RETURN
  2412. '
  2413. ' *  C - COMMAND FROM UTILITY MENU (CLOCK - TIME ON SYSTEM)
  2414. '
  2415. * INSERTING new line(s)
  2416. 9099 GOSUB 9100                          'Pe 02/11/89
  2417.      CALL BankTime
  2418.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89
  2419.      RETURN                              'PE 02/11/89
  2420. * REPLACING old line(s) by new
  2421. * ------[ first line different ]------
  2422. 9701 X = 246          'Pe 01/17/93
  2423.      Gosub 47000      'Pe 01/17/93
  2424.      CALL SubMenu (OutTxt$,_
  2425.                    WasA1$, ZBulletinPrefix$,"",ReturnOn$,_
  2426.                    ZFalse,ZFalse,ZFalse,"",WasX,ZTrue)
  2427.      IF ZWasQ = 0 THEN _
  2428.         RETURN
  2429.      CALL CheckCarrier
  2430.      IF ZSubParm = -1 THEN _
  2431.         RETURN 10595
  2432.      IF (ZWasZ$ = "*" OR ZWasZ$ = "S") THEN _
  2433.         ZPrevPrefix$ = "" : _
  2434.         GOTO 9760
  2435.      ZStopInterrupts = ZFalse
  2436.      IF ZWasZ$ = "N" THEN _
  2437.         GOSUB 1242 : _
  2438.         IF WasZ <> 0 THEN _
  2439.    X = 37 : _         'Pe 01/17/93
  2440.      Gosub 47000 : _     'Pe 01/17/93
  2441.            CALL QuickTPut1 (OutTxt$) : _
  2442.            GOTO 9701 _
  2443.         ELSE GOTO 9703
  2444.      CALL BufFile (ZFileName$,ZAnsIndex)
  2445. * REPLACING old line(s) by new
  2446. 9760 ' ****  [entry when want review plus chance to read] *********
  2447.      GOSUB 9750
  2448.      IF NumNewBullets > 0 THEN _
  2449.         ZLastIndex = NumNewBullets + 1 : _
  2450. * ------[ first line different ]------
  2451.         X = 247 : _         'Pe 01/17/93
  2452.        Gosub 47000 : _     'Pe 01/17/93
  2453.        ZOutTxt$ = OutTxt$ : _
  2454.         GOSUB 12999 : _
  2455.         IF NOT ZNo THEN _
  2456.            FOR Temp = 1 TO NumNewBullets : _
  2457.               ZUserIn$(Temp) = ZOutTxt$(Temp+1) : _
  2458.            NEXT : _
  2459.            ZAnsIndex = 0 : _
  2460.            ZLastIndex = NumNewBullets : _
  2461.            GOTO 9700
  2462.      ZLastIndex = 0
  2463.      IF ZAnsIndex < 1 THEN _
  2464.         RETURN
  2465.      GOTO 9701
  2466. '
  2467. ' *  W - COMMAND FROM MAIN MENU (WHO'S ON THE OTHER NODES)
  2468. '
  2469. * REPLACING old line(s) by new
  2470. 9800 CALL WhosOn (ZMaxNodes)
  2471. * ------[ first line different ]------
  2472.      CLOSE 9                                                         ' CHAT0813
  2473.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89 
  2474.      GOSUB 5344
  2475.      RETURN
  2476. '***       CHAt Mod ***********
  2477. * INSERTING new line(s)
  2478. 9801 IF ZMaxNodes < 2 THEN _                                     'PECHT0603
  2479.      RETURN
  2480.      X = 248        'Pe 01/17/93
  2481.      Gosub 47000     'Pe 01/17/93
  2482.      ZOutTxt$ = OutTxt$
  2483.         GOSUB 12999
  2484.      IF NOT ZYes THEN _
  2485.         RETURN
  2486. '9802 CALL PageEm (ZNodeRecIndex - 1, ZMaxNodes)
  2487. '     REM ** 'ZNodeRecIndex - 1' is the users actual node number.. is there
  2488. '     REM ** already a variable for this?? I dunno..
  2489. '     REM **
  2490. '     REM ** PageEm will call WhosOn, then ask if they want to page someone
  2491. '     REM ** if so, it'll call CBTrueChat
  2492. '     REM ** etc..
  2493. '     CLOSE 9                                                        ' RCHAT
  2494. '     GOSUB 5344
  2495. '     RETURN
  2496. 9802 CALL PageEm (ZNodeRecIndex - 1, ZMaxNodes, ZFalse)     
  2497.      CALL CBTrueChat(ZMaxNodes)
  2498.        Close 9
  2499.          GOSUB 5344
  2500.        RETURN
  2501. '
  2502. ' *  1 - COMMAND FROM SYSOP MENU (DISPLAY COMMENTS)
  2503. '
  2504. * REPLACING old line(s) by new
  2505. * ------[ first line different ]------
  2506. 10070 ZFileName$ = ZCmntsFile$
  2507.       IF NOT ZStopInterrupts THEN _
  2508.       X = 249 : _         'Pe 01/17/93
  2509.       Gosub 47000 : _     'Pe 01/17/93
  2510.          ZOutTxt$ = OutTxt$ : _
  2511.          GOSUB 12976
  2512.       GOSUB 20150
  2513. '
  2514. ' Delete Comments added here to allow Sysops 4 command to handle BatchUploads 'Pe 09/12/91
  2515. '
  2516.   X = 250         'Pe 01/17/93
  2517.   Gosub 47000     'Pe 01/17/93
  2518.    ZOutTxt$ = OutTxt$
  2519.    GOSUB 12995
  2520.       IF ZYes THEN _
  2521.          CALL OpenOutW (ZCmntsFile$)
  2522.       CLOSE 2
  2523.       RETURN
  2524. '
  2525. ' *  U - COMMAND FROM UTILITY MENU (DISPLAY USERS)
  2526. ' *  2 - COMMAND FROM SYSOP MENU (DISPLAY USERS)
  2527. '
  2528. * REPLACING old line(s) by new
  2529. * ------[ first line different ]------
  2530. 10090 X = 251         'Pe 01/17/93
  2531.       Gosub 47000     'Pe 01/17/93
  2532.       ZOutTxt$ = OutTxt$
  2533.       ZMacroMin = 2
  2534.       CALL SkipLine (1)
  2535.       GOSUB 12930
  2536.       IF ZWasQ = 0 THEN _
  2537.          RETURN
  2538.       CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  2539.       ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10090,10096,10093
  2540. * REPLACING old line(s) by new
  2541. 10391 CALL ChangeInt (ZFalse,"Recover Msg #",0,1,9999)
  2542.       IF ZWasQ = 0 THEN _
  2543.          RETURN
  2544.       MsgToRecover = ZTestedIntValue
  2545.       GOSUB 5344
  2546.       ActionFlag = ZFalse
  2547. * ------[ first line different ]------
  2548.       CALL RecoverMsg (MsgToRecover,FirstMsgRecord,ActionFlag,ZConfName$) 'Pe 06/09/91
  2549.       MsgRecovered = MsgRecovered OR ActionFlag
  2550.       GOTO 10391
  2551. * REPLACING old line(s) by new
  2552. 10392 IF MsgRecovered THEN _
  2553.          ActionFlag = ZTRUE : _
  2554.          GOTO 1900
  2555.       RETURN
  2556. '
  2557. * ------[ first line different ]------
  2558. ' *  4 - COMMAND FROM SYSOP Now BatchUpload File in Maple Version at line 20195
  2559. '
  2560. * DELETING old line(s)
  2561. 10530
  2562. * REPLACING old line(s) by new
  2563. 10553 CALL UpdtCalr ("Time limit exceeded",1)
  2564. * ------[ first line different ]------
  2565.    X = 38         'Pe 01/17/93
  2566.      Gosub 47000      'Pe 01/17/93
  2567.  CALL QuickTPut1 (ZFirstName$ + OutTxt$)
  2568.       GOTO 10562                                   'Pe 02/03/90
  2569. '
  2570. ' *  Q - COMMAND FROM GLOBAL FUNCTIONS
  2571. '
  2572. * REPLACING old line(s) by new
  2573. * ------[ first line different ]------
  2574. 10560 GOSUB 41000      'Pe 02/04/90
  2575.       IF ZExpertUser THEN ZLogoff$ = "L"
  2576. * INSERTING new line(s)
  2577. 10562 GOSUB 9100
  2578.       IF ZUserSecLevel < ZSecExemptFromEpilog THEN _
  2579.            ZFileName$ = ZEpilog$ : _
  2580.            GOSUB 11520
  2581.     Call MenuPlus (3)                        'Pe Menu174
  2582.        If ZLocalUser and ZSysop Then _
  2583.           Goto 10595                              'pe 12/01/91
  2584.       IF ZLocalUserMode OR NOT ZLocalUser THEN _
  2585.          CALL UpdtCalr ("Logged off",1)
  2586.       GOTO 10595
  2587. * REPLACING old line(s) by new
  2588. * ------[ first line different ]------
  2589. 10570 GOSUB 41000    'Pe 02/04/90
  2590.      ZLogoff$ = ""
  2591. IF ZMarkedFiles$ <> "" THEN _
  2592.    X = 39 : _         'Pe 01/17/93
  2593.      Gosub 47000 : _     'Pe 01/17/93
  2594. Call QuickTput1(ZCrLf$ + Chr$(7)+OutTxt$ + ZCrLF$)  'Pe marked mod
  2595. '
  2596. ZStopInterrupts = ZTrue                        'Pe 04/17/92
  2597. CALL BufFile(ZHelpPath$+"LOGOFF.MNU",X)        'MO 04/13/92
  2598.     ZStopInterrupts = ZFalse                   'Pe 04/17/92
  2599. IF ZTempMaxBank > 0 THEN
  2600.   X = 252         'Pe 01/17/93
  2601.   Gosub 47000     'Pe 01/17/93
  2602.    ZOutTxt$ = OutTxt$
  2603. ELSE 
  2604.   X = 253         'Pe 01/17/93
  2605.   Gosub 47000     'Pe 01/17/93
  2606.    ZOutTxt$ =  OutTxt$
  2607. END IF                                        ' DD062503
  2608.        GOSUB 12999                  'Pe 04/25/92
  2609.         CALL AllCaps (ZUserIn$)
  2610.         WasX = INSTR("ABCG",ZUserIn$)                       ' DD062503
  2611.         IF ZUserIn$ = "" THEN _
  2612.            GetOut = ZTrue : _
  2613.            GOTO 10562
  2614.     ON WasX GOTO 10571,10574,10572,10573                             ' DD062503
  2615.     GOTO 10573
  2616. * INSERTING new line(s)
  2617. 10571 RETURN
  2618. 10572 ZLogOff$ = "G"
  2619.       GetOut = ZTrue
  2620.       Gosub 5350          'Pe 12/30/92
  2621.       GOTO 1800
  2622. 10573 GetOut = ZTrue
  2623.       ZLogOff$ = "L"     'Pe 02/04/89
  2624.       GOTO 10560
  2625. 10574 GetOut = Ztrue                                                 ' DD062503
  2626.       ZLogOff$ = "L"                                                 ' DD062503
  2627.       IF ZTempMaxBank > 0 THEN _
  2628.        CALL BankTime 
  2629.       GOTO 10560                                                     ' DD062503
  2630. * REPLACING old line(s) by new
  2631. 10595 CALL GetTime
  2632.       GOSUB 13700
  2633. * ------[ first line different ]------
  2634.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _    'AUTOLOGOFF MOD
  2635.       ZAutoLogoffReq = ZTrue : _  'Pe 10/22/91
  2636.       GOSUB 46000  'Pe 02/03/90
  2637.       ZSubParm = 0
  2638.       CALL Carrier
  2639.       IF ZSubParm = -1 THEN _
  2640.          GOTO 10597
  2641.       IF ZConfName$ = OrigMsgName$ THEN _
  2642.          GetOut = ZTrue
  2643.       IF (ZSubBoard AND (NOT GetOut) AND (NOT ZSleepDisconnect)) THEN _
  2644.          GOSUB 5380 : _
  2645.          ZHomeConf$ = "M" : _
  2646.    X = 40 : _         'Pe 01/17/93
  2647.      Gosub 47000 : _     'Pe 01/17/93
  2648.          CALL QuickTPut1 (OutTxt$ + " " + ZConfName$) : _
  2649.          ZSubBoard = ZFalse : _
  2650.          GOTO 1205
  2651. * REPLACING old line(s) by new
  2652. * ------[ first line different ]------
  2653. 10698 IF ZFunctionKey = 22 THEN _
  2654.          GOTO 13545
  2655.       ZOutTxt$ = "Access denied!"
  2656.       GOSUB 12976
  2657.       CALL DelayTime (8 + ZBPS)
  2658.       GOTO 13545
  2659. '
  2660. ' *  M - COMMAND FROM UTILITY MENU (CHANGE MARGINS)
  2661. '
  2662. * REPLACING old line(s) by new
  2663. 10930 IF (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  2664. * ------[ first line different ]------
  2665.    X = 41 : _         'Pe 01/17/93
  2666.      Gosub 47000 : _     'Pe 01/17/93
  2667.          CALL QuickTPut1 (OutTxt$) : _
  2668.          RETURN
  2669. * REPLACING old line(s) by new
  2670. 10932 IF ZLocalUser AND NOT ZDebug THEN _
  2671. * ------[ first line different ]------
  2672.    X = 42 : _         'Pe 01/17/93
  2673.      Gosub 47000 : _     'Pe 01/17/93
  2674.          CALL QuickTPut1 (OutTxt$) : _
  2675.          RETURN
  2676.       CALL DosExit
  2677.       ZSubParm = -9
  2678.       CALL FindFKey
  2679.       GOTO 202
  2680. '
  2681. ' *  D - COMMAND FROM MAIN MENU (EXIT TO DOORS)
  2682. '
  2683. * REPLACING old line(s) by new
  2684. 10970 IF NOT ZDoorsAvail OR _
  2685.          (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  2686. * ------[ first line different ]------
  2687.    X = 43 : _         'Pe 01/17/93
  2688.      Gosub 47000 : _     'Pe 01/17/93
  2689.          CALL QuickTPut1 (OutTxt$) : _
  2690.                CALL DelayTime (8 + ZBPS) : _     'Pe 07/09/90
  2691.          RETURN
  2692.       IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
  2693.          CALL TimeLock : _
  2694.          IF NOT ZOK THEN _
  2695.             RETURN
  2696. * REPLACING old line(s) by new
  2697. 10974 WasA1$ = ZMenu$(5)
  2698. * ------[ first line different ]------
  2699.       ZStackC = ZTrue
  2700.       Gosub 41000              'JA010801
  2701.       CALL SubMenu ("Open which door, L)ist" + ZPressEnterExpert$, _
  2702.                     WasA1$,"",".BAT","",_
  2703.                     ZTrue,ZFalse,ZFalse,"",InMenu,ZFalse)
  2704.       IF ZWasQ = 0 THEN _
  2705.          RETURN
  2706.       IF ZSubParm = -1 THEN _
  2707.          RETURN 10595
  2708. * REPLACING old line(s) by new
  2709. 10986 ZWasZ$ = ZFileName$
  2710.       CALL DoorExit (NOT InMenu)
  2711. * ------[ first line different ]------
  2712.       CALL ReadProf(2)  'Pe 12/20/92
  2713.    X = 44         'Pe 01/17/93
  2714.      Gosub 47000      'Pe 01/17/93
  2715.       Call QuickTput1 (OutTxt$ + " " + ZFirstName$ + " ...") 'Pe 12/23/91
  2716.       Return     '1232      'Pe 02/04/93
  2717. '
  2718. ' *  5 - COMMAND FROM SYSOP MENU (USER FILE MAINTENANCE)
  2719. '
  2720. * REPLACING old line(s) by new
  2721. 11000 WasTU = ZUserFileIndex
  2722.       CALL DefaultU
  2723.       UserRecordHold$ = ZUserRecord$
  2724.       RegDateHold$ = ZRegDate$
  2725.       UserSecLevelSave = ZUserSecLevel
  2726. * ------[ first line different ]------
  2727. Call Usred (EditFromRead,TempHashValue$,UserRecordHold$,RegDateHold$,UserSecLevelSave,WasTU) 
  2728.       If EditFromRead = 3 then _    'Pe 02/05/93
  2729.         EditFromRead = 0 : _        'Pe 02/05/93
  2730.          Goto 4560                  'Pe 02/05/93
  2731.       Return
  2732.  
  2733. * DELETING old line(s)
  2734. 11001
  2735. 11003
  2736. 11005
  2737. 11010
  2738. 11015
  2739. 11107
  2740. 11110
  2741. 11115
  2742. 11125
  2743. 11127
  2744. 11130
  2745. 11160
  2746. * DELETING old line(s)
  2747. 11190
  2748. 11220
  2749. 11290
  2750. 11310
  2751. 11311
  2752. 11320
  2753. 11325
  2754. 11330
  2755. 11340
  2756. 11341
  2757. 11342
  2758. 11345
  2759. 11380
  2760. 11390
  2761. 11395
  2762. 11400
  2763. 11420
  2764. 11423
  2765. 11450
  2766. 11455
  2767. 11490
  2768. * REPLACING old line(s) by new
  2769. 11520 CALL AskUsers
  2770.       IF NOT ZOK THEN _
  2771.          RETURN
  2772.       IF ZAdjustedSecurity THEN _
  2773.          GOSUB 12989 : _
  2774.          LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  2775.          GOSUB 9440 : _
  2776.          GOSUB 12991 : _
  2777.          CALL SetPrompt : _
  2778.          CALL XferType (2,ZTrue) : _
  2779.          GOSUB 5135
  2780.       REDIM ZOutTxt$(ZMsgDim)
  2781.       IF ZSubParm = -1 THEN _
  2782.          RETURN 10595
  2783.       ZOK = ZTrue
  2784.       RETURN
  2785. * ------[ first line different ]------
  2786. * DELETING old line(s)
  2787. 12300
  2788. 12310
  2789. 12311
  2790. 12320
  2791. 12330
  2792. * REPLACING old line(s) by new
  2793. * ------[ first line different ]------
  2794. 12595    X = 45          'Pe 01/17/93
  2795.      Gosub 47000     'Pe 01/17/93
  2796.       CALL QuickTPut1 (OutTxt$)
  2797.       CALL UpdtCalr ("Name violation: "+ZActiveUserName$,1)
  2798.       GOTO 10621
  2799. '
  2800. ' *  COMMON SEARCH USER FILE ROUTINE
  2801. '
  2802. * REPLACING old line(s) by new
  2803. 12600 GOSUB 4910
  2804.       GOSUB 12988
  2805.       IF ZInConfMenu THEN _
  2806.          IF NOT ZPrivateDoor THEN _
  2807. * ------[ first line different ]------
  2808.    X = 46 : _         'Pe 01/17/93
  2809.      Gosub 47000 : _     'Pe 01/17/93
  2810.             CALL QuickTPut1 (OutTxt$)
  2811. * REPLACING old line(s) by new
  2812. 12605 CALL OpenUser (ZHighestUserRecord)
  2813.       GOSUB 9450
  2814.       CALL FindUser (TempHashValue$,TempIndivValue$,ZStartHash,ZLenHash,_
  2815.                      ZStartIndiv,ZLenIndiv,ZHighestUserRecord,Found,_
  2816.                      ZUserFileIndex,ZWasSL)
  2817.      IF Found THEN _
  2818.         RETURN
  2819.      IF CurUserCount < (ZHighestUserRecord-1)*.95 THEN _
  2820.         RETURN
  2821. * ------[ first line different ]------
  2822.   X = 254         'Pe 01/17/93
  2823.   Gosub 47000     'Pe 01/17/93
  2824.      ZOutTxt$ = OutTxt$ + ZConfName$
  2825.      CALL UpdtCalr (ZOutTxt$,2)
  2826.      IF ZActiveUserFile$ <> ZMainUserFile$ THEN _
  2827.         ZUserFileIndex = 0 : _
  2828.         RETURN
  2829.       IF ZRememberNewUsers AND NOT ZSurviveNoUserRoom THEN _
  2830.          GOSUB 1397
  2831.       ZUserFileIndex = 0
  2832.       IF ZSurviveNoUserRoom THEN _
  2833.          ZRememberNewUsers = ZFalse
  2834.       RETURN
  2835. '
  2836. ' *  AUGMENT USER COUNT, LOCK 4 REC BLOCK IN USER, UNLOCK FILES
  2837. '
  2838. * REPLACING old line(s) by new
  2839. * ------[ first line different ]------
  2840. 12800  X = 255         'Pe 01/17/93
  2841.       Gosub 47000     'Pe 01/17/93
  2842.      CALL NewPassword (OutTxt$,ZFalse)
  2843.       IF ZSubParm < 0 THEN _
  2844.          GOTO 202
  2845.       IF UserSecLevelSave < ZSysopSecLevel THEN _
  2846.          IF ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
  2847.             GOTO 12800
  2848.       LSET ZPswd$ = ZWasZ$
  2849.       RETURN
  2850. '
  2851. ' *  GET HASH VALUE FOR CURRENT USER TO LOOK UP IN THE USER'S FILE
  2852. '
  2853. * REPLACING old line(s) by new
  2854. 12932 CALL PopCmdStack
  2855.       GOTO 12997
  2856. '
  2857. * ------[ first line different ]------
  2858. ' *  GET CITY AND STATE FROM NEWUSER
  2859. '
  2860. * REPLACING old line(s) by new
  2861. 12960 ZOutTxt$ = WasA1$ + _
  2862.                  ZUserLocation$
  2863.       IF NOT ZNewUser THEN _
  2864.          ZOutTxt$ = ZOutTxt$ + ZPressEnter$
  2865.       ZParseOff = ZTrue
  2866.       GOSUB 12932
  2867.       IF ZWasQ = 0 OR ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
  2868.          IF ZNewUser THEN _
  2869.             GOTO 12960 _
  2870.          ELSE RETURN
  2871.       CALL AllCaps (ZUserIn$)
  2872.       CALL QuickTPut1 ("Set to "+ZUserIn$)
  2873.       LSET ZCityState$ = ZUserIn$
  2874.       ZWasCI$ = ZUserIn$
  2875.       RETURN
  2876. '
  2877. * ------[ first line different ]------
  2878. ' * STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL OUTPUT ROUTINE
  2879. '
  2880. * DELETING old line(s)
  2881. 12962
  2882. 12963
  2883. 12965
  2884. 12966
  2885. 12967
  2886. 12968
  2887. 12969
  2888. 12970
  2889. 12971
  2890. 12972
  2891. * REPLACING old line(s) by new
  2892. * ------[ first line different ]------
  2893. 13545 IF ZLocalUser and ZSysop Then _
  2894.        goto 13549                          'Pe 12/01/91
  2895.       CALL UpdateC
  2896. * REPLACING old line(s) by new
  2897. 13555 ZActiveMessageFile$ = ZOrigMsgFile$
  2898.       GOSUB 12986
  2899.       GOSUB 5344
  2900.       GET 1,ZNodeRecIndex
  2901.       MID$(ZMsgRec$,57,1) = "I"
  2902.       MID$(ZMsgRec$,40,2) = " 0"
  2903.       MID$(ZMsgRec$,72,2) = " 0"
  2904.       IF MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$ THEN _
  2905.          MID$(ZMsgRec$,101,2) = " 0"
  2906.       PUT 1,ZNodeRecIndex
  2907.       GOSUB 12985
  2908.       CLOSE 1,2,4,5
  2909.       IF NOT ZFossil THEN _
  2910.          CLOSE 3
  2911.       IF ZRecycleToDos THEN _
  2912. * ------[ first line different ]------
  2913.       GOTO 204                    'Pe 06/26/92
  2914.       REDIM ZWorkAra$(60)                                          ' RM112201
  2915.       REDIM ZOutTxt$(99)                                        ' RM112201
  2916.       REDIM ZUserIn$(99)                                        ' RM112201
  2917.       RUN                                                            ' RM092301
  2918. * REPLACING old line(s) by new
  2919. 13600 CLS
  2920.       LOCATE ,,0
  2921.       CALL PScrn (ZWasDF$ + " file missing/invalid.  Run CONFIG")
  2922.       CALL DelayTime (3)
  2923. * ------[ first line different ]------
  2924.       GOTO 204                       'Pe 06/26/92
  2925. * REPLACING old line(s) by new
  2926. 20140 CALL GetArc
  2927.       IF ZSubParm = -1 THEN _
  2928. * ------[ first line different ]------
  2929.          GOTO 10595                  'PE 10/22/91
  2930.       IF ZDenyAccess THEN _
  2931.          GOTO 1386
  2932.       RETURN
  2933. '
  2934. ' * GO TO THE FILE SYSTEM TO LIST THE SYSOP'S COMMENTS
  2935. '
  2936. * REPLACING old line(s) by new
  2937. 20190 ZFileSysParm = 9
  2938. * ------[ first line different ]------
  2939.       GOTO 20200
  2940. '
  2941. ' * Go To the File System to Handle BATCH UPLOADS
  2942. '
  2943. * INSERTING new line(s)
  2944. 20195 ZFileSysParm = 10
  2945. '
  2946. * REPLACING old line(s) by new
  2947. 20200 CALL FileSystem
  2948. * ------[ first line different ]------
  2949.  IF ZDnldCompleted AND ZAutoEnd = 1 AND ZAutoLogoffReq THEN _ 'Pe 12/20/92
  2950.                           GOTO 20235                   'AUTO Loggoff Mod
  2951.            ON ZFileSysParm GOTO 20205, _
  2952.                                 20210, _
  2953.                                 20215, _
  2954.                                 20220, _
  2955.                                 20225, _
  2956.                                 20230, _
  2957.                                 20235
  2958. * REPLACING old line(s) by new
  2959. 23000 GET 1,1
  2960.       HighMsgNumber = VAL(LEFT$(ZMsgRec$,8))
  2961.       AutoAddSec   = CVI(MID$(ZMsgRec$,9,2))
  2962.       CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  2963.       ZMsgSecCats$ = LEFT$("U",-(MID$(ZMsgRec$,21,1) <> "/")) + _
  2964.                      LEFT$("R",-(MID$(ZMsgRec$,22,1) <> "/")) + _
  2965. * ------[ first line different ]------
  2966.                      LEFT$("P",-(MID$(ZMsgRec$,23,1) <> "/")) + "E"
  2967.       IF ZUserSecLevel >= ZSecKillAny THEN _
  2968.           ZMsgSecCats$ = "URPE"
  2969.       IF ZMsgSecCats$ = "E" THEN _
  2970.          ZMsgSecCats$ = "UE"
  2971.       CurUserCount = VAL(MID$(ZMsgRec$,57,5))
  2972.       FirstMsgRecord = VAL(MID$(ZMsgRec$,68,7))
  2973.       ZNextMsgRec = VAL(MID$(ZMsgRec$,75,7))
  2974.       HighestMsgRecord = VAL(MID$(ZMsgRec$,82,7))
  2975.       IF ZActiveMessageFile$ = ZOrigMsgFile$ THEN _
  2976.          ZMaxNodes = VAL(MID$(ZMsgRec$,127))
  2977.       RETURN
  2978. * REPLACING old line(s) by new
  2979. * ------[ first line different ]------
  2980. 30000 RETURN
  2981. '
  2982. ' * CALCULATE TIME REMAINING FOR USER
  2983. '
  2984. * DELETING old line(s)
  2985. 30100
  2986. 30200
  2987. * REPLACING old line(s) by new
  2988. * ------[ first line different ]------
  2989. 41070  X = 256         'Pe 01/17/93
  2990.         Gosub 47000     'Pe 01/17/93
  2991.        ZOutTxt$ = OutTxt$ + _
  2992.            STR$(ZUserSecLevel) + _
  2993.            MID$(" (SYSOP)",1,-8 * (ZUserSecLevel >= ZSysopSecLevel))
  2994.       GOSUB 12975
  2995.       RETURN
  2996. '
  2997. ' * NULLS SET FOR NEW USERS
  2998. '
  2999. * REPLACING old line(s) by new
  3000. 42700 CALL SkipLine (1)
  3001. * ------[ first line different ]------
  3002.       'CALL QuickTPut1 ("TurboKey: act on 1 char command without waiting for [ENTER]")
  3003.       'ZOutTxt$ = "Want TurboKeys (Y,[N])"
  3004.       'GOSUB 12999
  3005.       ZTurboKeyUser = NOT ZYes
  3006.       CALL Toggle (8)        'Pe 05/04/92
  3007.       RETURN
  3008. '
  3009. ' *  F - COMMAND FROM UTILITY MENU (FILE Transfer DEFALUT MODE)
  3010. ' *  FILE Transfer DEFAULT SET FOR NEW USERS
  3011. '
  3012. * REPLACING old line(s) by new
  3013. * ------[ first line different ]------
  3014. 42851  X = 257         'Pe 01/17/93
  3015.        Gosub 47000     'Pe 01/17/93
  3016.        ZOutTxt$ = OutTxt$ + _
  3017.            MID$(", I)ntermediate host",1,-20 * (ZHostEchoOn$ <> "")) + _
  3018.            ZPressEnterExpert$
  3019.       GOSUB 12930
  3020.       IF ZWasQ = 0 THEN _
  3021.          RETURN
  3022. * REPLACING old line(s) by new
  3023. * ------[ first line different ]------
  3024. 43000 ZPrevPUI$ = ""    'ANSIEd
  3025.       GOSUB 43005
  3026.       GOTO 43022
  3027. * REPLACING old line(s) by new
  3028. * ------[ first line different ]------
  3029. 43020  X = 258         'Pe 01/17/93
  3030.   Gosub 47000     'Pe 01/17/93
  3031.         ZOutTxt$ = OutTxt$ + _
  3032.            MID$("None AsciiColor",ZWasGR * 5 + 1,5)
  3033.       GOSUB 12979
  3034.       RETURN
  3035. * REPLACING old line(s) by new
  3036. * ------[ first line different ]------
  3037. 43022 ZPrevPUI$ = ""                   'ANSIEd
  3038.       IF ZEmphasizeOnDef$ = "" THEN _
  3039.          RETURN
  3040.          X = 259         'Pe 01/17/93
  3041.          Gosub 47000     'Pe 01/17/93
  3042.              ZOutTxt$ = OutTxt$
  3043.       IF ZWasGR = 2 THEN _                'SM091912
  3044.          ZOutTxt$ = ZOutTxt$ + "[Y],N)" _        'SM091912
  3045.       ELSE _                        'SM091912
  3046.          ZOutTxt$ = ZOutTxt$ + "Y,[N])"            'SM091912
  3047.       GOSUB 12999
  3048.       IF ZWasGR <> 2 THEN _                'SM091912
  3049.          ZHiLiteOff = ZYes _                'SM091912
  3050.       ELSE _                        'SM091912
  3051.          ZHiLiteOff = NOT ZNo                'SM091912
  3052.       CALL Toggle(5)
  3053.       RETURN
  3054. * REPLACING old line(s) by new
  3055. 45010 ZHidden = ZTrue
  3056.       GOSUB 12995
  3057.       ZHidden = ZFalse
  3058.       RETURN
  3059. * ------[ first line different ]------
  3060. '                                                                    ' RM122201
  3061. ' * REDIM ARRAYS FOR INTERNAL RECYCLE DUE TO ANSI EDITOR             ' RM122201
  3062. '                                                                    ' RM122201
  3063. * INSERTING new line(s)
  3064. 45020 WasJ = 60                                                      ' RM112201
  3065.       ZMsgDim = 99                                                   ' RM112201
  3066.       REDIM ZWorkAra$(WasJ)                                          ' RM112201
  3067.       REDIM ZOutTxt$(ZMsgDim)                                        ' RM112201
  3068.       REDIM ZUserIn$(ZMsgDim)                                        ' RM112201
  3069.       RETURN                                                         ' RM112201
  3070. '
  3071. '  * Maple AutoLogoff Routines ***
  3072. '
  3073. 46000 ZSubParm = 1
  3074.       If ZAutoLogoffReq = ZFalse Then _
  3075.        ZAutoEnd = 3 : _
  3076.         Return 1205
  3077.   X = 260         'Pe 01/17/93
  3078.   Gosub 47000     'Pe 01/17/93
  3079. ZOutTxt$ = OutTxt$
  3080.           ZTurboKey = 2
  3081.       Call TGet
  3082.        IF ZUserIn$ = "G" or ZUserIn$ = "g" THEN _
  3083.           Goto 46050
  3084.            IF ZWasQ = 0  THEN _
  3085.              X = 261 : _         'Pe 01/17/93
  3086.              Gosub 47000 : _     'Pe 01/17/93
  3087.             CALL QuickTPut1(OutTxt$) : _
  3088.             ZAutoLogoffReq = ZFalse : _
  3089.            ZAutoEnd = 3 : _
  3090.         RETURN 1205
  3091. 46050 GetOut = ZTrue
  3092.       RETURN 10597
  3093. 47000 Call GetRBBSString(X,RBBSString$)     'Pe 02/02/93
  3094.       OutTxt$ = RBBSString$                 'Pe 02/02/93 
  3095.       RETURN
  3096.