home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-11 | 174.8 KB | 3,387 lines |
- * ------------[ BLED merge (c) Ken Goosens ]-------------
- * Merge this against RBBSSUB5.BAS to produce RBBSSUB5.NEW
- * RBBSSUB5.BAS: Date 6-20-92 Size 116575 bytes
- * ------------[ Created 08-11-1993 19:36:46 ]------------
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- '' $segment
- ' $linesize:132
- ' $title: 'RBBSSUB5.BAS 17.4, Copyright 1986 - 92 by D. Thomas Mack'
- ' Copyright 1991 by D. Thomas Mack, all rights reserved.
- ' Name ...............: RBBSSUB5.BAS
- ' First Released .....: June 21, 1992
- ' Subsequent Releases.:
- ' Copyright ..........: 1986 - 1992
- ' Purpose.............: The Remote Bulletin Board System for the IBM PC,
- ' RBBS-PC.BAS utilizes a lot of common subroutines. Those that do not
- ' require error trapping are incorporated within RBBSSUB 2-5 as
- ' separately callable subroutines in order to free up as much
- ' code as possible within the 64K code segment used by RBBS-PC.BAS.
- ' Parameters..........: Most parameters are passed via a COMMON statement.
- '
- ' Subroutine Line Function of Subroutine
- ' Name Number
- ' AddLink 63620 Adds a conference link
- ' AraAllCaps 63720 Capitalize an elment of an array
- ' AskItems 63610 Get an list of items
- ' BinSearch 63520 Binary searches sorted file for a key value
- ' BreakFileName 63300 Break file name into component parts
- ' BufAsUnit 63500 Buffer out a string with CR's
- ' ChangeInit 63590 Get an integer value ' KG01802
- ' ChkAddedTime 63056 Check whether ok to extend time remaining ' SK01601
- ' ChkIfMsgHeader 63550 Checks whether record is a msg header
- ' DeLink 63620 Removes conference from linked ones
- ' DoorReturn 63100 Process door requests
- ' ExcludeCount 63715 Counts # of words in a string
- ' FdMacExe 63462 Executes a found macro
- ' FileSystem 20117 File System for RBBS-PC
- ' FindIt 63490 Check whether file exists and if so open as #2
- ' FormRead 63420 Read from file into a form
- ' LockAppend 63400 Prepare for a file append
- ' MacroExe 63460 Execute internal macro rather than user
- ' MarkItems 63600 Convert list of items into a "mark"
- ' MsgNameMatch 63540 Match name to one in msg header
- ' NextConf 63615 Sets up join to next conference link
- ' NoPath 63480 Detects whether string has a path in it
- ' RestoreCom 63310 Restore comm port after external program
- ' ReadMacro 63330 Read and process macro
- ' ReadParms 63490 Read certain number of parameters from file 2
- ' ReportEcho 63635 Reports echo preference of caller
- ' SayWelcome 63640 Welcomes callers on logon
- ' SetPrivileges 63650 Sets user privileges based on PASSWRDS
- ' SetPrompt 63470 Set prompts based on the user's security
- ' SetSessionTime 63645 Sets the session time
- ' SetSysOp 63625 Determines whether remote or global SysOp
- ' SetUserFlag 63560 Sets specified user flag
- ' SetUserPref 63630 Sets user preferences based on user record
- ' ShellExit 63320 Exit RBBS via shell
- ' SrchPasswrds 63652 Searches the PASSWRDS file
- ' TakeOffHook 63530 Take modem off hook
- ' TestANSI 63700 Tests caller for ANSI compatibility
- ' TStats 69600 Display transfer stats from XFER-? file ' MplXfer
- ' UnLockAppend 63410 Clean up after file append
- ' UnMarkItems 63610 Convert marked items into an input list
- ' VerifyAns 63510 Verify that string passes edits
- ' WildCard 63200 Match string to a pattern
- '
- ' $INCLUDE: 'RBBS-VAR.BAS'
- '
- * REPLACING old line(s) by new
- 20117 ' $SUBTITLE: 'FileSystem -- subroutine for RBBS-PC's file system'
- ' $PAGE
- '
- ' NAME -- FileSystem
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZFileSysParm = 1 LIST THE SYSOP'S COMMENTS FILE
- ' 2 L)IST DIRECTORY COMMAND
- ' 3 D)OWNLOAD COMMAND
- ' 4 RETURN FROM EXTERNAL PROTOCOLS
- ' 5 U)PLOAD COMMAND
- ' 6 S)CAN DIRECTORY COMMAND
- ' 7 P)ERSONAL FILES COMMAND
- ' 8 N)EW FILES COMMAND
- ' 9 RETURN FROM EXTENDED DESCRIPTION
- * ------[ first line different ]------
- ' 10 Batch Upload files ' Mpl090202
- '
- ' OUTPUTS -- ZFileSysParm = 1 COMMAND PROCESSED SUCCESSFULLY
- ' 2 RECYCLE TO TOP OF RBBS-PC (202)
- ' 3 PROCESS NEXT COMMAND (1200)
- ' 4 DENY USER ACCESS (1380)
- ' 5 HANDLE EXTENDED DESCRIP. (2008)
- ' 6 USER'S TIME EXCEEDED (10553)
- ' 7 Carrier DROPPED (10595)
- '
- ' PURPOSE -- To handle the RBBS-PC file system commands
- '
- SUB FileSystem STATIC
- ZFF = ZFileSysParm
- ZFileSysParm = 1
- CALL SaveUserActivity(CHR$(70), ZNodeRecIndex, ZFalse) ' DD021301/RCHAT
- ZActiveFMSDir$ = ""
- ON ZFF GOSUB 20119, _ ' HANDLER TO LIST COMMENTS TO SYSOP
- 20150, _ ' L)IST DIRECTORY COMMAND HANDLER
- 20180, _ ' D)OWNLOAD COMMAND HANDLER
- 20263, _ ' RETURN FROM EXTERNAL Protocol'S
- 20400, _ ' U)PLOAD COMMAND HANDLER
- 21800, _ ' S)CAN DIRECTORY COMMAND HANDLER
- 21850, _ ' P)ERSONAL FILES COMMAND HANDLER
- 21860, _ ' N)EW FILES COMMAND HANDLER
- 20705, _ ' RETURN FROM EXTENDED DESCRIPTIONS ' Mpl090202
- 20410 ' Batch Upload files ' DD090202
- GOTO 21920
- * REPLACING old line(s) by new
- 20126 CALL ReadDir (2,1)
- IF ZErrCode <> 0 THEN _
- ZWasEL = 20126 : _
- GOTO 21900
- * ------[ first line different ]------
- IF LEFT$(ZOutTxt$,1) = SPACE$(1) THEN _ ' DD021301
- IF LastOK AND NOT ZExtendedOff THEN _
- GOTO 20140 _
- ELSE GOTO 20124
- IF WasCK = 0 THEN _
- GOTO 20140
- LastOK = ZFalse
- * REPLACING old line(s) by new
- 20128 IF ZJumpSearching THEN _
- GOTO 20129
- IF WasCK < 2 THEN _
- GOTO 20130
- IF WildSearch THEN _
- * ------[ first line different ]------
- ZWasA = INSTR(ZOutTxt$,SPACE$(1)) : _ ' DD021301
- IF ZWasA = 0 THEN _
- GOTO 20124 _
- ELSE ZWasZ$ = LEFT$(ZOutTxt$,ZWasA - 1) : _
- CALL WildFile (WasRS$,ZWasZ$,WasXXX) : _
- WasXXX = NOT WasXXX : _
- GOTO 20136
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20130 ZWasA = INSTR(9,MID$(ZOutTxt$,1,32),CHR$(47)) ' DD021301
- IF ZWasA = 0 THEN _
- ZWasA = INSTR(9,MID$(ZOutTxt$,1,32),CHR$(45)) ' DD021301
- * REPLACING old line(s) by new
- 20132 IF ZWasA < 3 THEN _
- GOTO 20124
- IF INSTR("0123456789",MID$(ZOutTxt$,ZWasA - 1,1)) = 0 THEN _
- GOTO 20124
- ZWasA = ZWasA - 2
- WasWK$ = RIGHT$(MID$(ZOutTxt$,ZWasA,8),2) + _
- LEFT$(MID$(ZOutTxt$,ZWasA,8),2) + _
- MID$(MID$(ZOutTxt$,ZWasA,8),4,2)
- * ------[ first line different ]------
- IF MID$(WasWK$,3,1) = SPACE$(1) THEN _ ' DD021301
- MID$(WasWK$,3,1) = CHR$(48) ' DD021301
- IF MID$(WasWK$,5,1) = SPACE$(1) THEN _ ' DD021301
- MID$(WasWK$,5,1) = CHR$(48) ' DD021301
- * REPLACING old line(s) by new
- 20140 LastOK = ZTrue
- GOSUB 21650
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZLinesPrinted > MaxPrint THEN _
- ZTurboKey = -ZTurboKeyUser : _
- CALL AskMore (",M)ark",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
- IF ZNo THEN _
- ZErrCode = 0 : _
- RETURN _
- ELSE Temp$ = ZUserIn$(1) : _
- * ------[ first line different ]------
- CALL AskItems (CHR$(77),Temp$,ZTrue,"file",ZMarkedFiles$) : _ ' DD021301
- ZUserIn$(1) = ""
- IF ZJumpSearching THEN _
- IF LEFT$(ZOutTxt$,1) <> SPACE$(1) THEN _ ' DD021301
- PrevSearch$ = WasRS$ : _
- PrevCK = WasCK : _
- WasCK = 2 : _
- WasRS$ = ZJumpTo$
- IF NOT ZRet THEN _
- GOTO 20124
- * REPLACING old line(s) by new
- 20150 ZListDir = ZTrue
- ListNew = ZFalse
- SearchDate$ = ""
- SearchString$ = ""
- WasRS$ = ""
- ShowDirOfDir = (ZLastIndex <= ZAnsIndex) AND NOT ZExpertUser
- WasCK = 0
- ZSearchingAll = ZFalse
- * ------[ first line different ]------
- ' ZExtendedOff = ZFalse ' DD062901
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20155 IF ZDnldCompleted AND ZAutoEnd = 1 THEN _ 'Pe 02/05/90
- ZFileSysParm = 7 : _ ' Mpl090202
- RETURN ' Mpl090202
- IF ListNew OR ZAnsIndex > 255 THEN _
- RETURN
- CALL GetDirs (NOT ZExpertUser) ' DD061401
- IF ZWasQ = 0 THEN _
- RETURN
- ShowDirOfDir = ZFalse
- CALL ConvertDir (ZAnsIndex)
- WasQX = ZLastIndex
- * REPLACING old line(s) by new
- 20159 IF ZAnsIndex < ZLastIndex THEN _
- GOTO 20155
- ZSearchingAll = ZFalse
- CALL CmdStackPushPop (1)
- ZLastIndex = 0
- IF ZNo OR InFMS OR (ZFileNameHold$ = ZDirPrefix$) THEN _
- GOTO 20155
- * ------[ first line different ]------
- GOSUB 20177 ' DD030301/WILD
- CALL QuickTPut (ZEmphasizeOff$,1) ' DD052301
- ZTurboKey = - ZTurboKeyUser
- ZOutTxt$ = ZFG2$ + CHR$(45) + ZFG3$ + CHR$(61) + ZFGE$ + "End list" + _ ' DD021301
- ZFG3$ + CHR$(61) + ZFG2$ + CHR$(45) + ZEmphasizeOff$ + _ ' DD021301
- ZCrLf$ + "L)ist again, T)ype, V)iew, M)ark, D)nld, [Q]uit" ' DD060101
- GOSUB 21667
- CALL AraAllCaps (ZUserIn$(),1)
- IF ZUserIn$(1) = CHR$(84) AND _ 'T ' DD021301
- ZUserSecLevel >= ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _ ' Mpl090202
- ZAnsIndex = 1 : _ ' Mpl090202
- CALL TypeFile : _ ' Mpl090202
- RETURN ' Mpl090202
- IF ZUserIn$(1) = CHR$(86) AND _ 'V ' DD021301
- ZUserSecLevel >= ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _ ' Mpl090202
- ZAnsIndex = 1 : _ ' Mpl090202
- CALL GetArc : _ ' Mpl090202
- CALL Line25 : _ ' DD090601
- RETURN ' Mpl090202
- IF ZUserIn$(1) = CHR$(76) THEN _ 'L ' DD021301
- ZUserIn$(ZAnsIndex) = WasA1$ : _
- GOTO 20161
- Temp$ = ZUserIn$(1)
- Temp = (ZUserIn$(1) = CHR$(68)) 'D ' DD021301
- CALL AskItems ("MD",Temp$,ZTrue,"file",ZMarkedFiles$)
- IF ZWasQ = 0 OR ZUserSecLevel < ZOptSec(19 - 20 * (ZMenuIndex = 6)) THEN _
- GOTO 20160
- IF Temp THEN _
- GOSUB 20202 _
- ELSE IF LEN(ZUserIn$(1)) > 1 THEN _
- ZAnsIndex = 1 : _
- GOSUB 20202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20161 IF INSTR(ZUserIn$(ZAnsIndex),CHR$(46)) THEN _ ' DD021301
- GOTO 20172
- ZViolation$ = "List Dir. "
- ZWasZ$ = ZUserIn$(ZAnsIndex)
- ZWasA = INSTR("E+E-E",ZWasZ$)
- IF ZWasA > 0 THEN _
- IF ZWasA = 5 THEN _
- ZExtendedOff = NOT ZExtendedOff : _
- GOTO 20155 _
- ELSE ZExtendedOff = (ZWasA > 2) : _
- GOTO 20155
- CALL AllCaps(ZWasZ$)
- ZFileNameHold$ = ZWasZ$
- WasA1$ = ZWasZ$
- IF ZWasZ$ = ZDirPrefix$ THEN _
- GOTO 20164
- InFMS = ZFalse
- * REPLACING old line(s) by new
- 20162 CALL CmdStackPushPop (1) ' save dir list list processing
- CALL FMS (ZWasZ$,SearchString$,SearchDate$,InFMS, _
- ZCategoryName$(),ZCategoryCode$(),ZCategoryDesc$(),_
- DnldFlag,CatFound,ZAnsIndex)
- WHILE DnldFlag > 0 AND ZSubParm > -1
- GOSUB 20202
- IF ZFileSysParm > 1 THEN _
- RETURN
- * ------[ first line different ]------
- IF ZDnldCompleted and ZAutoEnd = 1 THEN _ 'Pe 02/05/90
- RETURN ' AUTOLOGOFF MOD
- WasX$ = ZCategoryCode$(CatFound)
- CALL DispUpDir (WasX$,SearchString$,SearchDate$,DnldFlag,ZAnsIndex)
- CALL CheckTimeRemain (MinsRemaining)
- IF ZSubParm = -1 THEN _
- ZFileSysParm = 6 : _
- RETURN
- CALL Carrier
- WEND
- IF ZSubParm = -1 THEN _
- ZFileSysParm = 7 : _
- RETURN
- IF ZAnsIndex > 255 OR ZRet THEN _
- ZLastIndex = 0 : _
- RETURN
- CALL CmdStackPushPop (2) ' restore dir list list processing
- ZActiveFMSDir$ = ""
- IF InFMS THEN _
- GOTO 20159
- IF ZUserSecLevel < ZMinSecToView THEN _
- IF ZFileNameHold$ = ZUpldDirCheck$ THEN _
- ZOutTxt$ = "Upload Directory Available " + _ ' DD062304
- "to SYSOP Only" : _ 'DGS-TXT
- GOSUB 21640 : _ 'DGS-TXT
- ZNo = ZTrue : _ 'DGS-TXT
- GOTO 20155 'DGS-TXT
- ZFileNameHold$ = ZUserIn$(ZAnsIndex)
- IF ZLimitSearchToFMS THEN _
- GOTO 20166
- IF NOT ZSearchingAll THEN _
- IF ZFileNameHold$ = "ALL" OR ZFileNameHold$ = CHR$(65) THEN _ ' DD021301
- ZSearchingAll = ZTrue : _
- GOSUB 21890 : _
- GOTO 20157
- CALL BadFile (ZFileNameHold$,BadFileNameIndex)
- ON BadFileNameIndex GOTO 20163,20172,20176
- * REPLACING old line(s) by new
- 20164 IF ZFileName$ = ZUpldDirCheck$ AND _
- ZUserSecLevel >= ZMinSecToView THEN _
- ZFileName$ = ZUpldPath$ _
- ELSE ZFileName$ = ZCurDirPath$
- ZFileName$ = ZFileName$ + _
- ZFileNameHold$ + _
- * ------[ first line different ]------
- CHR$(46) + _ ' DD021301
- ZDirExtension$
- CALL Graphic (ZFileName$)
- * REPLACING old line(s) by new
- 20166 ZFileName$ = ZCurDirPath$ + _
- ZFileNameHold$ + ".MNU"
- * ------[ first line different ]------
- CALL FindIt (ZFileName$) ' Mpl090202
- IF ZOK THEN _
- CALL BufFile (ZFileName$,ZAnsIndex) : _
- GOTO 20155
- IF ZAltdirExtension$ = "" THEN _
- GOTO 20172
- ZFileName$ = ZCurDirPath$ + _
- ZFileNameHold$ + _
- CHR$(46) + _ ' DD021301
- ZAltdirExtension$
- CALL Graphic (ZFileName$)
- IF NOT ZOK THEN _
- GOTO 20172
- * INSERTING new line(s)
- 20177 ZListOnly = ZFalse ' DD030301/WILD
- ZExtraDnldTime = 0
- ZFreeDnld = ZFalse
- ZPersonalDnld = ZFalse
- RETURN
- ' ' DD030301/WILD
- ' * WildCard Download Support ' DD030301/WILD
- ' ' DD030301/WILD
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20178 ZOutTxt$ = "Mark Files to Download" + ZYesPrompt$ ' DD030301/WILD
- ZTurboKey = - ZTurboKeyUser ' DD030301/WILD
- GOSUB 21668 ' DD030301/WILD
- IF ZNO THEN _ ' DD030301/WILD
- CALL KillWork (ZNodeWorkDrvPath$+"WILDDOWN.DEF") : _ ' PE031302/WILD
- GOTO 20180 ' DD030301/WILD
- CALL OpenWork (2,ZNodeWorkDrvPath$+"WILDDOWN.DEF") ' DD030301/WILD
- DO WHILE NOT EOF(2) ' DD030301/WILD
- CALL ReadDir (2,1) ' DD030301/WILD
- CALL Trim (ZOutTxt$) ' DD030301/WILD
- ZFileName$ = ZOutTxt$ ' DD030301/WILD
- IF ZFileName$ = "" THEN EXIT DO ' DD030301/WILD
- ZOutTxt$ = "Mark " + ZFileName$ + _ ' DD030301/WILD
- SPACE$(13-LEN(ZFileName$)) + _ ' DD030301/WILD
- "(Y)es,[N]o,A)bort)" ' DD030301/WILD
- ZTurboKey = - ZTurboKeyUser ' DD030301/WILD
- GOSUB 21668 ' DD030301/WILD
- IF LEFT$(UCASE$(ZUserIn$),1) = CHR$(65) THEN _ ' DD030301/WILD
- GOTO 20179 ' DD030301/WILD
- IF ZYes THEN ' DD032301
- IF ZMarkedFiles$ = "" THEN ' DD032301
- ZMarkedFiles$ = ZFileName$ + CHR$(13) ' DD032301
- ELSE ' DD032301
- IF INSTR(ZMarkedFiles$,ZFileName$) = 0 THEN ' DD032301
- ZMarkedFiles$ = ZMarkedFiles$ + ZFileName$ + CHR$(13) ' DD030301/WILD
- END IF ' DD032301
- END IF ' DD032301
- END IF ' DD032301
- LOOP ' DD030301/WILD
- CLOSE 2 ' DD030301/WILD
- CALL QuickTPut1 (ZFG2$ + CHR$(45) + ZFG3$ + CHR$(61) + _ ' DD032601
- ZFGE$ + "End list" + ZFG3$ + CHR$(61) + _ ' DD032601
- ZFG2$ + CHR$(45) + ZEmphasizeOff$) ' DD032601
- * INSERTING new line(s)
- 20179 IF Found THEN 'Pe031793
- ZOutTxt$ = "Relist Files To Mark?" + ZNoPrompt$ ' DD032601
- ZTurboKey = - ZTurboKeyUser ' lk 030993
- GOSUB 21668 ' lk 030993
- IF ZYES THEN _ ' lk 030993
- GOTO 20178 ' lk 030993
- END IF 'Pe031893
- CALL KillWork (ZNodeWorkDrvPath$+"WILDDOWN.DEF") ' DD030301/WILD
- ZOutTxt$ = "" ' DD030301/WILD
- ZOK = ZFalse ' DD030301/WILD
- ZAutoLogoffReq = ZFalse ' DD030301/WILD
- '
- ' * D - COMMAND FROM FILES MENU (SEARCH FOR FILE TO DOWNLOAD)
- '
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20180 Temp$ = CHR$(68) 'D ' DD021301
- NoTimeDnFlag = -1 ' DS090201
- CALL AskItems (CHR$(68),Temp$,ZFalse,"file",ZMarkedFiles$) ' DD021301
- GOSUB 20177 ' DD030301/WILD
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZWasQ = 0 THEN _
- RETURN
- * REPLACING old line(s) by new
- 20202 IF (ZTimeLock AND 2) AND (NOT TimeLockExempt) AND NOT ZHasPrivDoor THEN _
- CALL TimeLock : _
- IF NOT ZOK THEN _
- RETURN
- LastDnld = ZLastIndex
- FirstDnld = ZAnsIndex
- ZCmdTransfer$ = ""
- * ------[ first line different ]------
- ' IF ZAutoDownYes THEN _ ' Mpl090202
- ' ZCmdTransfer$ = "X" ' Mpl090202
- ' ZAutoDownInProgress = ZAutoDownYes ' Mpl090202
- ZAnsIndex = ZLastIndex
- GOSUB 20470
- LastDnld = LastDnld + (WasX > 0)
- BatchBytes# = 0
- BatchBlocks# = 0
- ZDownFiles = 0
- CALL KillWork (ZNodeWorkFile$)
- ZErrCode = 0
- ZAnsIndex = FirstDnld
- * REPLACING old line(s) by new
- 20203 IF ZAnsIndex > LastDnld THEN _
- GOTO 20204
- GOSUB 20470
- GOSUB 20205
- IF ReStart THEN _
- ReStart = ZFalse : _
- GOTO 20202
- ZCmdTransfer$ = ZWasFT$
- CALL Line25
- * ------[ first line different ]------
- IF ZFileSysParm > 1 OR ZInternalProt$ = CHR$(78) THEN _ 'N ' DD021301
- GOTO 20204
- ZAnsIndex = ZAnsIndex + 1
- GOTO 20203
- * REPLACING old line(s) by new
- 20205 MarkingTime = (ZAnsIndex = FirstDnld OR NOT ZConcatFIles)
- ZFileName$ = ZUserIn$(ZAnsIndex)
- * ------[ first line different ]------
- CALL AllCaps(ZFileName$) 'ANSIEd
- CALL Remove (ZFileName$,", ")
- ZViolation$ = "Download "
- IF ZListOnly THEN _
- CALL BreakFileName (ZFileName$,DR$,ZWasY$,WasX$,ZTrue) : _
- ZFileNameHold$ = ZWasY$ + _
- WasX$ : _
- GOTO 20235
- ZFileNameHold$ = ZFileName$
- ' ' DD030301/WILD
- ' * WildCard Download Support ' DD030301/WILD
- ' ' DD030301/WILD
- * INSERTING new line(s)
- 20208 IF INSTR(ZFileName$,"*") <> 0 THEN ' DD030301/WILD
- IF ZWildDownOK AND NOT ZPersonalDnld THEN ' DD031803/WILD
- ZLastIndex = 1 ' DD032003/WILD
- LastDnld = 1 ' DD032003/WILD
- CALL WildDown(ZFileName$, ZMarkedFiles$, ZFastFileList$, Found) ' DD030301/WILD
- IF Found THEN ' DD030301/WILD
- GOTO 20178 ' DD030301/WILD
- ELSE GOTO 20179 ' DD030301/WILD
- END IF ' DD030301/WILD
- END IF ' DD030301/WILD
- END IF ' DD030301/WILD
- TmpFileNameHold$ = ZFileNameHold$ 'Pe 06/04/92
- CALL BadFile (ZFileName$,BadFileNameIndex)
- ON BadFileNameIndex GOTO 20220,20231,20233
- 20210 CALL RotorsDir (ZFileName$,ZSubDir$(),ZSubDirCount + _ 'Pe 06/01/92
- ((ZUserSecLevel < ZMinSecToView) OR _ 'Pe 06/01/92
- NOT ZCanDnldFromUp),MarkingTime,CHR$(68)) 'D ' DS041201
- RETURN 'Pe 06/01/92
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20220 IF INSTR(ZFileName$,ZDefaultExtension$)= 0 THEN 'Pe 06/04/92
- GOSUB 20210 'Pe 06/02/92
- IF ZOK THEN _ 'Pe 06/02/92
- GOTO 20235 'Pe 06/02/92
- IF ZDotFlag THEN _ 'Pe 06/02/92
- RETURN 'Pe 06/02/92
- END IF 'Pe 06/04/92
- WasI = 1 'Pe 06/01/92
- * DELETING old line(s)
- 20222
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20225 CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZFalse) 'Pe 06/01/92
- WasJ = INSTR(Mid$(ZCompressedExt$+". ",WasI),CHR$(46)) ' DD021301
- IF WasJ = 0 THEN _ 'Pe 04/18/92
- GOTO 20231 'Pe 06/04/92
- Check$ = MID$(ZCompressedExt$,WasI,WasJ-1) 'Pe 04/28/92
- WasI = WasI + WasJ 'Pe 04/18/92
- ZFileName$ = WasX$ + CHR$(46) + Check$ ' DD021301
- ZFileNameHold$ = ZFileName$ 'Pe 04/18/92
- GOSUB 20210 'Pe 06/01/92
- IF ZOK THEN _
- GOTO 20235
- IF ZDotFlag THEN _
- RETURN
- GOTO 20225 'Pe 06/01/92
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20231 ZOutTxt$ = TmpFileNameHold$ + _ 'Pe 04/18/92
- " not found!"
- CALL UpdtCalr (ZOutTxt$,2)
- ' IF ZAutoDownInProgress THEN _ ' Mpl090202
- ' ZOutTxt$ = ZOutTxt$ + _ ' Mpl090202
- ' " during AUTODOWNLOAD" : _ ' Mpl090202
- ' GOSUB 21640 : _ ' Mpl090202
- ' RETURN ' Mpl090202
- ZOutTxt$ = ZOutTxt$ + _
- " Correct name? " + ZPressEnterExpert$ ' DD090202
- ZSuspendAutoLogoff = ZTrue
- GOSUB 21660
- ZSuspendAutoLogoff = ZFalse
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZWasQ=0 THEN _
- IF ZBatchTransfer AND ZAnsIndex >= LastDnld THEN _
- GOTO 20262 _
- ELSE ZAutoLogOffReq = ZFalse : _
- RETURN
- ZUserIn$(ZAnsIndex) = ZUserIn$(1)
- GOTO 20205
- * REPLACING old line(s) by new
- 20236 ZLine25$ = "(D) " + _
- ZWasZ$
- * ------[ first line different ]------
- ' IF ZAutoDownInProgress THEN _ ' Mpl090202
- ' MID$(ZLine25$,2,1) = CHR$(65) 'A ' DD021301
- '
- ' * TEST FOR DOWNLOAD SECURITY
- '
- ZViolation$ = "Download" ' DGS-DS/TH
- CALL FilSecChk (ZViolation$, ZFileName$, ZOK) ' DGS-DS/TH
- IF NOT ZOK THEN _ ' DGS-DS/TH
- GOTO 20245 ' DGS-DS/TH
- IF ZErrCode = 53 THEN _ ' DGS-DS/TH
- CALL UpdtCalr ("Missing file " + ZFileSecFile$,2) : _ ' DGS-DS/TH
- GOTO 20247 ' DGS-DS/TH
- IF ZErrCode <> 0 THEN _ ' DGS-DS/TH
- ZWasEL = 20242 : _ ' DGS-DS/TH
- GOTO 21900 ' DGS-DS/TH
- GOTO 20247 ' DGS-DS/TH
- * DELETING old line(s)
- 20242
- 20243
- 20244
- * REPLACING old line(s) by new
- 20247 ZWasDF = 0
- CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZFalse)
- * ------[ first line different ]------
- ' IF ZAutoDownInProgress THEN _ ' Mpl090202
- ' ZUserIn$(ZAnsIndex) = WasX$ + CHR$(46) + Extension$ : _ ' DD021301
- ' ZOutTxt$ = "Transferring -- " + _ ' Mpl090202
- ' ZUserIn$(ZAnsIndex) : _ ' Mpl090202
- ' GOSUB 21640 : _ ' Mpl090202
- ' IF ZFileSysParm > 1 THEN _ ' Mpl090202
- ' RETURN ' Mpl090202
- IF INSTR("...WRK.FW .ARC.EXE.COM.OBJ.WKS.LBR.ZIP.PAK.ZOO.ARJ.LZH.",CHR$(46)+Extension$+CHR$(46)) > 2 OR _ ' DD021301
- MID$(Extension$,2,1) = CHR$(81) OR _ 'Q ' DD021301
- (ZRequireNonASCII AND Extension$ = "BAS") THEN _
- ZWasDF = ZTrue
- * REPLACING old line(s) by new
- 20260 ZTransferFunction = 1
- * ------[ first line different ]------
- ZWasBatchTransfer = ZFalse 'Pe 03/02/92
- ZUpBatchTransfer = ZFalse 'Pe 03/02/92
- GOSUB 21790
- IF ZFileSysParm > 1 THEN _
- RETURN
- ZBatchTransfer = ZBatchProto 'Pe Batch Mod
- IF ZBatchTransfer AND ZCmdTransfer$ = "" THEN _
- ZCmdTransfer$ = ZWasFT$
- ON INSTR("AXCYN",ZInternalProt$) GOTO _
- 20340, _ ' ASCII DOWNLOAD
- 20290, _ ' Xmodem
- 20290, _ ' Xmodem CRC
- 20270, _ ' YMODEM
- 21700 ' NONE - CANCEL
- '
- ' * EXTERNAL Protocol Downloads/Uploads
- '
- * REPLACING old line(s) by new
- 20262 IF ZBatchTransfer THEN _
- IF ZAnsIndex < LastDnld THEN _
- RETURN _
- ELSE ZBlocksInFile# = BatchBlocks# : _
- ZBytesInFile# = BatchBytes# : _
- ZNumDnldBytes! = BatchBytes# : _
- IF ZBytesInFile# < 1 THEN _
- RETURN _
- ELSE GOSUB 20780 : _
- IF ZFileSysParm > 1 OR NOT ZOK THEN _
- RETURN
- * ------[ first line different ]------
- ' IF ZAutoDownInProgress THEN _ ' Mpl090202
- ' CALL SendName : _ ' Mpl090202
- IF ZAbort THEN _
- ZAbort = ZFalse : _ 'Pe 01/26/92
- ZDnldCompleted = ZFalse : _
- GOSUB 21760 : _
- RETURN
- GOSUB 20337
- CALL Transfer
- * REPLACING old line(s) by new
- 20263 IF ZPrivateDoor THEN _
- ZCmdTransfer$ = ZWasFT$ : _
- CALL XferType (2,ZTrue) : _
- ZCmdTransfer$ = ""
- CALL OpenWork (2,"XFER-" + ZNodeID$ + ".DEF")
- IF ZErrCode <> 0 THEN _
- GOTO 20267
- CALL ReadParms (ZWorkAra$(), ZFailureParm, 1)
- IF ZErrCode <> 0 THEN _
- GOTO 20267
- CLOSE 2
- * ------[ first line different ]------
- IF NOT ZFakeXRpt THEN 'Pe 03/26/92
- CALL LinesInFile("XFER-" + ZNodeId$ + ".DEF", XferCount) ' DGS051605-DS
- IF ZAdvanceProtoWrite AND XferCount < 2 THEN _ ' DGS051605-DS
- GOTO 20264 ' DGS051605-DS
- END IF ' DGS051605-DS
- Call TStats 'Pe 03/26/92
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20264 CALL KillWork ("XFER-" + ZNodeID$ + ".DEF") ' DGS051605-DS
- IF ZPrivateDoor THEN _ ' DGS051605-DS
- ZFileName$ = ZWorkAra$(1) : _
- CALL BreakFileName (ZFileName$,WasX$,ZFileNameHold$,ZWasY$,ZTrue) : _
- ZFileNameHold$ = ZFileNameHold$ + _
- ZWasY$
- IF LEFT$(ZWorkAra$(ZFailureParm),1) = CHR$(76) THEN _ 'L ' DD021301
- MID$(ZWorkAra$(ZFailureParm),1,1) = ZFailureString$
- * REPLACING old line(s) by new
- 20265 IF ZTransferFunction = 2 THEN _
- IF INSTR(ZWorkAra$(ZFailureParm),ZFailureString$) <> 1 THEN _
- GOTO 20700 _
- ELSE GOTO 20730
- IF ZTransferFunction = 1 THEN _
- * ------[ first line different ]------
- ZDnldCompleted = (INSTR(ZWorkAra$(ZFailureParm),ZFailureString$) <> 1) 'Pe 05/30/91
- GOSUB 21760
- CALL Carrier
- IF ZSubParm = -1 THEN _
- ZFileSysParm = 7
- RETURN
- '
- ' * XFER FILE NOT Found
- '
- * REPLACING old line(s) by new
- 20292 GOSUB 20750
- IF ZFileSysParm > 1 OR NOT ZOK THEN _
- RETURN
- WasA1$ = "SEND"
- GOSUB 20320
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZLocalUser THEN _
- CALL QuickTPut1 ("Protocol not available in local mode") : _
- RETURN
- * ------[ first line different ]------
- ' IF ZAutoDownInProgress THEN _
- ' GOSUB 20294 : _
- ' IF ZAbort THEN _
- ' RETURN
- GOSUB 21300
- IF ZFileSysParm > 1 THEN _
- RETURN
- ZOutTxt$ = ""
- GOTO 20390
- '20294 CALL SendName ' DD062304
- ' RETURN ' Mpl090902
- * DELETING old line(s)
- 20294
- * REPLACING old line(s) by new
- 20325 IF ZCheckSum THEN _
- ZNAK$ = CHR$(21) : _
- SOL = 132 _
- * ------[ first line different ]------
- ELSE ZNAK$ = CHR$(67) : _ "C ' DD021301
- SOL = 133
- '20330 IF ZAutoDownInProgress THEN _ ' DD062304
- ' RETURN
- GOSUB 20337
- ZOutTxt$ = ZFGE$ + "Protocol: " + ZFGA$ + ZProtoPrompt$ + _ ' DD112001
- SPACE$(1) + ZFGB$ + WasA1$ + _ ' DD021301
- ZFGA$ + " of " + _ ' DD112001
- ZFGB$ + ZFileNameHold$ + _ ' DD112001
- ZFGA$ + " ready. " + ZFGF$ + ZBG1$ + "<Ctrl X> aborts" + _ 'DD112001
- ZEmphasizeOff$ ' DD112001
- GOSUB 21650
- CALL SetUpTransferInfo ' DD021301
- CALL LPrnt (ZOutTxt$,1) ' DD112002
- '20335 IF ZTransferFunction = 1 THEN _ ' DD060401
- ' CALL Talk (8,ZOutTxt$) _ ' DD060401
- ' ELSE CALL Talk (9,ZOutTxt$) ' DD060401
- RETURN
- * DELETING old line(s)
- 20330
- 20335
- * REPLACING old line(s) by new
- 20340 IF ZWasDF THEN _
- ZOutTxt$ = "Switch to a non-ascii protocol" : _
- GOSUB 21650 : _
- GOTO 21700
- GOSUB 20750
- IF ZFileSysParm > 1 OR NOT ZOK THEN _
- RETURN
- CALL OpenWork (2,ZFileName$)
- IF (ZAnsIndex = FirstDnld OR NOT ZConcatFIles) THEN _
- GOSUB 20337 : _
- ZOutTxt$ = "^X aborts. ^S suspends ^Q resumes" : _
- GOSUB 21640 : _
- IF ZFileSysParm > 1 THEN _
- RETURN _
- ELSE ZOutTxt$ = ZProtoPrompt$ + " SEND of " + _
- ZFileNameHold$ + _
- " ready. Press Any Key to start" : _
- ZTurboKey = 2 : _
- ZForceKeyboard = ZTrue : _
- ZSuspendAutologoff = ZTrue : _
- GOSUB 21660 : _
- ZSuspendAutologoff = ZFalse : _
- * ------[ first line different ]------
- IF ZFileSysParm > 1 THEN _
- RETURN
- * REPLACING old line(s) by new
- 20380 ZStopInterrupts = ZFalse
- WasTU = 0
- SWAP WasTU,ZPageLength
- CALL BufFile (ZFileName$,WasX)
- SWAP WasTU,ZPageLength
- ZNonStop = (ZPageLength < 1)
- IF StopFile THEN _
- * ------[ first line different ]------
- ZDnldCompleted = ZFalse : _ 'Pe 05/29/91
- GOTO 20390
- * REPLACING old line(s) by new
- 20381 IF (ZAnsIndex = LastDnld OR NOT ZConcatFIles) THEN _
- CALL QuickTPut (CHR$(26),0) : _
- IF NOT ZLocalUser AND ZSubParm = 0 THEN _
- FOR WasX = 1 TO 5 : _
- * ------[ first line different ]------
- CALL PutCom (ZBellRinger$) : _ ' DD070402
- CALL DelayTime (3) : _
- NEXT
- * REPLACING old line(s) by new
- 20385 ZDnldCompleted = ZTrue 'Pe 05/30/91
- * REPLACING old line(s) by new
- 20400 CALL TimeBack (1)
- * ------[ first line different ]------
- ZUpBatchTransfer = ZFalse 'Pe 12/08/91
- ZWasBatchTransfer = ZFalse ' Mpl090202
- GOSUB 20420
- ZAutoLogOffReq = 0
- FirstUpld = ZAnsIndex
- GOTO 20430
- * INSERTING new line(s)
- 20410 CALL TimeBack (1) ' Mpl090202
- CALL KillWork (ZBatchWorkFile$) 'Pe Batchup mod
- ZErrCode = 0 ' Mpl090202
- ZUpBatchTransfer = ZTrue ' Mpl090202
- Call Killwork (ZNodeWorkDrvPath$ + "BatchUp" +ZNodeID$ +".LST")' DD032501
- ZErrCode = 0 ' Mpl090202
- ZAutoLogOffReq = 0 ' Mpl090202
- IF LEN(ZUserIn$) < 3 THEN _ ' Mpl090202
- CALL UploadMessage : _ ' DD090102
- CALL Batchit : _ ' Mpl090202
- FirstUpld = 2 : _ ' Mpl090202
- LastUpld = ZLastIndex : _ ' Mpl090202
- GOTO 20430 ' Mpl090202
- FirstUpld = ZAnsIndex ' Mpl090202
- GOTO 20430 ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20420 CALL UploadMessage ' DD090102
- ZOutTxt$ = "Upload what file(s)" + ZPressEnterExpert$ ' DD091207
- GOSUB 21667
- RETURN
- '
- ' * SEARCH FOR DUPLICATE FILENAME
- '
- * REPLACING old line(s) by new
- 20435 ZFileNameHold$ = ZUserIn$(ZAnsIndex)
- ExtSrch = ZFalse
- * ------[ first line different ]------
- IF INSTR(ZFileNameHold$,CHR$(46)) = 0 THEN _ ' DD021301
- ZFileNameHold$ = ZFileNameHold$ + CHR$(46) + ZDefaultExtension$ ' DD021301
- CALL AllCaps(ZFileNameHold$)
- ZFileName$ = ZFileNameHold$
- ZViolation$ = "Upload "
- CALL NoPath (ZFileName$,BadFileNameIndex)
- IF BadFileNameIndex THEN _
- GOTO 20451
- CALL BadFile (ZFileName$,BadFileNameIndex)
- ON BadFileNameIndex GOTO 20440,20451,20515
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20440 FileIsHack = ZFalse ' DD080901
- FileInList = ZFalse ' DD080901
- FileOffLine = ZFalse ' DD080901
- TmpName$ = "TWITLIST.DEF" ' DD120802/TWIT
- CALL FindIt (TmpName$) ' DD120802/TWIT
- IF ZOK THEN ' DD120802/TWIT
- CALL OpenWork(2,TmpName$) ' DD120802/TWIT
- IsATwit = ZFalse ' DD120802/TWIT
- TwitName$ = "" ' DD120802/TWIT
- WHILE NOT EOF(2) AND NOT IsATwit ' DD120802/TWIT
- INPUT #2, TwitName$ ' DD120802/TWIT
- CALL AllCaps (TwitName$) ' DD120802/TWIT
- IsATwit = (INSTR(ZActiveUserName$,TwitName$) > 0) ' DD120802/TWIT
- WEND ' DD120802/TWIT
- CLOSE 2 ' DD120802/TWIT
- IF IsATwit THEN _ ' DD120802/TWIT
- FileOffLine = ZTrue : _ ' DD120802/TWIT
- GOTO 20443 ' DD120802/TWIT
- END IF ' DD010401/HACKLIST
- TmpName$ = ZDirPath$ + "HACK.DEF" ' DD010401/HACKLIST
- CALL FindIt (TmpName$) ' DD010401/HACKLIST
- IF ZOK THEN ' DD010401/HACKLIST
- CALL OpenWork (2, TmpName$) ' DD010401/HACKLIST
- HaveFile$ = "" ' DD010401/HACKLIST
- FileIsHack = ZFalse ' DD010401/HACKLIST
- WHILE NOT EOF(2) AND NOT FileIsHack ' DD010401/HACKLIST
- LINE INPUT #2, HaveFile$ ' DD061101
- CALL AllCaps (HaveFile$) ' DD061101
- HaveFile$ = HaveFile$ + CHR$(46) ' BC080901
- StopReading = INSTR(HaveFile$,CHR$(46)) ' DD061101
- HaveFile$ = Left$(HaveFile$,StopReading) ' DD061101
- Search = INSTR(ZFileNameHold$,CHR$(46)) ' DD061101
- Search$ = Left$(ZFileNameHold$,Search) ' DD061101
- IF Search$ = HaveFile$ THEN_ ' DD061101
- FileIsHack = ZTrue ' DD061101
- WEND ' DD010401/HACKLIST
- CLOSE 2 ' DD010401/HACKLIST
- END IF ' DD010401/HACKLIST
- IF FileIsHack THEN _ ' DD010401/HACKLIST
- GOTO 20443 ' DD010401/HACKLIST
- TmpName$ = ZDirPath$+"NOTHANX.DEF" 'Pe 06/01/92
- CALL FindIt (TmpName$) 'DGS-UNW
- IF ZOK THEN ' Mpl090202
- CALL OpenWork (2,TmpName$) ' Mpl090202
- HaveFile$ = "" ' Mpl090202
- FileInList = ZFalse ' Mpl090202
- WHILE NOT EOF(2) AND NOT FileInList ' Mpl090202
- INPUT #2, HaveFile$ ' Mpl090202
- CALL AllCaps (HaveFile$) ' Mpl090202
- FileInList = (INSTR(ZFileNameHold$,HaveFile$) > 0) ' DD042603
- WEND ' Mpl090202
- CLOSE 2 ' Mpl090202
- END IF ' Mpl090202
- IF FileInList THEN _ ' Mpl090202
- GOTO 20443 ' Mpl090202
- TmpName$ = ZDirPath$ + ZMainFMSDir$ + ".OFL" ' DD050604
- CALL FindIt (TmpName$) ' DD050604
- IF NOT ZOK THEN ' DD050604
- TmpName$ = ZDirPath$ + "OFFLINE.DEF" ' DD050604
- CALL FindIt (TmpName$) ' DD050604
- END IF ' DD050604
- IF ZOK THEN ' Mpl090202
- CALL OpenWork (2,TmpName$) ' Mpl090202
- HaveFile$ = "" ' Mpl090202
- FileOffLine = ZFalse ' DD092001
- WHILE NOT EOF(2) AND NOT FileOffLine ' DD092001
- LINE INPUT #2, HaveFile$ 'Pe 12/15/91
- CALL AllCaps (HaveFile$) ' Mpl090202
- StopReading = INSTR(HaveFile$,CHR$(46)) ' DD021301
- IF StopReading > 0 THEN ' DD080901
- HaveFile$ = Left$(HaveFile$,StopReading) ' DD080901
- END IF ' DD080901
- Search = INSTR(ZFileNameHold$,CHR$(46)) ' DD021301
- IF Search > 0 THEN ' DD080901
- Search$ = Left$(ZFileNameHold$,Search) ' DD080901
- ELSE ' DD080901
- Search$ = ZFileNameHold$ ' DD080901
- END IF ' DD080901
- IF Search$ = HaveFile$ THEN ' DD080901
- FileOffLine = ZTrue ' DD092001
- END IF ' DD080901
- WEND ' Mpl090202
- CLOSE 2 ' Mpl090202
- END IF ' Mpl090202
- * INSERTING new line(s)
- 20443 IF ZSysop THEN _ ' Mpl090202
- FileinList = ZFalse : _ ' DD092001
- FileOffLine = ZFalse ' DD092001
- IF FileIsHack THEN _ ' DD010401/HACKLIST
- CALL BufFile (ZHelpPath$ + "HACK.MSG",WasX) : _ ' DD010401/HACKLIST
- GOTO 20453 ' DD010401/HACKLIST
- IF FileInList THEN _ ' Mpl090202
- CALL BufFile (ZHelpPath$+"NOTHANX.MSG",WasX) : _ 'Pe 06/01/92
- GOTO 20453 ' Mpl090202
- IF FileOffLine THEN _ ' DD092001
- CALL BufFile (ZHelpPath$+"OFFLINE.MSG",WasX) : _ ' DD092001
- GOTO 20453 ' DD092001
- CALL Carrier ' Mpl090202
- IF ZSubParm = -1 THEN _ ' Mpl090202
- ZFileSysParm = 7 : _ ' Mpl090202
- RETURN ' Mpl090202
- PersFile$ = ZFileName$ 'Pe 08/09/91
- ZFileName$ = ZPersonalDrvPath$ + PersFile$ 'Pe 08/08/91
- Call FindFile (ZFileName$,ZOK) 'Pe 08/09/91
- IF ZOK THEN Goto 20452 'Pe 08/09/91
- ZFileName$ = PersFile$ 'Pe 08/09/91
- CALL RotorsDir (ZFileName$,ZSubDir$(),ZSubDirCount,ZTrue,CHR$(85)) ' DD021301
- * REPLACING old line(s) by new
- 20445 IF ZOK THEN _
- GOTO 20452
- * ------[ first line different ]------
- IF INSTR(ZFileName$,CHR$(46)) = 0 THEN _ ' DD021301
- GOTO 20475
- CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZFalse)
- WasI = 1
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20447 WasJ = INSTR(MID$(ZCompressedExt$+". ",WasI),CHR$(46)) ' DD021301
- IF WasJ = 0 THEN _
- GOTO 20475
- Check$ = MID$(ZCompressedExt$,WasI,WasJ-1)
- WasI = WasI + WasJ
- * REPLACING old line(s) by new
- 20450 IF Extension$ <> Check$ THEN _
- * ------[ first line different ]------
- CALL RotorsDir (WasX$ + CHR$(46) + Check$,ZSubDir$(),ZSubDirCount,ZTrue,CHR$(85)) : _ ' DD021301
- IF ZOK THEN _
- ExtSrch = ZTrue : _
- GOTO 20452
- GOTO 20447
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20451 ZOutTxt$ = "Invalid file name <" + ZFileName$ + CHR$(62) ' DD021301
- GOTO 20395
- * REPLACING old line(s) by new
- 20452 IF ZUserSecLevel < ZOverWriteSecLevel THEN _
- GOTO 20453
- * ------[ first line different ]------
- IF ExtSrch AND (WasX$ + CHR$(46) + Check$) <> ZFileName$ THEN _ ' DD021301
- ZOutTxt$ = WasX$ + CHR$(46) + Check$ + " already here, " + _ ' DD021301
- "upload anyway?" + ZNoPrompt$ _ ' DD060101
- ELSE ZOutTxt$ = "Overwrite file?" + ZNoPrompt$ ' DD060101
- GOSUB 21660
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF NOT ZYes THEN _
- GOTO 20453
- ZWasZ$ = ZFileName$
- CALL KillWork (ZFileName$)
- IF ZErrCode <> 0 AND ZErrCode <> 53 THEN _
- ZOutTxt$ = "Unable to overwrite" : _
- GOSUB 21660 : _
- RETURN
- GOTO 20475
- * REPLACING old line(s) by new
- 20453 CLOSE 2
- * ------[ first line different ]------
- IF FileIsHack OR FileInList THEN ' BC080902
- CALL UpdtCalr ("Upload of unwanted file " + _ ' BC080902
- ZFileNameHold$ + " attempted",1) ' BC080902
- IF ZUserSecLevel < ZSysopSecLevel THEN ' BC080902
- RETURN ' BC080902
- ELSE ' BC080902
- GOTO 20455 ' BC080902
- END IF ' BC080902
- END IF ' BC080902
- IF ZUserSecLevel >= ZAddDirSecurity THEN _
- GOTO 20455
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20454 IF FileOffLine THEN ' DD080901
- CALL QuickTPut1 ("Thanks, but we already have " + ZFileNameHold$) ' DD080901
- END IF ' DD080901
- CALL SmartPause ' DD080901
- PersFile$ = "" 'Pe 08/08/91
- CALL UpdtCalr ("Upload duplicate " + ZFileNameHold$,1)
- RETURN
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20455 ZOutTxt$ = "Add new directory entry?" + ZNoPrompt$ ' DD060101
- ZTurboKey = - ZTurboKeyUser
- GOSUB 21660
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF NOT ZYes THEN _
- RETURN
- GOSUB 20460
- IF WhoTo$ = "" THEN _
- RETURN
- AddingDescOnly = ZTrue
- ZWasBatchTransfer = ZFalse 'Pe 01/03/92
- ZWasFT$ = CHR$(108) 'l ' DD021301
- CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,1) 'UPL-MOD pe082690
- GOSUB 20702
- RETURN
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20460 CALL KillWork (ZNodeWorkFile$) 'Pe BatchUp
- WhoTo$ = ""
- IF ZUpBatchTransfer THEN _ 'Pe 04/29/92
- WhoTo$ = "ALL" 'Pe 04/29/92
- WasY$ = ZFileName$
- IF ZUserSecLevel >= ZMinSecPersUpld THEN _
- CALL SetWhoTo (ZTrue,WhoTo$,"",RcvrRecNum,Found,ZTrue) _ ' KG012502
- ELSE WhoTo$ = "ALL"
- ZFileName$ = WasY$
- RETURN
- * REPLACING old line(s) by new
- 20471 ZWasZ$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps(ZWasZ$)
- WasX = 0
- IF LEN (ZWasZ$) = 1 THEN _
- WasX = INSTR(ZDefaultXfer$,ZWasZ$) : _
- * ------[ first line different ]------
- ' IF WasX > 0 THEN _ ' Mpl090202
- ' ZAnsIndex = ZAnsIndex + 1 : _ ' Mpl090202
- ' IndexSave = IndexSave + 1 : _ ' Mpl090202
- ' ZCmdTransfer$ = ZWasZ$ : _ ' Mpl090202
- ' ZAutoDownInProgress = ZFalse : _ ' Mpl090202
- ' IF MID$(ZInternalEquiv$,WasX,1) = CHR$(78) THEN _ 'N ' DD021301
- ' ZCmdTransfer$ = "" ' Mpl090202
- IF WasX > 0 THEN _
- ZAnsIndex = ZAnsIndex + 1 : _
- IndexSave = IndexSave + 1 : _
- ZCmdTransfer$ = ZWasZ$ : _
- IF MID$(ZInternalEquiv$,WasX,1) = CHR$(78) THEN _ 'N ' DD021301
- ZCmdTransfer$ = ""
- RETURN
- * REPLACING old line(s) by new
- 20475 ZWasZ$ = ZUpldDriveFile$
- CALL FindFree
- IF VAL(ZFreeSpace$) < 4096 THEN _
- GOSUB 21895 : _
- IndexSave = ZLastIndex + 1 : _
- RETURN
- ZOutTxt$ = "Upload disk has" + _
- ZFreeSpace$
- GOSUB 21640
- IF ZFileSysParm > 1 THEN _
- RETURN
- * ------[ first line different ]------
- GOSUB 20460 'Pe 08/08/91
- IF ZMplPersUpload = ZTrue THEN _ 'Pe 08/09/91
- ZFileName$ = ZPersonalDrvPath$ + PersFile$ 'Pe 08/08/91
- CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,1)' Mpl090202
- * INSERTING new line(s)
- 20476 IF ZAbort THEN _ 'Pe 09/07/91 added line number
- ZAbort = ZFalse : _ 'PE 12/14/88
- RETURN
- ZLine25$ = "(U) " + _
- ZFileNameHold$
- ZSubParm = 2
- CALL Line25
- ZOutTxt$ = ""
- ZOK = ZTrue
- * REPLACING old line(s) by new
- 20500 ZTransferFunction = 2
- * ------[ first line different ]------
- ' ZAutoDownInProgress = ZFalse ' Mpl090202
- GOSUB 21790
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZInternalProt$ = CHR$(78) THEN _ 'N ' DD021301
- GOTO 21700 'Pe 08/08/91
- IF NOT ZUpBatchTransfer THEN _
- CALL AutoLogOff 'Pe 02/04/90
- IF ZAutoEnd = 2 THEN _
- RETURN
- ON INSTR("AXCYN",ZInternalProt$) GOTO _
- 20560, _ ' ASCII UPLOAD
- 20542, _ ' Xmodem
- 20542, _ ' Xmodem CRC
- 20542, _ ' YMODEM
- 20735 ' NONE - CANCEL
- GOTO 20261
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20510 WasD$ = ZFGF$ + ZBG1$ + "<Esc> by SysOp aborts" + ZBG0$ + _ ' DD112001
- ZEmphasizeOff$ + ZCrLf$ ' DD112001
- GOSUB 21710
- RETURN
- * REPLACING old line(s) by new
- 20560 LineACK = (ZDefaultLineACK$ <> "")
- IF LineACK THEN _
- * ------[ first line different ]------
- ZOutTxt$ = "Acknowledge each line?" + ZYesPrompt$ : _ ' DD060101
- ZTurboKey = - ZTurboKeyUser : _
- LineACK = NOT ZNo : _
- GOSUB 21660 : _
- IF ZFileSysParm > 1 THEN _
- RETURN
- GOSUB 20337
- CALL QuickTPut1 ("Transfer MUST end with a <Ctrl-K>")
- CALL QuickTPut1 (ZProtoPrompt$+" RECEIVE of " + ZFileNameHold$ + " ready")
- ZOK = ZFalse
- XOff = ZFalse
- CALL OpenOutW(ZFileName$)
- IF ZErrCode <> 0 AND ZErrCode <> 53 THEN _
- ZWasEL = 20560 : _
- GOTO 21900
- GOSUB 20510
- IF ZFileSysParm > 1 THEN _
- RETURN
- * REPLACING old line(s) by new
- 20650 WasX = INSTR(WasX$,CHR$(11))
- IF WasX = 1 THEN _
- IF NOT ZOK THEN _
- GOTO 20730 _
- ELSE GOTO 20700
- * ------[ first line different ]------
- CALL PrintWorkA (2,LEFT$(WasX$,WasX-1)) ' DD040601
- IF ZErrCode <> 0 THEN _
- ZWasEL = 20650 : _
- GOTO 21900
- GOTO 20700
- * REPLACING old line(s) by new
- 20700 GOSUB 21780
- IF ZFileSysParm > 1 THEN _
- RETURN
- * ------[ first line different ]------
- IF ZWasBatchTransfer THEN _ ' Mpl090202
- CALL BatchUpload (ZDesc$,ZUCat$,2) : _ ' Mpl090202
- GOTO 20703 ' Mpl090202
- * REPLACING old line(s) by new
- 20702 CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(), ZLinesInMsg,2) 'Pe 02/03/90
- * INSERTING new line(s)
- 20703 IF ZAutoEnd = 1 THEN _ 'AUTO-UP MOD
- ZFileSysParm = 7: _ 'Pe BatchUp 09/12/91
- ZDnldCompleted = ZTrue : _ 'Pe BatchUp 09/12/91
- RETURN 'AUTO-UP MOD
- IF NOT ZGetExtDesc THEN _
- ZPrivateDoor = ZFalse : _
- GOTO 20710
- ZMsgHeader$ = "Extended Description of " + ZFileNameHold$ ' DD031007
- ZSysopComment = ZTrue
- ZMaxMsgLines = ZMaxExtendedLines
- WasLL = ZRightMargin
- ZRightMargin = 30 + ZMaxDescLen
- IF ZRightMargin > 74 THEN _
- ZRightMargin = 74
- ZFileSysParm = 5
- RETURN
- * REPLACING old line(s) by new
- 20705 ZMaxMsgLines = ZMaxMsgLinesDef
- ZRightMargin = WasLL
- * ------[ first line different ]------
- ' GOSUB 20702 ' Mpl090202
- CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(),ZLinesInMsg,3) 'Pe 02/04/90
- * REPLACING old line(s) by new
- 20730 GOSUB 21780
- CALL QuickTPut1 ("Upload aborted")
- * ------[ first line different ]------
- ZAutoLogoffReq = ZFalse 'Pe 10/20/91
- ZWasBatchTransfer = ZFalse 'Pe 03/02/92
- ZUpBatchTransfer = ZFalse 'Pe 03/02/92
- LastUpld = 0
- ZPrivateDoor = ZFalse
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20750 ZStartOfHeader$ = CHR$(1 - (ZInternalProt$ = CHR$(89))) 'Y ' DD021301
- CALL OpenRSeq (2,ZFileName$,MaxBlock,ZWasDF,ZFLen) ' DD031703
- * REPLACING old line(s) by new
- 20760 IF ZErrCode <> 0 THEN _
- CALL QuickTPut1 ("Unable to access "+ZFileNameHold$) : _
- CALL UpdtCalr ("Unable to access "+ZFileName$,2) : _
- ZOK = ZFalse : _
- ZErrCode = 0 : _
- ZBytesInFile# = 0 : _
- RETURN
- ZBytesInFile# = LOF(2)
- ZNumDnldBytes! = LOF(2)
- ZOK = ZTrue
- IF SizeOnly THEN _
- SizeOnly = ZFalse : _
- RETURN
- ZBlocksInFile# = MaxBlock
- IF ZBatchTransfer THEN _
- BatchBlocks# = BatchBlocks# + ZBlocksInFile# : _
- BatchBytes# = BatchBytes# + ZBytesInFile# : _
- * ------[ first line different ]------
- CALL OpenWorkA (2,ZNodeWorkFile$) : _ ' DD040601
- CALL PrintWorkA (2,ZFileName$) : _ ' DD040601
- ZDownFiles = ZDownFiles + 1 : _
- CLOSE 2 : _
- RETURN
- ZDownFiles = 1
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20780 ZOutTxt$ = ZCRLf$ + ZFGA$ + "File Size: " + ZFGE$ ' DD080405
- ZOK = ZTrue
- IF ZBlockSize > 0 THEN _
- ZOutTxt$ = ZOutTxt$ + _
- STR$(FIX(ZBlocksInFile#)) + _
- ZFG2$ + " blocks " ' DD082205
- * REPLACING old line(s) by new
- 20785 ZBlocksInFile# = ZBlocksInFile# / _
- VAL(MID$("000003000450120024004800720096012001440168019203840", -4 * ZCBPS, 4))
- ZBlocksInFile# = ZBlocksInFile# * ZFLen / ZSpeedFactor!
- IF (ZAnsIndex > 1 AND ZConcatFIles) THEN _
- RETURN
- ZOutTxt$ = ZOutTxt$ + _
- * ------[ first line different ]------
- ZFGE$ + STR$(ZBytesInFile#) + _ ' DD082205
- ZFG2$ + " bytes" ' DD082205
- GOSUB 21650
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZBytesInFile# < 1 THEN _
- RETURN
- * INSERTING new line(s)
- 20789 ZSubParm = 2 ' DS090201
- CALL Line25
- ZOutTxt$ = ZFGB$ + "Estimated Transfer Time:" + _ ' DD082205
- ZFGD$ + STR$(INT(ZBlocksInFile# / 60)) + _ ' DD082205
- ZFG3$ + " mins," + ZFGD$ + _ ' DD082205
- STR$(INT(ZBlocksInFile# - (INT(ZBlocksInFile# / _
- 60) * 60))) + ZFG3$ + " sec" + ZEmphasizeOff$ + ZCRLf$ ' DD010301
- GOSUB 21650
- IF ZFileSysParm > 1 THEN _
- RETURN
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20790 CALL CheckTimeRemain (MinsRemaining) ' DS090201
- IF ZSubParm = -1 THEN _
- ZFileSysParm = 6 : _
- RETURN
- ZOK = ZTrue
- Temp = ZExtraDnldTime
- CALL ChkAddedTime (Temp)
- Temp = MinsRemaining + Temp
- ZWasA = INT(ZBlocksInFile# / 60) + 1
- IF ZWasA <= Temp THEN _
- GOTO 20793
- IF ZDownFiles < 2 THEN _ ' DS090201
- CALL AllCaps (ZFileNameHold$) : _ ' DS090201
- ZOutTxt$ = ZFileNameHold$ + " Not enough minutes left! Need" _
- + STR$(ZWasA) + " have" + STR$(Temp) : _ ' DS090201
- CALL QuickTPut1 (ZOutTxt$) : _ ' DS090201
- IF NoTimeDnFlag THEN _ ' DS090201
- CALL UpdtCalr (ZOutTxt$,2) ' DS090201
- IF ZDownFiles < 2 THEN _
- GOTO 20791 ' DS090201
- CALL OpenWork (2,ZNodeWorkFile$) ' DS090201
- WHILE NOT EOF(2) AND NoTimeDnFlag ' DS090201
- CALL ReadDir (2,1) ' DS090201
- CALL BreakFileName (ZOutTxt$,DR$,ZWasY$,WasX$,ZTrue) ' DS090201
- ZFileName$ = ZWasY$ + WasX$ ' DS090201
- ZOutTxt$ = ZFileName$ + " Not enough minutes left! Need" _
- + STR$(ZWasA) + " have" + STR$(Temp) ' DS090201
- CALL UpdtCalr (ZOutTxt$,2) ' DS090201
- WEND ' DS090201
- NoTimeDnFlag = 0 ' DS090201
- CLOSE 2 ' DS090201
- ZOutTxt$ = "Not enough minutes left! Need" _
- + STR$(ZWasA) + " have" + STR$(Temp) ' DS090201
- CALL QuickTPut1 (ZOutTxt$) ' DS090201
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20791 IF ZDownFiles < 2 THEN _ ' DS090201
- GOTO 20792
- ZLastIndex = 0
- ZOutTxt$ = "Edit files to download?" + ZYesPrompt$ ' DD060101
- ZTurboKey = - ZTurboKeyUser
- GOSUB 21668
- IF ZNo THEN _
- LastDnld = 0 : _
- GOTO 20792
- Temp = 0
- CALL OpenWork (2,ZNodeWorkFile$)
- WHILE NOT EOF(2)
- CALL ReadDir (2,1)
- CALL BreakFileName (ZOutTxt$,DR$,ZWasY$,WasX$,ZTrue)
- ZFileName$ = ZWasY$ + WasX$
- ZOutTxt$ = "Download " + ZFileName$ + CHR$(63) + ZNoPrompt$ ' DD021301
- ZTurboKey = - ZTurboKeyUser
- GOSUB 21668
- IF ZYes THEN _
- Temp = Temp + 1 : _
- ZOutTxt$(Temp) = ZFileName$
- WEND
- CLOSE 2
- ZAnsIndex = 1
- ReStart = (Temp > 0)
- LastDnld = Temp
- ZLastIndex = Temp
- FOR WasX = 1 TO Temp
- ZUserIn$(WasX) = ZOutTxt$(WasX)
- NEXT
- * REPLACING old line(s) by new
- 20793 IF ZRatioRestrict# > 0 THEN _
- * ------[ first line different ]------
- GOSUB 21775 : _ ' DD040901
- IF ZFreeDnld = ZFalse THEN _ ' DD060101
- CALL QuickTPut1 (ZEmphasizeOn$ + _ ' DD022701
- "RATIOS Enforced!" + ZEmphasizeOff$ + ZCRLf$ + _ ' DD022701
- ZFGD$ + _ ' DD022701
- "New statistics will be:" + ZCRLf$ + _ ' DD030502
- ZFGE$ + STRING$(23,45) + ZEmphasizeOff$) : _ ' DD030502
- CALL CheckRatio (ZTrue)
- CALL AutoLogoff ' Mpl090202
- IF ZAutoEnd = 2 THEN _ ' Mpl090202
- ZOK = ZFalse ' Mpl090202
- RETURN
- * REPLACING old line(s) by new
- 20900 WasX$ = ""
- Sec = 1
- 'CALL OpenOutW (ZFileName$)
- IF ZFLen > ZWriteBufDef THEN _
- WriteBuf = ZFLen _
- ELSE WriteBuf = ZWriteBufDef
- * ------[ first line different ]------
- CALL OpenRSeq (2,ZFileName$,WasY,ZWasDF,WriteBuf) ' DD031703
- IF ZErrCode <> 0 AND ZErrCode <> 53 THEN _
- ZWasEL = 20900 : _
- GOTO 21900
- FIELD #2, WriteBuf AS ZUpldRec$
- RecsWrit = 0
- NumInBuff = 0
- TransferAbort! = TIMER + ZWaitBeforeDisconnect
- Year$ = SPACE$(1) + _ ' DD021301
- CHR$(1) + _
- CHR$(2) + _
- ZEndTransmission$ + _
- ZCancel$
- * REPLACING old line(s) by new
- 21145 Sec = 255 AND (Sec + 1)
- * ------[ first line different ]------
- CALL QuickLPrnt (ZFGB$ + "OK Rec Blk #" + ZFGE$,WasSO) ' DD112003
- * REPLACING old line(s) by new
- 21220 IF NumInBuff < 1 THEN _
- GOTO 21225
- WasWK$ = LEFT$(ZUpldRec$,NumInBuff)
- * ------[ first line different ]------
- CALL OpenRSeq (2,ZFileName$,MaxBlock,ZWasDF,128) ' DD031703
- IF ZErrCode > 0 THEN _
- ZWasEL = 21220 : _
- GOTO 21900
- LastBlock = MaxBlock
- FIELD #2, 128 AS ZUpldRec$
- MaxBlock = CDBL(RecsWrit) * WriteBuf / 128
- FOR WasI = 1 TO NumInBuff/128
- CALL PutWork (MID$(WasWK$,128*WasI-127,128),MaxBlock,128)
- IF ZErrCode > 0 THEN _
- ZWasEL = 21220 : _
- GOTO 21900
- NEXT
- CLOSE 2
- * REPLACING old line(s) by new
- 21250 ZEightBit = ZTrue
- * ------[ first line different ]------
- IF ZDnldCompleted AND ZAutoEnd = 1 THEN _ ' DD120901
- ZFileSysParm = 7 ' DD120901
- RETURN
- '
- ' * CLEAR GARBAGE OUT OF COMMUNICATIONS BUFFER
- '
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21303 CALL OpenRSeq (2,ZFileName$,MaxBlock,ZWasDF,ZFLen) ' DD031703
- FIELD 2,ZFLen AS ZDnldRecord$
- '
- ' * ROUTINE TO START AN "Xmodem" OR "YMODEM" DOWNLOAD. CHECK'S INITIAL
- ' * "HANDSHAKE" TO SEE IF CHARACTER IS SENT IS A:
- ' * "X" = Xmodem WITH CheckSum AND 128 CHARACTER RECORDS
- ' * "C" = Xmodem WITH CRC CHECK AND 128 CHARACTER RECORDS
- ' * "Y" = YMODEM WITH CRC CHECK AND 1024 CHARACTER RECORDS
- '
- * REPLACING old line(s) by new
- 21380 ZCheckSum = (ZWasY$ = ZNAK$)
- IF ZCheckSum THEN _
- * ------[ first line different ]------
- ZFF = INSTR(ZInternalEquiv$,CHR$(88)) : _ 'X ' DD021301
- IF ZFF > 0 THEN _
- ZWasFT$ = MID$(ZDefaultXfer$,ZFF,1) : _
- GOTO 21480 _
- ELSE ZWasFT$ = CHR$(88) : _ 'X ' DD021301
- GOTO 21480 _
- ELSE IF ZWasY$ = CHR$(67) THEN _ 'C ' DD021301
- GOTO 21480
- CALL EofComm (Char)
- * REPLACING old line(s) by new
- 21470 CALL QuickLPrnt (ZFGB$ + "OK Sent Blk #" + ZFGE$,WasSO) ' DD112003
- * REPLACING old line(s) by new
- 21531 GOSUB 20810
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF INSTR(ZWasY$,ZAcknowledge$) THEN _
- GOTO 21550
- CALL FindFKey
- IF ZSubParm < 0 THEN _
- ZFileSysParm = 2 : _
- RETURN
- IF ZKeyPressed$ = ZEscape$ THEN _
- GOSUB 21540 : _
- GOTO 21545
- IF WasX < 10 THEN _
- WasX = WasX + 1 : _
- GOTO 21531
- * ------[ first line different ]------
- ZDnldCompleted = ZFalse ' DD120901
- GOTO 21230
- * REPLACING old line(s) by new
- 21545 ZWasY$ = ZCancel$
- CALL PutCom (ZCancel$ + ZCancel$ + ZCancel$)
- * ------[ first line different ]------
- ZDnldCompleted = ZFalse ' DD120901
- GOTO 21250
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21550 ZDnldCompleted = ZTrue ' DD120901
- GOTO 21250
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21561 ZDnldCompleted = ZFalse ' DD120901
- WasD$ = ZLineFeed$ + _
- "Caller aborted trans"
- GOSUB 21710
- IF ZFileSysParm > 1 THEN _
- RETURN
- GOTO 21545
- '
- ' STANDARD ENTRY FOR RBBS-PC'S COMMON TERMINAL OUTPUT ROUTINE
- '
- ' Modeled on lines 12975 to 12983 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- 21760 GOSUB 21780
- IF ZFileSysParm > 1 THEN _
- RETURN
- IF ZBatchTransfer THEN _
- CALL LinesInFile (ZNodeWorkFile$,ZDownFiles) _
- ELSE ZDownFiles = 1
- * ------[ first line different ]------
- ZMenuDownloads = ZMenuDownloads + ZDownFiles ' DD090901/MENU0
- IF NOT ZDnldCompleted THEN _ 'Pe 05/31/91
- ZAutoLogoffReq = ZFalse : _
- ZWasDF$ = " Aborted" : _
- GOTO 21770 ' Mpl090202
- CALL LogPDown (ZPersonalDnld,1+ZAnsIndex-FirstDnld)
- GOSUB 21775 ' DD040901
- WasX = ((ZRatioRestrict# > 0) AND ZEnforceRatios AND ZFreeDnld)
- IF NOT WasX THEN _
- ZDnlds = ZDnlds + ZDownFiles : _
- ZGlobalDLToday! = ZGlobalDLToday! + ZDownFiles : _
- ZGlobalDnlds = ZGlobalDnlds + ZDownFiles : _
- ZDLBytes! = ZDLBytes! + ZNumDnldBytes! : _
- ZGlobalDLBytes! = ZGlobalDLBytes! + ZNumDnldBytes! : _
- ZDLToday! = ZDLToday! + ZDownFiles : _
- ZBytesToday! = ZBytesToday! + ZNumDnldBytes! : _
- ZGlobalBytesToday! = ZGlobalBytesToday! + ZNumDnldBytes!
- ZNumDnldBytes! = 0
- ' CALL Muzak (6) ' DD062502
- ZWasDF$ = " Downloaded"
- IF (ZAnsIndex = LastDnld OR NOT ZConcatFIles) THEN _
- CALL SkipLine (1) : _
- CALL QuickTPut1 (ZFGE$ + "Download(s) successful" + _ ' DD081402
- ZEmphasizeOff$) ' DD081402
- IF WasX THEN _
- CALL QuickTPut1 (ZFGA$ + "but not counted against " + _ ' DD082301
- "ratios" + ZEmphasizeOff$) ' DD082301
- '21768 IF ZAutoDownInProgress THEN _ ' DD062304
- ' ZWasDF$ = " AUTO" + _ ' Mpl090202
- ' MID$(ZWasN$,2) ' Mpl090202
- ' IF INSTR(ZWasN$,"Aborted") THEN _ ' Mpl090202
- ' ZAutoDownInProgress = 0 ' Mpl090202
- ' ZOutTxt$ = "" ' Mpl090202
- * DELETING old line(s)
- 21768
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21773 IF ZTransferFunction = 1 THEN ' Mpl090202
- CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZTrue)
- ZWasZ$ = WasX$ + _
- Extension$ + _
- ZWasDF$ + _
- " at " + _
- ZTime$ + _
- " using " + _
- ZWasFT$ + _
- STR$(ZBytesInFile#)
- CALL UpdtCalr (ZWasZ$,2)
- END IF ' Mpl090202
- IF ZBatchTransfer THEN _
- ZWasQ = ZWasQ - 1 : _
- GOTO 21772
- 'CALL CheckRatio (ZFalse)
- '21774 IF ZMenuIndex = 6 THEN _ ' DD062304
- ' IF DnldCompleted THEN _ ' Mpl090202
- ' ZOutTxt$ = WasX$ : _ ' Mpl090202
- ' ZSubParm = 5 : _ ' Mpl090202
- ' CALL Library ' Mpl090202
- RETURN
- * DELETING old line(s)
- 21774
- * INSERTING new line(s)
- 21775 TmpName$ = ZDirPath$ + "FREE.DEF" ' DD040901
- TempZOK = ZOK ' DD043001
- CALL FindIt (TmpName$) ' DD040901
- IF ZOK THEN ' DD040901
- CALL OpenWork (2, TmpName$) ' DD040901
- HaveFile$ = "" ' DD040901
- FileIsFree = ZFalse ' DD040901
- WHILE NOT EOF(2) AND NOT FileIsFree ' DD040901
- INPUT #2, FreeFile$ ' DD040901
- CALL AllCaps (FreeFile$) ' DD040901
- FileIsFree = (INSTR(LEFT$(ZFileNameHold$,LEN(FreeFile$)),FreeFile$) > 0) ' DD040901
- WEND ' DD040901
- CLOSE 2 ' DD040901
- IF FileIsFree THEN ' DD040901
- ZFreeDnld = ZTrue ' DD040901
- END IF ' DD040901
- END IF ' DD040901
- ZOK = TempZOK ' DD043001
- RETURN ' DD040901
- '
- '
- ' ***** TURN ON INTERMEDIATE ECHO ****
- '
- ' (formerly line 50620 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21780 IF ZEchoer$ = CHR$(73) THEN _ 'I ' DD021301
- CALL SetEcho (CHR$(73)) ' DD021301
- '
- ' * RESTORE COMMUNICATIONS AFTER Switch TO 8 BIT
- '
- ' (formerly between lines 50620 and 50630 in RBBS-PC.BAS
- IF SwitchToEight THEN _
- IF ZSwitchBack THEN _
- OUT ZLineCntlReg, PrevLineCntl : _
- CALL DelayTime (3) : _
- ZEightBit = ZFalse : _
- SwitchToEight = ZFalse
- RETURN
- '
- ' ***** TURN OFF INTERMEDIATE ECHO ****
- '
- ' (formerly line 50630 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21790 Call CheckCarrier 'Pe 12/31/91
- IF ZSubParm = -1 THEN _ 'Pe 12/31/91
- ZFileSysParm = 7 : _ 'Pe 12/31/91
- RETURN 'Pe 12/31/91
- IF ZEchoer$ = CHR$(73) THEN _ 'I ' DD021301
- CALL SetEcho (CHR$(82)) 'R ' DD021301
- RETURN
- '
- ' ***** DIRECTORY SEARCH ****
- '
- ' (formerly lines 52900 to 52920 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21810 ZOutTxt$ = "Search string or filename (wildcards OK)" + _ ' DD021301
- ZPressEnterExpert$ ' DD021301
- ZMacroMin = 99
- GOSUB 21668
- IF ZWasQ = 0 THEN _
- RETURN
- * REPLACING old line(s) by new
- 21820 WasRS$ = ZUserIn$(ZAnsIndex)
- * ------[ first line different ]------
- WildSearch = (INSTR(WasRS$,CHR$(42)) > 0 OR INSTR(WasRS$,CHR$(63)) > 0) ' DD021301
- CALL AllCaps (WasRS$)
- IF RIGHT$(WasRS$,1) = CHR$(42) THEN _ '* ' DD021301
- IF RIGHT$(WasRS$,2) <> ".*" THEN _
- WasRS$ = WasRS$ + ".*"
- SearchString$ = WasRS$
- SearchDate$ = ""
- ZJumpSearching = ZFalse
- WasA1$ = WasRS$
- ' ZExtendedOff = ZFalse ' DD062901
- GOTO 21867
- '
- ' ***** P - personal download ****
- '
- ' (formerly lines 52950 to 52952 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- 21850 IF ZPersonalBegin < 1 OR ZPersonalLen < 1 THEN _
- RETURN
- * ------[ first line different ]------
- IF NOT ZExpertUser THEN _ ' DD031401
- FileName$ = ZWelcomeFileDrvPath$ + "P.MNU" : _ ' DD040808
- CALL Graphic (FileName$) : _ ' DD031404
- CALL BufFile (FileName$,WasX) ' DD031404
- DnldFlag = 0
- ZPersonalDnld = ZTrue
- * REPLACING old line(s) by new
- 21854 'ZPersonalDnld = ZFalse
- 'ZListOnly = ZFalse
- * ------[ first line different ]------
- ZActiveFMSDir$ = "" ' DD040803
- CALL OpenFMS (LastRec,WasL) ' DD040803
- RETURN
- '
- ' * WasN - COMMAND FROM FILES MENU (DISPLAY NEW FILES SINCE Last DIR DISPLAY)
- '
- ' (formerly lines 53000 to 53070 in RBBS-PC.BAS
- * REPLACING old line(s) by new
- 21862 WasA1$ = RIGHT$(ZWasLM$,4) +_
- LEFT$(ZWasLM$,2)
- ZOutTxt$ = "Files on/after MMDDYY, [S]ince = " + WasA1$
- GOSUB 21668
- CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
- * ------[ first line different ]------
- IF ZWasQ = 0 OR ZUserIn$(ZAnsIndex) = CHR$(83) THEN _ 'S ' DD021301
- WasRS$ = ZWasLM$ : _
- GOTO 21866
- * REPLACING old line(s) by new
- 21866 SearchDate$ = WasRS$
- * ------[ first line different ]------
-
- 'No new files found mod -------------------------------------------------------
- 'don't work yet :(
- ' TempDate$ = LEFT$(RIGHT$(SearchDate$,4),2) + "-" + _ ' DD090704
- ' RIGHT$(SearchDate$,2) + _ ' DD090704
- ' "-" + LEFT$(SearchDate$,2) + SPACE$(1) + "00:00" ' DD021301
- ' CALL CountNewFiles (TempDate$,ZMsgPtr(),NewFileCount,"") ' DD090704
- ' IF NewFileCount < 1 THEN ' DD090704
- ' CALL QuickTPut1 (ZCRLf$ + ZFGF$ + ZBG5$ + _ ' DD090704
- ' "No New Files since " + _ ' DD090704
- ' LEFT$(TempDate$,8) + "!" + _ ' DD090704
- ' ZEmphasizeOff$ + ZCRLf$) ' DD090704
- ' IF NOT ZExpertUser THEN _ ' DD090704
- ' CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) ' DD090704
- ' RETURN
- ' END IF ' DD090704
-
- 'end of mod -------------------------------------------------------------------
-
- SearchString$ = ""
- ZJumpSearching = ZFalse
- ' ZExtendedOff = ZFalse ' DD062901
- ZUserIn$(ZAnsIndex) = CHR$(65) 'A ' DD021301
- ZEndList = ZTrue 'Pe 12/01/91
- GOTO 21871 'Pe NewFile mod
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 21867 CALL GetDirs (ZFalse) ' Mpl090202
- IF ZWasQ = 0 THEN _
- RETURN
- * REPLACING old line(s) by new
- 21880 WasQX = ZAnsIndex
- GOSUB 20157
- IF ZFileSysParm > 1 THEN _
- RETURN
- ZAnsIndex = ZAnsIndex + 1
- IF ZAnsIndex <= ZLastIndex THEN _
- GOTO 21875
- ListNew = ZFalse
- * ------[ first line different ]------
- ZEndList = ZFalse 'Pe 12/01/91
- SearchString$ = ""
- SearchDate$ = ""
- RETURN
- * REPLACING old line(s) by new
- 21900 IF ZDebug THEN _
- ZOutTxt$ = "RBBSSUB5 DEBUG Error Trap Entry ERL=" + _
- STR$(ZWasEL) + _
- " ERR=" + _
- STR$(ZErrCode) : _
- IF ZPrinter THEN _
- CALL Printit(ZOutTxt$) _
- ELSE CALL LPrnt(ZOutTxt$,1)
- IF ZWasEL = 20126 AND ZErrCode = 53 THEN _
- GOTO 20142
- IF ZWasEL = 20242 AND ZErrCode = 62 THEN _
- CALL UpdtCalr (ZFileSecFile$ + " bad format!",2) : _
- GOTO 20247
- IF ZWasEL = 20263 THEN _
- ZOutTxt$ = "<Download aborted>" : _
- * ------[ first line different ]------
- ZDnldCompleted = ZFalse : _ ' Mpl090202
- GOTO 20390
- IF ZWasEL = 20560 AND ZErrCode = 67 THEN _
- GOTO 20451
- IF ZWasEL = 20560 AND ZErrCode = 70 THEN _
- IF VAL(ZFreeSpace$) > 1999 THEN _
- GOTO 20610 _
- ELSE GOSUB 21895 : _
- GOTO 21700
- IF ZWasEL = 20620 THEN _
- GOTO 20670
- IF ZWasEL = 20650 THEN _
- GOTO 20670
- IF ZWasEL = 20736 AND ZErrCode = 53 THEN _
- GOTO 21700
- ' IF ZWasEL = 20900 AND ZErrCode = 75 THEN _ ' Mpl090202
- ' GOTO 21230 ' Mpl090202
- ' IF ZWasEL = 20900 AND ZErrCode = 70 THEN _ ' Mpl090202
- ' GOSUB 21895 : _ ' Mpl090202
- ' GOTO 21230 ' Mpl090202
- ' IF ZWasEL = 21131 OR ZWasEL = 21220 THEN _ ' Mpl090202
- ' ZErrCode = 0 : _ ' Mpl090202
- ' GOTO 21230 ' Mpl090202
- ' IF ZWasEL = 21480 THEN _ ' Mpl090202
- ' CALL LogError : _ ' Mpl090202
- ' IF ZErrCode = 57 THEN _ ' Mpl090202
- ' CALL QuickTPut1 ("Error reading file. Aborting download") : _' Mpl090202
- ' DnldCompleted = ZFalse : _ ' Mpl090202
- ' GOTO 21230 ' Mpl090202
- * INSERTING new line(s)
- 21930 '$SUBTITLE: ' FILSECCHK - New FILESEC SubRoutine for VIEW and DOWNLOADED '
- ' $PAGE
- '
- ' NAME -- FilSecChk
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZViolation$ String for type of action
- ' "Download" or "View"
- ' ZWasZ$ Path/Filename of File being checked
- '
- '
- ' OUTPUTS -- NoViolation Passed or Failed FILESEC Check
- ' (True) (False)
- '
- ' PURPOSE -- To enable FILESEC to be check for downloads and
- ' file viewing
- '
- SUB FilSecChk (ZViolation$, ZWasZ$, NoViolation) STATIC ' DGS-DS/TH
- NoViolation = ZTrue ' DGS-DS/TH
- CALL OpenWork (2,ZFileSecFile$) ' DGS-DS/TH
- IF ZErrCode = 53 THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- 21940 IF EOF(2) THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- CALL ReadParms (ZWorkAra$(),3,1) ' DGS-DS/TH
- IF ZErrCode <> 0 THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- 21950 CALL WildFile (ZWorkAra$(1),ZWasZ$,ZOK) ' DGS-DS/TH
- IF NOT ZOK THEN _ ' DGS-DS/TH
- NoViolation = ZTrue : _ ' DGS-DS/TH
- GOTO 21940 ' DGS-DS/TH
- 21960 IF ZUserSecLevel < VAL(ZWorkAra$(2)) THEN _ ' DGS-DS/TH
- GOTO 21970 ' DGS-DS/TH
- FilePswd$ = ZWorkAra$(3) ' DGS-DS/TH
- IF FilePswd$ = "" THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- CALL AllCaps (FilePswd$) ' DGS-DS/TH
- IF FilePswd$ = ZPswd$ THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- ZOutTxt$ = "Enter PASSWORD to download " + _ ' DGS-DS/TH
- ZFileName$ ' DGS-DS/TH
- ZSubParm = 1 ' DGS-DS/TH
- CALL TGet ' DGS-DS/TH
- IF ZFileSysParm > 1 THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- IF ZWasQ = 0 THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- CALL AraAllCaps (ZUserIn$(),1) ' DGS-DS/TH
- IF ZUserIn$(1) = FilePswd$ THEN _ ' DGS-DS/TH
- EXIT SUB ' DGS-DS/TH
- 21970 NoViolation = ZFalse ' DGS-DS/TH
- 21980 IF ZViolation$ = "View ARC" OR ZViolation$ = "TYPE file" THEN _' DD040101
- ZViolation$ = ZViolation$ + " " + ZFileName$ : _ ' DD040101
- Call QuickTPut1 (ZFGE$ + ZBG4$ + " Protected File! " + _ ' DD092502
- ZEmphasizeOff$) ' DD092502
- EXIT SUB ' DGS-DS/TH
- END SUB ' DGS-DS/TH
- ' ' DD040101
- 22000 SUB PersFilSecChk (ZViolation$, SearchFile$, NoViolation) STATIC ' DD040101
- CALL BreakFileName (SearchFile$,Pre$,Body$,Ext$,ZTrue) ' DD040101
- NoViolation = ZTrue ' DD040101
- FSize = 12 + 21 + ZMaxDescLen + ZPersonalLen + 1 + 2 ' DD040101
- CALL OpenRSeq (2,ZPersonalDir$,HighRec,WasX,FSize) ' DD040101
- FIELD 2, 12 AS FileName$, _ ' DD040101
- 21 + ZMaxDescLen AS FileDesc$, _ ' DD040101
- ZPersonalLen + 1 AS FilePers$, _ ' DD040101
- 2 AS FileChar$ ' DD040101
- Match = ZFalse ' DD040101
- Count = 1 ' DD040101
- WHILE NOT EOF(2) ' DD040101
- GET 2, Count ' DD040101
- IF LEFT$(FileName$,LEN(Body$+Ext$)) = Body$ + Ext$ THEN ' DD040101
- Match = ZTrue ' DD040101
- CALL CheckInt (FilePers$) ' DD040101
- IF (ZTestedIntValue > 0 AND _ ' DD040101
- ZUserSecLevel >= ZTestedIntValue) OR _ ' DD040101
- LEFT$(FilePers$,LEN(ZActiveUserName$)) = _ ' DD040101
- ZActiveUserName$ THEN ' DD040101
- NoViolation = ZTrue ' DD040101
- EXIT SUB ' DD040101
- END IF ' DD040101
- END IF ' DD040101
- Count = Count + 1 ' DD040101
- WEND ' DD040101
- 22010 IF Match = ZTrue THEN ' DD040101
- NoViolation = ZFalse ' DD040101
- IF ZViolation$ = "View ARC" OR ZViolation$ = "TYPE file" THEN _' DD040101
- ZViolation$ = ZViolation$ + " " + ZFileName$ : _ ' DD040101
- Call QuickTPut1 (ZFGE$ + ZBG4$ + " Protected File! " + _ ' DD040101
- ZEmphasizeOff$) ' DD040101
- END IF ' DD040101
- END SUB ' DD040101
- * REPLACING old line(s) by new
- 63100 ' $SUBTITLE: 'DoorReturn - Subroutine to process requests from a door'
- ' $PAGE
- '
- ' NAME -- DoorReturn
- '
- ' INPUTS -- PARAMETER MEANING
- ' DOUTx.DEF File of requests
- '
- ' OUTPUTS -- ZUserSecLevel Revised Security Level
- '
- ' PURPOSE -- To give Doors a stable way to make requests
- ' to the host.
- '
- SUB DoorReturn STATIC
- IF NOT ZExitToDoors THEN _
- EXIT SUB
- CALL OpenUser (ZHighestUserRecord)
- FIELD 5, 128 AS ZUserRecord$
- FIELD 5,31 AS ZUserName$, _
- 15 AS ZPswd$, _
- 2 AS ZSecLevel$, _
- 14 AS ZUserOption$, _
- 24 AS ZCityState$, _
- * ------[ first line different ]------
- 1 AS MachineType$, _ ' DD091401/DROP
- 1 AS ZDropTimes$, _ ' DD091401/DROP
- 1 AS ZBankTime$,_
- 4 AS ZTodayDl$, _
- 4 AS ZTodayBytes$, _
- 4 AS ZDlBytes$, _
- 4 AS ZULBytes$, _
- 14 AS ZLastDateTimeOn$, _
- 3 AS ZListNewDate$, _
- 2 AS ZUserDnlds$, _
- 2 AS ZUserUplds$, _
- 2 AS ZElapsedTime$
- ZSubParm = 6
- CALL FileLock
- GET 5,ZUserFileIndex
- ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2))
- IF ZDoorDropFile$ = CHR$(82) THEN _ 'R ' DD021301
- CALL ReadDoorSys ' DD012702
- GOSUB 63198 ' DD041006
- ZElapsedTime = CVI(MID$(ZUserRecord$,127,2))
- IF ZDoorDropFile$ = CHR$(82) THEN _ 'R ' DD021301
- ZErrCode = 0 : _ ' DD012702
- PUT 5,ZUserFileIndex ' DD012702
- ZFileName$ = "DOUT" + ZNodeID$ + ".DEF"
- CALL FindIt (ZFileName$)
- IF NOT ZOK THEN _
- GOTO 63197
- * REPLACING old line(s) by new
- 63105 IF EOF(2) THEN _
- GOTO 63195
- CALL ReadParms (ZOutTxt$(),2,1)
- IF ZErrCode > 0 THEN _
- GOTO 63115
- IF LEN(ZOutTxt$(1)) < 2 THEN _
- GOTO 63105
- * ------[ first line different ]------
- ZUserIn$ = LEFT$(ZOutTxt$(1),2) + CHR$(44) ', ' DD021301
- WasX = INSTR("SL,UR,",ZUserIn$)
- IF WasX = 0 THEN _
- GOTO 63105
- WasX = WasX\3 + 1
- ON WasX GOTO 63110,63115
- GOTO 63105
- * REPLACING old line(s) by new
- 63110 WasX$ = LEFT$(ZOutTxt$(2),1) ' ZWasSL = Security Level
- CALL CheckInt (ZOutTxt$(2))
- IF ZErrCode > 0 THEN _
- GOTO 63105
- * ------[ first line different ]------
- IF WasX$ = CHR$(43) OR WasX$ = CHR$(45) THEN _ ' DD021301
- ZWasA = ZUserSecLevel + ZTestedIntValue _
- ELSE ZWasA = ZTestedIntValue
- IF ZWasA < ZSysopSecLevel THEN _
- ZAdjustedSecurity = (ZWasA <> ZUserSecLevel) : _
- IF ZAdjustedSecurity THEN _
- ZUserSecLevel = ZWasA : _
- MID$(ZUserRecord$,47,2) = MKI$(ZWasA) : _
- CALL QuickTPut1 ("Door changed Security to " + STR$(ZWasA)) : _' DD091702
- CALL UpdtCalr ("Door reset security to "+STR$(ZWasA),2)
- GOTO 63105
- * REPLACING old line(s) by new
- 63115 IF LEN(ZOutTxt$(1)) < 7 THEN _
- GOTO 63105
- * ------[ first line different ]------
- IF MID$(ZOutTxt$(1),3,1) <> CHR$(40) THEN _ '( ' DD021301
- GOTO 63105
- WasX = INSTR(4,ZOutTxt$(1),CHR$(58)) ': ' DD021301
- IF WasX < 1 THEN _
- GOTO 63105
- CALL CheckInt (MID$(ZOutTxt$(1),4,WasX-4))
- IF ZErrCode > 0 THEN _
- GOTO 63105
- IF ZTestedIntValue > 128 OR ZTestedIntValue < 1 THEN _
- GOTO 63105
- ZWasA = ZTestedIntValue
- CALL CheckInt (MID$(ZOutTxt$(1),WasX+1))
- IF ZErrCode > 0 OR ZTestedIntValue < 1 OR ZTestedIntValue > 128 THEN _
- GOTO 63105
- MID$(ZUserRecord$,ZWasA,ZTestedIntValue) = LEFT$(ZOutTxt$(2) + _
- SPACE$(ZTestedIntValue),ZTestedIntValue)
- CALL UpdtCalr ("Door set UR"+STR$(ZWasA)+CHR$(58)+STR$(ZTestedIntValue)+" to <"+ZOutTxt$(2)+CHR$(62),2) ' DD021301
- GOTO 63105
- * REPLACING old line(s) by new
- 63195 CALL KillWork (ZFileName$)
- * ------[ first line different ]------
- GOSUB 63198 ' DD041006
- ZErrCode = 0
- PUT 5,ZUserFileIndex
- * REPLACING old line(s) by new
- 63197 ZSubParm = 8
- CALL FileLock
- * ------[ first line different ]------
- EXIT SUB ' DD041006
- * INSERTING new line(s)
- 63198 CALL SetSysOp ' DD041006
- CALL SetUserPref ' DD041006
- CALL SetUserUpDn ' DD041006
- ZGlobalsSet = ZFalse ' DD041006
- CALL SetGlobalUpDn ' DD041006
- RETURN ' DD041006
- END SUB
- * REPLACING old line(s) by new
- 63286 PatPos = PatPos + Inc
- StrPos = StrPos + Inc
- WasKT = WasKT + 1
- IF WasKT > WasL THEN _
- GOTO 63288
- ZUserIn$ = MID$(Pattern$,PatPos,1)
- * ------[ first line different ]------
- IF ZUserIn$ = CHR$(42) THEN _ '* ' DD021301
- GOTO 63289
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 63287 IF MID$(Strng$,StrPos,1) <> ZUserIn$ THEN _ ' DD032601
- ZOK = ZFalse : _
- EXIT SUB
- GOTO 63286
- * REPLACING old line(s) by new
- 63288 IF PatPos >= LEN(Pattern$) OR PatPos < 1 THEN _
- EXIT SUB
- * ------[ first line different ]------
- IF MID$(Pattern$,PatPos,1) <> CHR$(42) THEN _ '* ' DD021301
- ZOK = ZFalse : _
- EXIT SUB
- * REPLACING old line(s) by new
- 63300 ' $SUBTITLE: 'BreakFileName - sub to split file name into components'
- ' $PAGE
- '
- ' NAME -- BreakFileName
- '
- ' INPUTS -- PARAMETER MEANING
- ' FileSpec$ FULL NAME OF FILE
- ' ForJoining True IF WANT PARTS FORMATTED FOR
- ' FORMING FILE NAMES
- ' OUTPUTS -- DrvPath$ DRIVE AND PATH
- ' Prefix$ PREFIX OF FILE NAME
- ' Extension$ EXTENSION OF FILE NAME
- '
- ' (E.G. "C:\RBBS\ARCE.COM" HAS "C:\RBBS" AS DRIVE AND PATH,
- ' "ARCE" AS PREFIX OF THE FILE NAME, AND
- ' "COM" AS THE EXTENSION OF THE FILE NAME.
- '
- ' JOINED FORMAT IS C:\RBBS\,ARCE,.COM
- '
- ' PURPOSE -- To break a file name into its component parts
- ' of drive/path, prefix, and extension
- '
- '
- SUB BreakFileName (PassedFileSpec$,DrvPath$,Prefix$,Extension$,ForJoining) STATIC
- FileSpec$ = PassedFileSpec$
- CALL AllCaps (FileSpec$)
- DrvPath$ = ""
- Prefix$ = ""
- Extension$ = ""
- WasL = LEN(FileSpec$)
- IF WasL < 1 THEN _
- EXIT SUB
- * ------[ first line different ]------
- CALL FindLast (FileSpec$,CHR$(92),WasX,WasY) '\ ' DD021301
- IF WasX < 1 THEN _
- IF MID$(FileSpec$,2,1) = CHR$(58) THEN _ ': ' DD021301
- DrvPath$ = LEFT$(FileSpec$,2) : _
- ZWasS = 3 _
- ELSE ZWasS = 1 _
- ELSE DrvPath$ = LEFT$(FileSpec$,WasX) : _
- ZWasS = WasX + 1
- WasX = INSTR(ZWasS,FileSpec$ + CHR$(46),CHR$(46)) '. ' DD021301
- IF WasX < WasL THEN _
- Extension$ = MID$(FileSpec$,WasX)
- IF ZWasS <= WasL THEN _
- IF WasX >= ZWasS THEN _
- Prefix$ = MID$(FileSpec$,ZWasS,WasX - ZWasS)
- IF ForJoining THEN _
- EXIT SUB
- IF WasY > 1 THEN _
- DrvPath$ = LEFT$(DrvPath$, LEN(DrvPath$) - 1)
- IF LEN(Extension$) > 0 THEN _
- Extension$ = MID$(Extension$, 2)
- END SUB
- * REPLACING old line(s) by new
- 63320 ' $SUBTITLE: 'ShellExit - sub to shell out from RBBS'
- ' $PAGE
- '
- ' NAME -- ShellExit
- '
- ' INPUTS -- ShellTem$ String to invoke shell with
- '
- ' OUTPUTS -- none
- '
- ' PURPOSE -- Delay so that strings can finish printing. Restore comm
- ' port on return
- '
- SUB ShellExit (ShellTem$) STATIC
- * ------[ first line different ]------
- CALL DelayTime (4 + ZBPS) 'Pe 08/12/91
- IF NOT ZLocalUser THEN _
- IF ZFossil THEN _
- CALL FOSExit(ZComPort) _
- ELSE CLOSE 3 : _
- OUT ZModemCntlReg,INP(ZModemCntlReg) OR 1
- IF ZFunctionKey <> 2 THEN ' DD051301
- CLOSE 2 ' DD041005
- END IF ' DD041005
- CALL MetaGSR (ShellTem$,ZFalse)
- SHELL ShellTem$
- IF ZFossil THEN _
- IF NOT ZLocalUser THEN _
- CALL FOSinit(ZComPort,Result) : _
- IF Result = -1 THEN _
- CALL PScrn("ERROR INIT FOSSIL AFT EXTERNAL") : _
- SYSTEM
- CALL DelayTime (2)
- CALL RestoreCom
- END SUB
- * REPLACING old line(s) by new
- 63330 ' $SUBTITLE: 'ReadMacro - sub to read macro'
- ' $PAGE
- '
- ' NAME -- ReadMacro
- '
- ' INPUTS -- PARAMETER MEANING
- '
- ' OUTPUTS -- ZOutTxt$ LINE TO PROCESS IN MACRO
- ' ZMacroActive FLAG WHETHER IN A MACRO
- '
- ' PURPOSE -- Reads in a line from macro file (#6) and processes
- ' macro commands, which are:
- ' *0 - display what follows, no carriage return
- ' *1 - display what follows with carriage return
- ' *B - display block that follows
- ' *F - display File
- * ------[ first line different ]------
- ' GF - display Graphics version of a file 'Pe050501
- ' WT - wait specified # of seconds
- ' >> - append following block to specified file
- ' ST - stack following (with carriage return)
- ' ON - define case
- ' == - case value that applies to following block
- ' M! - execute following macro
- ' M@ - abort macro processing
- ' EY - Echo on (yes)
- ' EN - Echo off (no)
- ' /* - comment line skipped in processing
- ' TK - Turbo key on (if user preference)
- ' << - Read from file into a form
- ' := - Assign value to work variable
- ' LO - Set the location of a file
- '
- SUB ReadMacro STATIC
- IF ZMacroTemplate$ <> "" THEN _
- GOTO 63392
- IF ZDistantTGet = 2 THEN _
- GOTO 63349
- * REPLACING old line(s) by new
- 63336 GOSUB 63395
- IF NOT ZMacroActive THEN _
- ZMacroEcho = ZTrue : _
- EXIT SUB
- IF CompareVar > 0 THEN _
- IF NOT CaseExecute THEN _
- * ------[ first line different ]------
- IF LEFT$(ZOutTxt$,3) = ZSmartTextCode$+STRING$(2,61) THEN _ ' DD021301
- WasX$ = RIGHT$(ZOutTxt$,LEN(ZOutTxt$)-3) : _
- GOTO 63370 _
- ELSE IF LEFT$(ZOutTxt$,7) = ZSmartTextCode$ + "END ON" THEN _
- CompareVar = 0 : _
- GOTO 63336 _
- ELSE GOTO 63336
- IF LEN(ZOutTxt$) < 3 THEN _
- GOTO 63398
- WasX$ = RIGHT$(ZOutTxt$,LEN(ZOutTxt$)-3)
- IF LEFT$(ZOutTxt$,1) <> ZSmartTextCode$ THEN _
- GOTO 63398
- CALL CheckInt (MID$(ZOutTxt$,2))
- IF ZErrCode > 0 THEN _
- GOTO 63398
- IF ZTestedIntValue > 0 AND ZTestedIntValue <= ZMaxWorkVar THEN _
- ZOutTxt$ = WasX$ : _ ' Macro command ask
- ZForceKeyboard = ZTrue : _
- ZMacroSave = ZTestedIntValue : _
- ZLinesPrinted = 1 : _
- ZNonStop = (ZPageLength < 1) : _
- EXIT SUB
- ON (1+INSTR("*0*1*B*FGFWT>>STON==M!M@EYEN/*TK<<:=LVNVCVLO",MID$(ZOutTxt$,2,2)))\2 GOTO _ 'Pe050501
- 63345, _ ' Display with no Carriage Return
- 63347, _ ' Display with Carriage Return
- 63340, _ ' Display Block
- 63348, _ ' Display File
- 63361, _ ' Display Graphics File 'Pe050501
- 63343, _ ' Wait # of seconds
- 63350, _ ' Append to file
- 63355, _ ' Stack
- 63360, _ ' Case
- 63370, _ ' Case Comparison
- 63375, _ ' Macro execute
- 63380, _ ' Macro Abort
- 63383, _ ' Macro Echo on
- 63385, _ ' Macro Echo off
- 63336, _ ' Macro Comment
- 63387, _ ' Turbo Key allowed
- 63390, _ ' Form read
- 63362, _ ' Assign value to work var
- 63363, _ ' LV list verify
- 63364, _ ' NV number verify
- 63364, _ ' CV character verify
- 63367 ' LO assign file location
- GOTO 63398
- * REPLACING old line(s) by new
- 63350 ZWasEN$ = WasX$ ' Append to file
- WasX = INSTR(ZWasEN$," /FL")
- OverStrike = (WasX > 0)
- IF OverStrike THEN _
- ZWasEN$ = LEFT$(ZWasEN$,WasX-1) + RIGHT$(ZWasEN$,LEN(ZWasEN$)-WasX-3)
- CALL Trim (ZWasEN$)
- CALL LockAppend
- IF ZErrCode > 0 THEN _
- GOTO 63352
- GOSUB 63395
- WasX$ = ZSmartTextCode$ + "END"
- WHILE ZMacroActive AND LEFT$(ZOutTxt$,4) <> WasX$
- * ------[ first line different ]------
- CALL PrintWorkA (2,ZOutTxt$) ' DD040601
- GOSUB 63395
- WEND
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 63355 CALL GlobalSrchRepl (WasX$,"|",ZCarriageReturn$,ZTrue) ' KG011201
- ZCommPortStack$ = ZCommPortStack$ + WasX$ + ZCarriageReturn$ ' STack
- GOTO 63336
- * INSERTING new line(s)
- 63361 CALL Trim (WasX$) 'Pe050501
- Call Graphic (WasX$) 'Pe050501
- Call BufFile (WasX$,WasX) 'Pe050501
- GOTO 63336 'Pe050501
- * REPLACING old line(s) by new
- 63362 CALL Trim (WasX$)
- CALL CheckInt (WasX$)
- * ------[ first line different ]------
- WasX = INSTR(WasX$,SPACE$(1)) ' DD021301
- IF WasX > 0 AND ZTestedIntValue > 0 AND ZTestedIntValue <= ZMaxWorkVar THEN _
- ZGSRAra$(ZTestedIntValue) = RIGHT$(WasX$,LEN(WasX$)-WasX)
- GOTO 63336
- * REPLACING old line(s) by new
- 63364 CALL Trim (WasX$)
- * ------[ first line different ]------
- WasX = INSTR(WasX$,SPACE$(1)) ' DD021301
- IF WasX = 0 THEN _
- GOTO 63336
- ZVerifyLow$ = LEFT$(WasX$,WasX-1)
- ZVerifyHigh$ = RIGHT$(WasX$,LEN(WasX$)-WasX)
- CALL Trim (ZVerifyLow$)
- CALL Trim (ZVerifyHigh$)
- ZVerifyNumeric = (MID$(ZOutTxt$,2,1) = CHR$(78)) 'N ' DD021301
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 63396 CALL SmartText (ZOutTxt$,ZFalse, OverStrike,ZFalse) 'Pe 02/06/93
- CALL MetaGSR (ZOutTxt$,OverStrike)
- RETURN
- * REPLACING old line(s) by new
- 63400 ' $SUBTITLE: 'LockAppend - prepares for file append'
- ' $PAGE
- '
- ' NAME -- LockAppend
- '
- ' INPUTS -- ZWasEN$ Name of file to append to
- '
- ' OUTPUTS -- none
- '
- ' PURPOSE -- Locks and opens file to append to
- '
- SUB LockAppend STATIC
- * ------[ first line different ]------
- IF ZNetWorkType <> 0 THEN _ 'Pe 04/04/92
- WasBX = &H4 : _ 'Pe 03/16/92
- ZSubParm = 9 : _ 'Pe 03/16/92
- CALL FileLock
- ZErrCode = 0
- CALL OpenWorkA (2,ZWasEN$) ' DD040601
- END SUB
- * REPLACING old line(s) by new
- 63410 ' $SUBTITLE: 'UnLockAppend - cleans up after file append'
- ' $PAGE
- '
- ' NAME -- UnLockAppend
- '
- ' INPUTS -- none
- '
- ' OUTPUTS -- none
- '
- ' PURPOSE -- Unlocks and close file appending to
- '
- SUB UnLockAppend STATIC
- * ------[ first line different ]------
- IF ZNetWorkType <> 0 THEN _ 'Pe 04/04/92
- WasBX = &H4 : _ 'Pe 03/16/92
- ZSubParm = 10 : _ 'Pe 03/16/92
- CALL FileLock
- CLOSE 2
- END SUB
- * REPLACING old line(s) by new
- 63422 IF EOF(2) OR ZNo OR (ZErrCode > 0) OR (ZSubParm < 0) THEN _
- Template$ = "" : _
- EXIT SUB
- IF FixedLength THEN _
- CALL ReadDir (2,1) : _
- ZGSRAra$(1) = ZOutTxt$ _
- ELSE CALL ReadParms (ZGSRAra$(),DataVar,1)
- WasX$ = Template$
- * ------[ first line different ]------
- CALL SmartText (WasX$,ZTrue,OverStrike,ZFalse) ' Pe 02/06/93
- CALL MetaGSR (WasX$,OverStrike)
- CALL BufAsUnit (WasX$)
- IF RecPause OR (ZPageLength > 0 AND (ZLinesPrinted >= ZPageLength-1)) THEN _
- CALL PauseExit : _
- EXIT SUB
- GOTO 63422
- END SUB
- * REPLACING old line(s) by new
- 63465 ' Forces a keyboard pause inside a macro
- SUB PauseExit STATIC
- ZSubParm = 4
- ZTurboKey = -ZTurboKeyUser
- * ------[ first line different ]------
- ZOutTxt$ = ZMorePrompt$ + LEFT$(CHR$(62),-1*ZExpertUser) + MID$("? : ",2*ZTurboKey+1,2) ' DD021301
- ZForceKeyboard = ZTrue
- ZNoAdvance = ZTrue
- CALL TPut
- ZLinesPrinted = 0
- ZUserIn$ = ""
- END SUB
- * REPLACING old line(s) by new
- 63470 ' $SUBTITLE: 'SetPrompt - sub to set prompts based on user security'
- ' $PAGE
- '
- ' NAME -- SetPrompt
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZBegMain POSITION START OF MAIN CMDS
- ' ZBegFile POSITION START OF FILE CMDS
- ' ZBegUtil POSITION START OF UTIL CMDS
- ' ZBegLibrary POSITION START OF Library CMDS
- '
- ' OUTPUTS -- PRESENT.OPTS$ DISPLAY WHAT USER CAN DO (1st)
- ' CALLERS.OPTS$ DISPLAY WHAT USER CAN DO (2nd)
- ' ZMainOpts$ MAIN OPTS USER CAN DO
- ' ZFileOpts$ FILE OPTS USER CAN DO
- ' ZUtilOpts$ UTIL OPTS USER CAN DO
- ' ZLibOpts$ Library OPTS USER CAN DO
- '
- ' PURPOSE -- Sets command line display of what user can do by
- ' section and display of what all user can do
- '
- SUB SetPrompt STATIC
- First = ZBegMain
- Last = ZBegFile - 1
- CALL SetOpts (ZMainOpts$,ZInvalidMainOpts$,First,Last)
- First = ZBegFile
- Last = ZBegUtil - 1
- CALL SetOpts (ZFileOpts$,ZInvalidFileOpts$,First,Last)
- First = ZBegUtil
- Last = ZBegLibrary - 1
- CALL SetOpts (ZUtilOpts$,ZInvalidUtilOpts$,First,Last)
- * ------[ first line different ]------
- IF ZTempMaxBank <= 0 THEN ' DD032902
- IF INSTR(ZUtilOpts$,MID$(ZUtilCmds$,1,1)) AND _ ' DD032902
- NOT INSTR(ZInvalidUtilOpts$,MID$(ZUtilCmds$,1,1)) THEN ' DD032902
- ZInvalidUtilOpts$ = ZInvalidUtilOpts$ + _ ' DD032902
- MID$(ZUtilCmds$,1,1) ' DD032902
- CALL Remove (ZUtilOpts$,MID$(ZUtilCmds$,1,1)) ' DD032902
- END IF ' DD032902
- END IF ' DD032902
- First = ZBegLibrary
- Last = ZBegLibrary + 6
- CALL SetOpts (ZLibOpts$,ZInvalidLibraryOpts$,First,Last)
- First = 50
- Last = 57 ' DD020602/SFILE
- CALL SetOpts (SysOpt$,ZInvalidSysOpts$,First,Last)
- First = 46
- Last = 49
- CALL SetOpts (GlobalOpts$,InvalidGlobalOpts$,First,Last)
- IF LEN(SysOpt$) > 0 THEN _
- ZSystemOpts$ = "Sysop: " + _
- SysOpt$
- ZMainOpts$ = GlobalOpts$ + ZMainOpts$ ' DD092402/GOODBYE
- ' MID$(ZAllOpts$,INSTR(ZOrigCommands$,CHR$(71)),1) ' DD021301/GOODBYE
- ZFileOpts$ = GlobalOpts$ + _
- ZFileOpts$
- ZUtilOpts$ = GlobalOpts$ + _
- ZUtilOpts$
- ZLibOpts$ = GlobalOpts$ + _
- ZLibOpts$
- CALL SortString (SysOpt$)
- CALL SortString (ZMainOpts$)
- ZMainOpts$ = ZMainOpts$ + _
- SysOpt$
- CALL SortString (ZFileOpts$)
- CALL SortString (ZUtilOpts$)
- CALL SortString (ZLibOpts$)
- CALL AddCommas (ZMainOpts$)
- CALL AddCommas (ZFileOpts$)
- CALL AddCommas (ZUtilOpts$)
- CALL AddCommas (ZLibOpts$)
- ZDirPrompt$ = ZEmphasizeOff$ + "What directory(s) (" + _ ' DD082102
- MID$("U)pload,A)ll,P)ers,L)ist,E)xtended +/-, [Q]uit)",8 * (ZUserSecLevel => ZMinSecToView) + 9)
- ZQuitPromptExpert$ = "QUIT [C],S, or to F,M,U" ' DD070502
- ZQuitPromptNovice$ = "QUIT [C]onference, S)ession or to " + _ ' DD070502
- "section F)ile, M)ain, U)til" ' DD070502
- ZQuitList$ = "FMUS@C"
- IF ZUserSecLevel < ZOptSec(18) THEN _
- ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,25) : _ ' DD070502
- ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,61) : _
- MID$(ZQuitList$,5) = SPACE$(1) ' DD021301
- IF ZUserSecLevel < ZOptSec(15) THEN _
- ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,24) + _ ' DD072502
- MID$(ZQuitPromptExpert$,27) : _ ' DD072502
- ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,56) + _
- MID$(ZQuitPromptNovice$,63) : _
- MID$(ZQuitList$,3,1) = SPACE$(1) ' DD021301
- IF ZUserSecLevel < ZOptSec(6) THEN _
- ZQuitPromptExpert$ = LEFT$(ZQuitPromptExpert$,18) + _ ' DD070502
- MID$(ZQuitPromptExpert$,21) : _ ' DD070502
- ZQuitPromptNovice$ = LEFT$(ZQuitPromptNovice$,41) + _
- MID$(ZQuitPromptNovice$,49) : _
- MID$(ZQuitList$,1,1) = SPACE$(1) ' DD021301
- CALL SetSection
- END SUB
- * REPLACING old line(s) by new
- 63520 ' $SUBTITLE: 'BinSearch - binary search a file'
- ' $PAGE
- '
- ' NAME -- BinSearch
- ' MEANING
- ' INPUTS -- PassedSearchFor$ Value you are looking for
- ' StartPos Starting position of sort key
- ' NumChars # of characters in sort key
- ' LenRec Length of record of data file searching
- ' High Record # of last record
- ' ZFastTabs$ In a binary integer subfield (2 bytes)
- ' holds 1st record when might find
- ' a key beginning with a particular
- ' character (0-9,A-Z). Empty if
- ' no Fast Tab exists for the file.
- * ------[ first line different ]------
- ' FileNum FileNumber ' DD031702
- '
- ' OUTPUTS -- RecFoundAt Record # value found at (0 if none)
- ' RecFound$ Full data record when found
- '
- ' PURPOSE -- Binary searches work file #2 for a key value in a
- ' data file that is sorted on a key field
- '
- SUB BinSearch (FileNum, PassedSearchFor$,StartPos, NumChars, LenRec, High, RecFoundAt, RecFound$) STATIC ' DD031702
- SearchFor$ = LEFT$(PassedSearchFor$,NumChars)
- SearchFor$ = SearchFor$ + SPACE$(NumChars-LEN(SearchFor$))
- FIELD #FileNum, LenRec AS SearchRec$ ' DD031702
- Low = 0
- IF LEN(ZFastTabs$) < 72 THEN _
- GOTO 63522
- WasX$ = LEFT$(SearchFor$,1)
- WasX = INSTR("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",WasX$)
- IF WasX > 0 THEN _
- Low = CVI(MID$(ZFastTabs$,1+2*(WasX-1),2)) - 1 : _
- IF WasX < 36 THEN _
- High = CVI(MID$(ZFastTabs$,1+2*WasX,2))
- * REPLACING old line(s) by new
- 63522 RecFoundAt = 0
- IF High < 1 THEN _
- EXIT SUB
- WasX$ = SPACE$ (NumChars)
- Done = ZFalse
- WHILE NOT Done
- WasI = INT(((High/2) + (Low/2)) + .5)
- * ------[ first line different ]------
- GET FileNum, WasI ' DD031702
- LSET WasX$ = MID$(SearchRec$, StartPos, NumChars)
- IF WasX$ = SearchFor$ THEN _
- RecFound$ = SearchRec$: _
- RecFoundAt = WasI : _
- Done = ZTrue _
- ELSE IF (High - Low) < 2 THEN _
- Done = ZTrue _
- ELSE IF WasX$ < SearchFor$ THEN _
- Low = WasI _
- ELSE IF WasX$ > SearchFor$ THEN _
- High = WasI
- WEND
- END SUB
- * REPLACING old line(s) by new
- 63540 ' Match Name to one in message file
- SUB ChkMsgName (MsgFromCaller,MsgToCaller) STATIC
- * ------[ first line different ]------
- IF ZNewUserDGS THEN _ 'DGS-NEW
- CALL MsgNameMatch ("NEWUSER",ZActiveUserName$,6,MsgFromCaller) : _'DGS-NEW
- CALL MsgNameMatch ("NEWUSER",ZActiveUserName$,37,MsgToCaller) : _'DGS-NEW
- EXIT SUB ' Mpl090202
- IF NOT ZRemoteSysop THEN _
- WasX$ = LEFT$("SYSOP",-5*ZSysop) : _
- CALL MsgNameMatch (ZOrigUserName$,ZActiveUserName$,6,MsgFromCaller) : _'Dgs-ALSMod
- CALL MsgNameMatch (ZOrigUserName$,ZActiveUserName$,37,MsgToCaller) : _'Dgs-ALSMod
- EXIT SUB
- CALL MsgNameMatch ("SYSOP",ZSysopFullName$,6,MsgFromCaller)
- IF NOT MsgFromCaller THEN _
- CALL MsgNameMatch (ZOrigUserName$,"",6,MsgFromCaller)
- CALL MsgNameMatch ("SYSOP",ZSysopFullName$,37,MsgToCaller)
- IF NOT MsgToCaller THEN _
- CALL MsgNameMatch (ZOrigUserName$,"",37,MsgToCaller)
- END SUB
- SUB MsgNameMatch (PrimeName$,AltName$,SearchPos,Found) STATIC
- WasX$ = LEFT$(PrimeName$+SPACE$(2),22-8*(SearchPos < 7)) ' DD021301
- GOSUB 63542
- IF Found OR AltName$ = "" THEN _
- EXIT SUB
- WasX$ = LEFT$(AltName$ + SPACE$(2),22-8*(SearchPos < 7)) ' DD021301
- GOSUB 63542
- EXIT SUB
- * REPLACING old line(s) by new
- 63542 WasY$ = MID$(ZMsgRec$,SearchPos,LEN(WasX$))
- * ------[ first line different ]------
- CALL SmartText(WasY$,ZFalse, OverStrike,ZFalse) 'Pe 02/05/93
- CALL AllCaps(WasY$) 'SM091908
- WasY$ = LEFT$(WasY$,LEN(WasX$)) 'SM091908
- ZWasDF = INSTR(WasY$,CHR$(64)) '@ ' DD021301
- IF ZWasDF > 0 THEN _
- MID$(WasY$,ZWasDF) = SPACE$(6) ' DD021301
- Found = (WasY$ = WasX$)
- RETURN
- END SUB
- * REPLACING old line(s) by new
- 63550 ' Check whether message record is a msg header record
- SUB ChkIfMsgHeader STATIC
- ZOK = ZFalse
- * ------[ first line different ]------
- IF MID$(ZMsgRec$,70,1) = CHR$(45) AND MID$(ZMsgRec$,73,1) = CHR$(45) THEN _ ' DD021301
- WasY = ASC(MID$(ZMsgRec$,116,1)) : _
- IF WasY > 224 AND WasY < 227 THEN _
- ZOK = ZTrue
- END SUB
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 63572 ZOutTxt$ = "Time Extension reduced to"+ STR$(TimeToAdd) + _ ' DD060101
- " due to " + ZOutTxt$ + " Event" : _
- CALL RingCaller
- CALL SkipLine (1) ' DD050704
- END SUB
- * REPLACING old line(s) by new
- 63580 ' Displays user record
- SUB DispUserRec (ToPrint) STATIC
- ZOK = ZFalse
- WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)
- * ------[ first line different ]------
- IF ASC(WasX$) = 0 OR LEFT$(WasX$,3) = SPACE$(3) THEN _ ' DD021301
- EXIT SUB
- WasOF = CVI(ZSecLevel$)
- IF WasOF > ZUserSecLevel THEN _
- IF NOT ZGlobalSysop THEN _
- EXIT SUB
- IF NOT ToPrint THEN ' DD062202
- CALL ANSISysop5 ' DD062202
- EXIT SUB ' DD062202
- END IF ' DD062202
- IF ToPrint AND NOT ZPrinter THEN _ ' DD122902
- ZPrinterSave = ZPrinter : _ ' DD122902
- ZPrinter = ZTrue : _ ' DD122902
- CALL Line25 ' DD122902
- ZOutTxt$ = ZCRLf$ + "Record......" + STR$(LOC(5)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Name........ " + ZUserName$ + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "From........ " + ZCityState$ + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "SL.........." + STR$(WasOF) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Password.... " + ZPswd$ + ZCRLf$ ' DD062202
- IF WasOF < ZOrigMainSec THEN ' DD062202
- ZOutTxt$ = ZOutTxt$ + "<Locked out>" + ZCRLf$ ' DD062202
- ELSEIF WasOF >= ZSysopSecLevel THEN ' DD062202
- ZOutTxt$ = ZOutTxt$ + "(SysOp)" + ZCRLf$ ' DD062202
- END IF ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Last On..... " + ZLastDateTimeOn$ + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "DownLoads..." + STR$(CVI(ZUserDnlds$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Uploads....." + STR$(CVI(ZUserUplds$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Times On...." + STR$(CVI(MID$(ZUserOption$,1,2))) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Time Used..." + STR$(CVI(ZElapsedTime$)) + " Mins" + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Time Banked." + STR$(ASC(ZBankTime$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Carriers...." + STR$(ASC(ZDropTimes$)) + ZCRLf$ ' DD062202
- IF NOT ZEnforceRatios THEN _
- GOTO 63581
- ZOutTxt$ = ZOutTxt$ + "DL Bytes...." + STR$(CVS(ZDlBytes$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "UL Bytes...." + STR$(CVS(ZULBytes$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "DL Today...." + STR$(CVS(ZTodayDl$)) + ZCRLf$ ' DD062202
- ZOutTxt$ = ZOutTxt$ + "Bytes Today." + STR$(CVS(ZTodayBytes$)) + ZCRLf$ ' DD062202
- GOSUB 63583
- * REPLACING old line(s) by new
- 63581 IF (ZStartIndiv = 0 OR ZLenIndiv = 0) AND _
- (ZStartHash = 0 OR ZLenHash = 0) AND _
- NOT ZRestrictByDate THEN _
- GOTO 63582
- IF (ZStartHash > 1 AND ZLenHash > 0) THEN _
- ZOutTxt$ = "Hash: " + MID$(ZUserRecord$,ZStartHash,ZLenHash) _
- ELSE ZOutTxt$ = ""
- IF (ZStartIndiv > 1 AND ZLenIndiv > 0) THEN _
- ZOutTxt$ = ZOutTxt$ + " Indiv: " + MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv)
- IF ZRestrictByDate THEN _
- CALL SetRegDisplay : _
- * ------[ first line different ]------
- ZOutTxt$ = ZOutTxt$ + "Registered.. " + _ ' DD062202
- ZRegDisplayDate$
- GOSUB 63583
- * REPLACING old line(s) by new
- 63582 ZOK = ZTrue
- * ------[ first line different ]------
- ZPrinter = ZPrinterSave ' DD122902
- CALL Line25 ' DD122902
- EXIT SUB
- * REPLACING old line(s) by new
- 63583 IF ToPrint THEN _
- CALL Printit (ZOutTxt$)
- * ------[ first line different ]------
- ' CALL QuickTPut1 (ZOutTxt$) ' DD062202
- RETURN
- END SUB
- * REPLACING old line(s) by new
- 63585 ' * CALCULATE REGISTRATION DATES
- ' checks proposed new registration date
- SUB ResetRegDate (WorkDate$) STATIC ' Formerly 11470
- IF LEN(WorkDate$) < 10 THEN _
- WorkDate$ = LEFT$(WorkDate$,6) + _
- "19" + _
- RIGHT$(WorkDate$,2)
- ZTodayRegYY = VAL(MID$(WorkDate$,7))
- ZTodayRegMM = VAL(LEFT$(WorkDate$,2))
- ZTodayRegDD = VAL(MID$(WorkDate$,4,2))
- ZOK = ZTodayRegYY > 1979 AND ZTodayRegMM > 0 AND _
- ZTodayRegMM < 13 AND ZTodayRegDD > 0 AND _
- ZTodayRegDD < 32
- IF ZOK THEN _
- CALL TwoByteDate (ZTodayRegYY,ZTodayRegMM,ZTodayRegDD,ZRegDate$)
- END SUB
- ' Sets display of registration date
- SUB SetRegDisplay STATIC ' Formerly 11480
- WasX$ = MID$(ZUserOption$,11,2)
- IF CVI(WasX$) <> 0 THEN _
- ZRegDate$ = WasX$ : _
- ELSE CALL RegToCurrent
- CALL UnPackDate (ZRegDate$,ZUserRegYY,ZUserRegMM,ZUserRegDD,ZRegDisplayDate$)
- IF CVI(WasX$) = 0 THEN _
- * ------[ first line different ]------
- ZRegDisplayDate$ = STRING$(2,48) + CHR$(45) + _ ' DD021301
- STRING$(2,48) + CHR$(45) + _ ' DD021301
- STRING$(2,48) ' DD021301
- END SUB
- ' Sets registration date to current date
- SUB RegToCurrent STATIC ' Formerly 11482
- WorkDate$ = DATE$
- CALL ResetRegDate (WorkDate$)
- END SUB
- * REPLACING old line(s) by new
- 63592 IF Showcur THEN _
- * ------[ first line different ]------
- CALL QuickTPut (ZFG9$ + "Change ",0) : _ ' DD030104
- CALL QuickTPut (ZFGB$ + Txt$,0) : _ ' DD030104
- CALL QuickTPut (ZFG9$ + " from ",0) : _ ' DD030104
- CALL QuickTPut (ZFGB$ + LTRIM$(STR$(CurVal)),0) : _ ' DD030104
- CALL QuickTPut (ZFG9$ + " to",0) _ ' DD030104
- ELSE CALL QuickTPut (ZFGB$ + Txt$,0) ' DD030104
- CALL QuickTPut (ZEmphasizeOff$ + " (",0) ' DD030104
- CALL QuickTPut (ZFGB$ + LTRIM$(STR$(MinVal)),0) ' DD030104
- CALL QuickTPut (ZEmphasizeOff$ + " - ",0) ' DD030104
- CALL QuickTPut (ZFGB$ + LTRIM$(STR$(MaxVal)) + ZEmphasizeOff$,0) ' DD030104
- ZOutTxt$ = ", [Q]uit)"
- * REPLACING old line(s) by new
- 63594 CALL PopCmdStack
- Temp$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps (Temp$)
- CALL Trim (Temp$)
- * ------[ first line different ]------
- IF ZSubParm > -1 AND Temp$ <> CHR$(81) AND ZWasQ <> 0 THEN _ ' DD021301
- GOTO 63595
- ZWasQ = 0
- IF ShowCur THEN _
- CALL QuickTPut1 (ZFGB$ + Txt$ + ZFG9$ + _ ' DD030104
- " Unchanged" + ZEmphasizeOff$) ' DD030104
- EXIT SUB
- * REPLACING old line(s) by new
- 63595 CALL CheckInt (Temp$)
- IF ZTestedIntValue < MinVal OR ZTestedIntValue > MaxVal THEN _
- ZLastIndex = 0 : _
- * ------[ first line different ]------
- CALL QuickTPut1 (ZFG9$ + "Min " + ZFGB$ + _ ' DD030104
- LTRIM$(STR$(MinVal)) + _ ' DD030104
- ZFG9$ + ", Max " + ZFGB$ + _ ' DD030104
- LTRIM$(STR$(MaxVal)) + _ ' DD030104
- ZEmphasizeOff$) : _ ' DD030104
- GOTO 63592 ' DD030104
- IF ShowCur THEN _ ' DD030104
- CALL QuickTPut1 (ZFGB$ + Txt$ + ZFG9$ + " Set to " + _ ' DD030104
- ZFGB$ + LTRIM$(STR$(ZTestedIntValue)) + _ ' DD030104
- ZEmphasizeOff$) ' DD030104
- END SUB
- * REPLACING old line(s) by new
- 63600 ' MarkItems - Converts a list of items ZUserIn$(), items ZAnsIndex
- ' thru ZLastIndex, into a marked list MarkedList$.
- '
- * ------[ first line different ]------
- ' - Verifies that marked items are available ' DD031701
- '
- ' Major Revisions by Dan 'Grouch' Drinnon ' DD031701
- SUB MarkItems (IsMarking,MarkedList$,MarkedDesc$) STATIC
- IF NOT IsMarking THEN _
- EXIT SUB
- IF ZFileSysParm < 1 THEN ' DD031701
- FOR Temp = ZAnsIndex to ZLastIndex ' DD031701
- MarkedList$ = MarkedList$ + ZUserIn$(Temp) + ZCarriageReturn$ ' DD031701
- NEXT ' DD031701
- GOTO 63602 ' DD031701
- END IF ' DD031701
- BeginDir = ZAnsIndex ' DD031701
- EndDir = ZLastIndex ' DD031701
- LineToRead = 1 ' DD050101
- FOR Temp = BeginDir to EndDir ' DD031701
- ZWorkAra$(Temp) = UCASE$(ZUserIn$(Temp)) ' DD031701
- Next Temp ' DD031701
- FOR Temp = BeginDir to EndDir ' DD031701
- Dot = INSTR(ZWorkAra$(Temp),CHR$(46)) ' DD031701
- * INSERTING new line(s)
- 63601 IF ZPersonalDnld THEN ' DD032002
- CALL FindFile (ZPersonalDrvPath$ + ZWorkAra$(Temp),ZOK) ' DD032002
- ELSE ' DD032002
- FOR Count = 1 TO ZSubDirCount ' DD031701
- CALL FindFile (ZSubDir$(Count) + ZWorkAra$(Temp),ZOK) ' DD031701
- IF ZOK THEN ' DD032002
- EXIT FOR ' DD032002
- END IF ' DD032002
- NEXT Count ' DD032002
- END IF ' DD032002
- IF ZOK THEN ' DD031701
- MarkedList$ = MarkedList$ + ZWorkAra$(Temp) + ZCarriageReturn$ ' DD031701
- END IF ' DD031701
-
- IF NOT ZOK AND ZFastFileSearch THEN ' DD031701
- CALL BreakFileName (ZFastFileList$,Drive$,Body$,Ext$,ZTrue) ' DD050101
- FIDXList$ = Drive$ + Body$ + ".LST" ' DD050101
- CALL FindFile (FIDXList$,UseList) ' DD050101
- IF UseList THEN ' DD050101
- CALL OpenWork (11,FIDXList$) ' DD050101
- IF ZErrCode = 0 THEN ' DD050101
- DO ' DD050101
- CALL ReadParmsX (11,ZOutTxt$(),4,LineToRead) ' DD050101
- IF ZErrCode <> 0 AND ZOutTxt$(1) = "" THEN ' DD050101
- EXIT DO ' DD050101
- END IF ' DD050101
- LineToRead = LineToRead + 1 ' DD050101
- TFastFileList$ = UCASE$(ZOutTxt$(1)) ' DD050101
- GOSUB 63603 ' DD050101
- IF ZOK THEN ' DD050101
- CLOSE 11 ' DD050101
- EXIT DO ' DD080101
- END IF ' DD050101
- ZOutTxt$(1) = "" ' DD050101
- LOOP WHILE NOT EOF(11) ' DD050101
- CLOSE 11 ' DD050101
- END IF ' DD050101
- ELSE ' DD050101
- TFastFileList$ = ZFastFileList$ ' DD050101
- GOSUB 63603 ' DD050101
- END IF ' DD050101
- END IF ' DD031701
- ' DD050101
- IF NOT ZOK AND NOT Dot THEN ' DD031701
- ZWorkAra$(Temp) = ZWorkAra$(Temp) + _ ' DD031701
- CHR$(46) + ZDefaultExtension$ ' DD031701
- Dot = ZTrue ' DD031701
- LineToRead = 1 ' DD050101
- GOTO 63601 ' DD031701
- END IF ' DD031701
- IF NOT ZOK THEN ' DD031701
- CALL WipeLine (79) ' DD031701
- ZOutTxt$ = UCASE$(ZUserIn$(Temp)) + " not found!" + _ ' DD041701
- " Correct Name? " + ZPressEnterExpert$ ' DD031701
- ZSubParm = 1 ' DD031701
- CALL TGet ' DD031701
- IF ZSubParm < 0 THEN ' DD031701
- ZFileSysParm = 2 ' DD031701
- EXIT SUB ' DD031701
- END IF ' DD031701
- IF ZWasQ <> 0 THEN ' DD031701
- ZWorkAra$(Temp) = UCASE$(ZUserIn$(ZAnsIndex)) ' DD031701
- LineToRead = 1 ' DD050101
- GOTO 63601 ' DD031701
- END IF ' DD031701
- CALL WipeLine (79) ' DD031701
- END IF ' DD031701
- NEXT Temp ' DD031701
- 63602 CALL ReportMarked (MarkedList$,MarkedDesc$) ' DD031701
- EXIT SUB ' DD050101
- 63603 FSize = 21 ' DD050101
- CALL OpenRSeq (7,TFastFileList$,HighRec,WasX,21) ' DD050101
- FIELD #7, 12 AS SearchFile$, _ ' DD050101
- 4 AS SearchPath$, _ ' DD050101
- 3 AS SearchDate$, _ ' DD050101
- 2 AS SearchCrLf$ ' DD050101
- GET 7,1 ' DD050101
- IF SearchCrLf$ <> ZCRLf$ THEN ' DD050101
- FSize = 18 ' DD050101
- CALL OpenRSeq (7,TFastFileList$,HighRec,WasX,18) ' DD050101
- FIELD #7, 12 AS SearchFile$, _ ' DD050101
- 4 AS SearchPath$, _ ' DD050101
- 2 AS SearchCrLf$ ' DD050101
- END IF ' DD050101
- IF ZErrCode <> 0 THEN ' DD050101
- ZOK = ZFalse ' DD050101
- END IF ' DD050101
- HoldFastTabs$ = ZFastTabs$ ' DD050101
- IF TFastFileList$ <> ZFastFileList$ THEN ' DD050101
- CALL BreakFileName (TFastFileList$,Pre$,Body$,Ext$,ZTrue) ' DD050101
- FastTabFile$ = Pre$ + Body$ + "T" + Ext$ ' DD050101
- CALL FindFile (FastTabFile$,UseTabs) ' DD050101
- IF UseTabs THEN ' DD050101
- CALL OpenRSeq (12,FastTabFile$, WasX, WasY, 72) ' DD050101
- FIELD 12, 72 AS TabRec$ ' DD050101
- GET 12, 1 ' DD050101
- ZFastTabs$ = TabRec$ ' DD050101
- CLOSE 12 ' DD050101
- ELSE ' DD050101
- ZFastTabs$ = "" ' DD050101
- END IF ' DD050101
- END IF ' DD050101
- CALL TrimTrail (ZWorkAra$(Temp),CHR$(46)) ' DD050101
- CALL BinSearch (7,ZWorkAra$(Temp),1,12,FSize,HighRec,RecFoundAt,RecFound$) ' DD050101
- ZOK = (RecFoundAt > 0) ' DD050101
- IF ZOK THEN ' DD050101
- MarkedList$ = MarkedList$ + ZWorkAra$(Temp) + ZCarriageReturn$ ' DD050101
- END IF ' DD050101
- ZFastTabs$ = HoldFastTabs$ ' DD050101
- RETURN ' DD050101
- END SUB
- SUB ReportMarked (MarkedList$,ListDesc$) STATIC
- CALL FindLast (MarkedList$,ZCarriageReturn$,Temp,ZLastIndex)
- CALL QuickTPut1 (STR$(ZLastIndex) + SPACE$(1) + ListDesc$ + "(s) now marked") ' DD021301
- CALL SmartPause ' DD071002
- ZLastIndex = 0
- END SUB
- * REPLACING old line(s) by new
- 63605 ' AskItems - general routine for asking for a list of items.
- ' Calling program instructs what the valid commands
- ' are (ValidCmnd$), what the actual user command is
- ' (UserCmnd$), and whether to Mark the items. Returns
- ' list of items in ZUserIn$(). Supports lists for viewing,
- ' downloading, and marking. Gives option to operate
- ' on marked when items have been previously marked.
- ' Calling program tells what to mark (MarkedItems$)
- ' and how to describe the items gathering (ItemDesc$).
- '
- SUB AskItems (ValidCmnd$,UserCmnd$,DoMark,ItemDesc$,MarkedItems$) STATIC
- CALL AllCaps (UserCmnd$)
- Temp = INSTR(ValidCmnd$,UserCmnd$)
- IF Temp = 0 OR UserCmnd$ = "" THEN _
- EXIT SUB
- Temp = INSTR("VDM",UserCmnd$)
- * ------[ first line different ]------
- ZOutTxt$ = ZEmphasizeOff$ + _ ' DD082101
- MID$("ViewDnldMark",4*Temp-3,4) + _ ' DD082101
- " what " + ItemDesc$ + "(s)" ' DD082101
- IF Temp = 2 AND ZWildDownOK AND NOT ZPersonalDnld THEN _ ' DD031803/WILD
- ZOutTxt$ = ZOutTxt$ + " (WildCards OK)" ' DD030301/WILD
- IF Temp < 3 THEN IF MarkedItems$ <> "" THEN _
- ZoutTxt$ = ZOutTxt$ + ", M)arked"
- ZOutTxt$ = ZOutTxt$ + ZPressEnterExpert$ ' DD091207
- ZStackC = ZTrue
- CALL PopCmdStack
- IF ZWasQ > 0 AND DoMark AND Temp = 3 THEN _
- CALL MarkItems (ZTrue,MarkedItems$,ItemDesc$)
- END SUB
- * REPLACING old line(s) by new
- 63610 ' UnMarkItems - takes an input (ZWasZ$), on input item number
- ' "OnItem", where number of last of the inputs
- ' is "LastItem", determines whether the option
- ' is one for marked items, and inserts any marked
- ' items in MarkedList$ into the input stream (ZUserIn$())
- ' at the item number (OnItem). Reports
- ' whether found marked (FoundMarked),
- ' and if calling programs says to reinitialize
- ' the marked items (ReInit), empties the
- ' list of marked items (MarkedList$) when they
- ' are found.
- '
- SUB UnMarkItems (MarkedList$,OnItem, LastItem, FoundMarked,ReInit) STATIC
- FoundMarked = ZFalse
- CALL AllCaps (ZWasZ$)
- * ------[ first line different ]------
- IF MarkedList$ <> "" THEN IF ZWasZ$ =CHR$(77) THEN _ 'M ' DD021301
- FoundMarked = ZTrue : _
- EndFile = LEN (MarkedList$) : _
- Temp = INSTR(MarkedList$,ZCarriageReturn$) : _
- ZUserIn$(OnItem) = MID$(MarkedList$,1,Temp-1) : _
- StartFile = Temp + 1 : _
- InsertAt = OnItem + 1 : _
- WHILE StartFile < EndFile : _
- Temp = INSTR(StartFile,MarkedList$,ZCarriageReturn$) : _
- FOR X = LastItem TO InsertAt STEP -1 : _
- ZUserIn$(X + 1) = ZUserIn$(X) : _
- NEXT : _
- LastItem = LastItem + 1 : _
- ZUserIn$(InsertAt) = MID$(MarkedList$,StartFile,Temp-StartFile) : _
- InsertAt = InsertAt + 1 : _
- StartFile = Temp + 1 : _
- WEND : _
- IF ReInit THEN _
- MarkedList$ = ""
- END SUB
- * REPLACING old line(s) by new
- 63615 ' * Sets up next message base link *
- SUB NextConf (DoJoin) STATIC
- IF ZLinkedConf$ = "" OR (NOT DoJoin) THEN _
- EXIT SUB
- * ------[ first line different ]------
- * INSERTING new line(s)
- 63616 EndConf = INSTR(ZLinkedConf$,ZCarriageReturn$) ' KG013001
- LastConf = (EndConf = LEN(ZLinkedConf$)) ' KG013001
- ZHomeConf$ = LEFT$(ZLinkedConf$,EndConf-1)
- IF ZNonStop THEN _
- CALL QuickTPut1 ("Joining linked conference " + ZHomeConf$) _
- ELSE _
- ZOutTxt$ = "Continue to linked conference " + ZHomeConf$ + " ([Y],S)kip,A)bort)" : _ ' KG020801
- CALL DeLink (ZHomeConf$) : _ ' KG013001
- ZTurboKey = -ZTurboKeyUser : _
- ZSubParm = 1 : _
- CALL TGet : _
- IF ZWasQ > 0 AND NOT ZYes THEN _ ' KG020801
- ZWasX$ = ZUserIn$(1) : _ ' KG013001
- CALL AllCaps (ZWasX$) : _ ' KG013001
- ZLinkedConf$ = ZLinkedConf$ + ZHomeConf$ + ZCarriageReturn$ : _ ' KG013001
- IF LastConf OR ZWasX$ = CHR$(65) THEN _ ' DD031501
- ZHomeConf$ = "" : _ ' KG013001 ' KG013001
- ZGlobalRead = ZFalse : _ ' KG013001
- EXIT SUB _ ' KG013001
- ELSE GOTO 63616 ' KG013001
- END SUB
- * REPLACING old line(s) by new
- 63625 ' * Sets SysOp security variables Formerly 5370 of rbbs-pc.bas
- ' * Returns ZWasA true when remote or global sysop
- SUB SetSysOp STATIC
- ZRemoteSysop = ((ZActiveUserName$ = ZSecretName$) OR _
- * ------[ first line different ]------
- (ZOrigUserName$ = ZSecretName$)) OR _ ' Mpl090202
- (ZActivUserName$ ="SYSOP") 'LK 12/05/91
- ZWasA = ZRemoteSysop
- ZGlobalSysop = (ZGlobalSysop OR (ZWasA AND ZOrigCnfg$ = ZConfigFileName$))
- IF ZGlobalSysop THEN _
- ZWasA = ZTrue
- END SUB
- * REPLACING old line(s) by new
- 63630 ' * Sets the user preferences based on user record.
- ' * Formerly in RBBS-PC.BAS
- SUB SetUserPref STATIC
- IF ZWasA THEN _
- ZUserSecLevel = ZSysopSecLevel _
- ELSE ZUserSecLevel = CVI(ZSecLevel$)
- * ------[ first line different ]------
- ZDropTimes = ASC(ZDropTimes$) ' DD091401/DROP
- ZBankTime = ASC(ZBankTime$)
- ZLastMsgRead = CVI(MID$(ZUserOption$,3,2))
- ZUserXferDefault$ = MID$(ZUserOption$,5,1)
- IF ZUserXferDefault$ = SPACE$(1) THEN _ ' DD021301
- ZUserXferDefault$ = CHR$(78) ' DD021301
- CALL XferType (2,ZTrue)
- WasX = ASC(MID$(ZUserOption$,6,1))
- IF WasX < 30 OR WasX > 99 THEN ' DD061301
- WasX = 60 ' DD061301
- END IF ' DD052002
- ZWasGR = (WasX MOD 5) ' DD061301
- ZBoldText$ = CHR$(48 - (WasX > 64)) ' DD061301
- IF WasX > 64 THEN ' DD061301
- ZUserTextColor = INT((WasX - ZWasGR)/5 + 18) ' DD061301
- ELSE ' DD050201
- ZUserTextColor = INT((WasX - ZWasGR)/5 + 25) ' DD061301
- END IF ' DD050201
- IF ZUserTextColor > 37 THEN _
- ZUserTextColor = 37 ' DD061301
- IF ZEmphasizeOff$ <> "" THEN _
- CALL QuickTPut (ZColorReset$,0)
- IF ZEmphasizeOnDef$ <> "" THEN _
- ZEmphasizeOff$ = ZEscape$ + CHR$(91) + ZBoldText$ + ";40;" + MID$(STR$(ZUserTextColor),2) + CHR$(109) _ ' DD021301
- ELSE ZEmphasizeOff$ = ""
- IF ZWasGR = 1 AND NOT ZEightBit THEN _
- ZWasGR = 0
- ' CALL SetGraphic (ZWasGR) ' DD062304
- ZRightMargin = ASC(MID$(ZUserOption$,7,1)) ' DD063002
- IF ZRightMargin > 72 THEN _
- ZRightMargin = 72
- IF NOT ZConfMode THEN _
- ZWasCI$ = ZCityState$ : _
- CALL Trim (ZWasCI$)
- UserOptions = CVI(MID$(ZUserOption$,9,2))
- ZPromptBell = (UserOptions AND 1) > 0
- ZExpertUser = (UserOptions AND 2) > 0
- CALL SetExpert
- ZNulls = (UserOptions AND 4) > 0
- ZUpperCase = (UserOptions AND 8) > 0
- ZLineFeeds = (UserOptions AND 16) > 0
- ZCheckBulletLogon = (UserOptions AND 32) > 0
- ZSkipFilesLogon = (UserOptions AND 64) > 0
- ZFullScreenEditor = (UserOptions AND 128) > 0 'Pe 09/02/91
- ZReqQuesAnswered = (UserOptions AND 256) > 0
- ZMailWaiting = (UserOptions AND 512) > 0
- WasX = (UserOptions AND 1024 ) > 0
- CALL SetHiLite (NOT WasX)
- IF NOT ZHiLiteOff THEN _
- CALL QuickTPut (ZEmphasizeOff$,0)
- ZTurboKeyUser = (UserOptions AND 2048) > 0
- CALL SetGraphic (ZWasGR) ' DD062304
- ZTurboKey = ZFalse
- ZFileWaiting = (UserOptions AND 4096) > 0
- ZAvailableForChat = (UserOptions AND 8192) > 0 ' JM092401/RCHAT
- ZExtendedOff = (UserOptions AND 16384) > 0 ' DD062901
- ExtendedUserOptions = ASC(MID$(ZUserOption$,8,1)) ' DD063002
- ZReadNewMail = (ExtendedUserOptions AND 1) > 0 ' DD070102
- ZReselectALL = (ExtendedUserOptions AND 2) > 0 ' DD070103
- ZMorePromptLF = (ExtendedUserOptions AND 4) > 0 ' DD070104
- ZReselectGraphics = (ExtendedUserOptions AND 8) > 0 ' DD070105
- ZANSIMusic = (ExtendedUserOptions AND 16) > 0 ' DD070402
- CALL SetANSIMusic ' DD070402
- ZNeverCanPage = (ExtendedUserOptions AND 32) > 0 ' DD070601
- ZReselectProto = (ExtendedUserOptions AND 64) > 0 ' DD070905
- ZGlobalTwit = (ExtendedUserOptions AND 128) > 0 ' DD070506
- CALL SetRegDisplay ' DD070402
- ZPageLength = ASC(MID$(ZUserOption$,13,1))
- IF ZSubBoard THEN _
- GOTO 63632
- WasX$ = ZEchoer$
- ZEchoer$ = MID$(ZUserOption$,14,1)
- IF INSTR("ICR",ZEchoer$) = 0 THEN _
- ZEchoer$ = CHR$(82) 'R ' DD021301
- IF WasX$ <> ZEchoer$ THEN _
- CALL ReportEcho
- CALL SetEcho (ZEchoer$)
- * REPLACING old line(s) by new
- 63635 ' * Reports who is doing echoing. Formerly 9525 of rbbs-pc.bas
- SUB ReportEcho STATIC
- * ------[ first line different ]------
- IF ZEchoer$ = CHR$(82) THEN _ 'R ' DD021301
- ZOutTxt$ = "RBBS now set" _
- ELSE IF ZEchoer$ = CHR$(67) THEN _ 'C ' DD021301
- ZOutTxt$ = "Please set your communications package" _
- ELSE ZOutTxt$ = "Intermediate host now set"
- CALL QuickTPut1 (ZOutTxt$ + " to echo what you type")
- END SUB
- * REPLACING old line(s) by new
- 63640 ' * Welcomes caller on
- SUB SayWelcome STATIC
- * ------[ first line different ]------
- LOCATE ZLocalPageLength-1,1,1 ' DD021903/VGA
- CALL AMorPM
- ZUserLogonTime! = TIMER
- ZTimeLoggedOn$ = TIME$
- ZLinesPrinted = 0
- ZExpertUser = ZFalse
- CALL SetExpert
- ZOutTxt$ = ""
- IF ZMaxNodes > 1 THEN _
- ZOutTxt$ = " - Node " + ZNodeID$
- IF ZReliableMode THEN _
- ZOutTxt$ = ZOutTxt$ + " (Reliable)"
- ' CALL QuickTPut1 ("Welcome to " + ZRBBSName$ + ZOutTxt$) 'Pe 06/26/92
- CALL TestANSI
- ZTestParity = ZTrue
- ZStopInterrupts = ZTrue
- ZFileName$ = ZPreLog$
- CALL FlushCom (WasX$)
- ZCommPortStack$ = ""
- END SUB
- * REPLACING old line(s) by new
- 63650 ' * Sets privileges based on PASSWRDS file
- ' * Formerly 5135-5160 in RBBS-PC.BAS
- SUB SetPrivileges STATIC
- ZWasZ$ = ""
- CALL SrchPasswrds (Found)
- IF NOT Found THEN _
- ZTempTimeAllowed = ZMinsPerSessionDef : _
- ZTempMaxPerDay = ZMaxPerDayDef : _
- ZTempExpiredSec = ZExpiredSec : _
- ZMaxBank = ZMaxBankTimeDef _
- ELSE ZTimeLockSet = ZTempTimeLock : _
- ZDaysInRegPeriod = ZTempRegPeriod : _
- ZMaxBank = ZTempMaxBank
- ZMinsPerSession = ZTempTimeAllowed
- ZMaxPerDay = -(ZMaxPerDay * (ZTempMaxPerDay <= 0)) - _
- (ZTempMaxPerDay * (ZTempMaxPerDay > 0))
- * ------[ first line different ]------
- IF ZLimitMinsPerSession THEN ' DD032101
- IF ZMinsPerSession > ZLimitMinsPerSession THEN ' DD032101
- ZMinsPerSession = ZLimitMinsPerSession ' DD032101
- IF (NOT ZExitToDoors) AND (NOT ZSubBoard) AND _ ' DD032101
- (NOT AlreadyShown) THEN ' DD032101
- ZOutTxt$ = "An External Event is Coming Up in" + _ ' DD091702
- STR$(ZMinsPerSession) + _ ' DD091702
- " Minutes." ' DD032101
- CALL SkipLine(1) ' DD032101
- CALL QuickTput(ZFGF$ + ZBG1$ + ZOutTxt$ + _ ' DD092302
- ZEmphasizeOff$,1) ' DD032101
- ZOutTxt$ = "Your Time Online Has Been Shortened." ' DD032101
- CALL RingCaller ' DD032101
- CALL SkipLine (1) ' DD032101
- AlreadyShown = ZTrue ' DD032101
- END IF ' DD032101
- END IF ' DD032101
- END IF ' DD032101
- * INSERTING new line(s)
- 63651 CALL SetSessionTime ' DD012401
- END SUB
- * REPLACING old line(s) by new
- 63675 SUB SetUserUpDn STATIC
- ZDnlds = CVI(ZUserDnlds$)
- ZUplds = CVI(ZUserUplds$)
- * ------[ first line different ]------
- ZDropTimes = ASC(ZDropTimes$) ' DD091401/DROP
- ZBankTime = ASC(ZBankTime$)
- IF ZEnforceRatios THEN _
- ZDLToday! = CVS(ZTodayDl$) : _
- ZBytesToday! = CVS(ZTodayBytes$) : _
- ZDLBytes! = CVS(ZDlBytes$) : _
- ZULBytes! = CVS(ZULBytes$)
- END SUB
- SUB SetGlobalUpDn STATIC
- IF NOT ZGlobalsSet THEN _
- ZGlobalsSet = ZTrue : _
- ZGlobalDnlds = ZDnlds : _
- ZGlobalUplds = ZUplds : _
- ZGlobalDLToday! = ZDLToday! : _
- ZGlobalBytesToday! = ZBytesToday! : _
- ZGlobalDLBytes! = ZDLBytes! : _
- ZGlobalULBytes! = ZULBytes! : _
- ZGlobalDropTimes = ZDropTimes : _ ' DD091401/DROP
- ZGlobalBankTime = ZBankTime
- END SUB
- * REPLACING old line(s) by new
- 63700 ' $SUBTITLE: 'TestANSI - test caller for ANSI support'
- ' $PAGE
- '
- ' NAME -- TestANSI
- ' MEANING
- ' INPUTS -- ZTestANSITime # of seconds to wait for ANSI response
- ' 0 = do not test for ANSI
- '
- * ------[ first line different ]------
- ' OUTPUTS -- ZCanANSIChat = ZTrue if ANSIChat possible ' DD071301/CHAT
- '
- ' PURPOSE -- Test callers' software for support of ANSI graphics
- '
- SUB TestANSI STATIC
- IF ZTestANSITime < 1 THEN _
- GOTO 63705
- IF ZLocalUser THEN _
- IF ZDOSAnsi THEN _
- GOTO 63710 _
- ELSE GOTO 63705
- CALL FlushCom(Temp$)
- CALL PutCom (ZEscape$ + "[6n")
- CALL WipeLine (5) ' DA040301
- FOR Temp = 1 TO ZTestANSITime ' DA040301
- CALL DelayTime(1) ' DA040301
- CALL FlushCom(Temp$) ' DA040301
- IF LEN(Temp$) > 0 THEN ' DA040301
- GOTO 63702 ' DA040301
- END IF ' DD080903
- NEXT Temp ' DD080903
- * INSERTING new line(s)
- 63702 Temp = INSTR(Temp$,ZEscape$) ' DA040301
- IF Temp > 0 THEN _ ' DA040301
- CALL FlushCom(Temp2$) : _ ' DA040301
- Temp$ = Temp$ + Temp2$ : _ ' DA040301
- Temp = INSTR(Temp,Temp$,CHR$(82)) : _ 'R ' DD021301
- IF TEMP > 0 AND TEMP < 9 THEN _
- GOTO 63710
- * REPLACING old line(s) by new
- 63705 ZHiLiteOff = ZTrue
- * ------[ first line different ]------
- CALL SetHiLite(ZHiLiteOff) ' DD010208
- CALL SetGraphic (0)
- EXIT SUB
- * REPLACING old line(s) by new
- 63710 CALL SetGraphic(2)
- ZHiLiteOff = ZFalse
- * ------[ first line different ]------
- CALL SetHiLite(ZHiLiteOff) ' DD010208
- ' CALL QuickTPut1 ("ANSI detected") ' DD071601
- IF ZDOSANSI THEN _ ' DD071301/ANSICHAT
- ZCanANSIChat = ZTrue ' DD071301/ANSICHAT
- CALL FlushCom(Temp$) ' DD061301
- CALL PutCom (ZEscape$ + "[!") ' DD061301
- CALL WipeLine (5) ' DD080903
- FOR Temp = 1 TO ZTestANSITime ' DD080903
- CALL DelayTime (1) ' DD080903
- CALL FlushCom (Temp$) ' DD080903
- IF LEN(Temp$) > 0 THEN ' DD080903
- Temp = INSTR(UCASE$(Temp$),"RIPSCRIP") ' DD061301
- IF Temp THEN ' DD061301
- ZRIPGraphics = ZTrue ' DD062302
- CALL SetGraphic(4) ' DD061301
- EXIT FOR ' DD080903
- END IF ' DD080903
- END IF ' DD061301
- NEXT Temp ' DD080903
- END SUB
- * REPLACING old line(s) by new
- 63720 SUB AraAllCaps (Ara$(1),WhichElement) STATIC
- Temp$ = Ara$(WhichElement)
- CALL AllCaps (Temp$)
- Ara$(WhichElement) = Temp$
- END SUB
- * ------[ first line different ]------
- ' ' Mpl090202
- ' $SUBTITLE: 'AutoLogOff - Subroutine to to log off after transfer' ' Mpl090202
- ' $PAGE ' Mpl090202
- ' ' Mpl090202
- SUB AutoLogOff STATIC ' Mpl090202
- ZAutoEnd = 0 ' Mpl090202
- ZAbort = ZFalse 'Pe 01/19/92
- IF ZGetExtDesc = ZTrue or ZOK = ZFalse or ZAutoLogOffReq = ZTrue THEN _' Mpl090202
- EXIT SUB ' Mpl090202
- ZSubParm = 1 ' Mpl090202
- ZStackC = ZTrue 'Pe 12/21/91 ' Mpl090202
- * INSERTING new line(s)
- 64980 IF NOT ZExpertUser THEN _ ' DD010301
- GOTO 64999 ' DD062401
- 64981 ZOutTxt$ = ZFGE$ + ZConfName$ + + ZFG2$ + CHR$(58) + _ ': ' DD062401
- ZEmphasizeOff$ ' DD010301
- ZSubParm = 4 ' DD010301
- CALL TPut ' DD010301
- CALL DispTimeRemain (MinsRemaining) ' DD123001
- ZOutTxt$ = ZFGF$ + "AUTOLOGOFF " + ZFG2$ + _ ' DD010301
- "command" + ZEmphasizeOff$ ' DD010301
- IF ZCmndsInPrompt THEN ' DD062804
- IF ZExpertUser THEN ' DD062804
- ZOutTxt$ = ZOutTxt$ + " (?,A,[C],G,H)" ' DD062804
- ELSE ' DD062804
- ZOutTxt$ = ZOutTxt$ + " (?,A)bort,[C]ontinue,G)oodbye,H)elp)" ' DD062804
- END IF ' DD062804
- END IF ' DD062804
- 64990 ZTurboKey = -ZTurboKeyUser ' Mpl090202
- ZSubParm = 1 ' Mpl090202
- Call TGet ' Mpl090202
- CALL Carrier 'Pe 03/06/92
- IF ZSubParm = -1 THEN _ 'Pe 03/06/92
- ZFileSysParm = 7 : _ 'Pe 03/06/92
- EXIT SUB 'Pe 03/06/92
- WasMplx = INSTR("CAGH?",UCASE$(ZUserIn$)) ' DD062401
- IF ZUserIn$ = "" THEN _ ' DD062401
- GOTO 64995 ' DD062401
- ON WasMplx GOTO 64995,64991,64998,64999,64999 ' NW062401
- GOTO 64981 ' DD062401
- 64991 ZAutoEnd = 2 ' DD010301
- GOTO 65000 ' DD062401
- 64995 ZAutoEnd = 3 ' Mpl090202
- GOTO 65000 ' DD062401
- 64998 ZAutoEnd = 1 ' Mpl090202
- ZAutoLogoffReq = ZTrue 'Pe 12/20/92
- GOTO 65000 ' DD062401
- 64999 ZStopInterrupts = ZTrue ' DD062401
- AutoOffFile$ = ZWelcomeFileDrvPath$ + "AUTOOFF.MNU" ' DD062401
- CALL Graphic(AutoOffFile$) ' DD062401
- CALL BufFile(AutoOffFile$,X) ' DD062401
- ZStopInterrupts = ZFalse ' DD062401
- GOTO 64981 ' DD062401
- 65000 CALL SkipLine (1) ' DD062401
- END SUB ' Mpl090202
- SUB BatchUpload (ZDesc$,ZUCat$,WasFF) STATIC ' Mpl090202
- ON WasFF GOTO 69000, 69500 ' Mpl090202
- 69000 CALL OpenWorkA (2,ZNodeWorkDrvPath$ + "BatchUp" +ZNodeID$ +".LST") ' DD040601
- Call PrintWorkA (2,ZFileName$) ' DD040601
- CALL PrintWorkA (2,ZFileNameHold$) ' DD040601
- CALL PrintWorkA (2,ZDesc$) ' DD040601
- CALL PrintWorkA (2,ZUcat$) ' DD040601
- ' CLOSE 2 'OpenWorkA Closes #2 ' DD060701
- CALL OpenWorkA (2,ZBatchWorkFile$) ' DD040601
- CALL PrintWorkA (2,ZFileName$) ' DD040601
- CLOSE 2 ' Mpl090202
- IF ZAnsindex = ZLastIndex THEN ' Mpl090202
- ZUpBatchTransfer = ZFalse ' Mpl090202
- ZWasBatchTransfer = ZTrue ' Mpl090202
- END IF ' Mpl090202
- EXIT SUB ' Mpl090202
- ' ' Mpl090202
- 69500 CALL KillWork (ZBatchWorkFile$) ' Mpl090202
- ZErrCode = 0 ' Mpl090202
- Temp$ = ZNodeWorkDrvPath$ + "BatchUp" + ZNodeid$ + ".LST" ' DD032501
- CALL OpenWork (8,Temp$) ' Mpl090202
- WHILE NOT EOF(8) ' Mpl090202
- LINE INPUT #8,ZFileName$ ' Mpl090202
- LINE INPUT #8,ZFileNameHold$ ' Mpl090202
- LINE INPUT #8,ZDesc$ ' Mpl090202
- LINE INPUT #8,ZUCat$ ' Mpl090202
- CALL Findit (ZFileName$) ' Mpl090202
- IF ZOK THEN _ ' Mpl090202
- CALL UpdtUpload (ZCategoryName$(),ZCategoryCode$(), ZLinesInMsg,2) _' Mpl090202
- ELSE CALL UpdtCalr (ZFileNameHold$ + " ABORTED during BatchUL",2)' Mpl090202
- ZWasBatchTransfer = ZFalse 'Pe 09/12/91
- ZAlreadyGiven = ZTrue ' Mpl090202
- WEND ' Mpl090202
- CLOSE 8 ' Mpl090202
- END SUB ' Mpl090202
- ' ' Mpl090202
- 69600 ' $SUBTITLE: 'BATCHIT - subroutine to list files for batch downloading'' Mpl090202
- ' $PAGE ' Mpl090202
- ' ' Mpl090202
- SUB BATCHIT STATIC ' Mpl090202
- CALL QuickTPUT (ZFG2$ + "Enter filenames on " + _ ' DD090102
- "Separate lines! " + ZFGB$ + _ ' DD090102
- "(EMPTY LINE ENDS)" + ZEmphasizeOff$,1) ' DD090102
- ZWasB=1 ' Mpl090202
- FOR BatchF = 2 TO 25 ' Mpl090202
- ZOutTxt$ = ZFGE$ + "Name of file #" + STR$(Batchf-1) + _ ' DD090102
- ZFG2$ ' DD090102
- Call TGet ' Mpl090202
- IF ZUserIn$ = "" THEN GOTO 70415 ' Mpl090202
- ZUserIn$(BatchF) = ZUserIn$ ' Mpl090202
- ZAnsIndex = BatchF+1 ' Mpl090202
- NEXT BatchF ' Mpl090202
- 70415 BatchF = BatchF-1 ' Mpl090202
- ZLastIndex = BatchF ' Mpl090202
- END SUB ' Mpl090202
- ' ' Mpl090202
- ' $SUBTITLE: 'TStat --- Display Transfer Stats from Xfer-? file' ' Mpl090202
- ' $PAGE ' Mpl090202
- ' ' Mpl090202
- SUB TStats STATIC ' MplXfer
- ZDOZFile$ = "" ' DD070702
- CALL OpenWork (2,"XFER-" + ZNodeID$ + ".DEF") ' MplXfer
- IF ZErrCode <> 0 THEN _ ' Mpl090202
- EXIT SUB 'Pe 06/01/92
- IF ZTransferFunction = 1 AND ZShowTimesDownloaded AND _ ' DD052301
- NOT ZPersonalDnld THEN ' DD052301
- CALL OpenWorkA (7,ZNodeWorkDrvPath$ + "DOWNLIST.DAT") ' DD052301
- END IF ' DD052301
- CALL QuickTPut1 (ZFGC$ + _ ' DD090502
- "File Transfer Statistics are as follows:" + SPACE$(7)) ' DD021301
- CALL QuickTPut1 (ZFGE$ + _ ' DD090502
- "FileName" + SPACE$(9) + "Bytes" + SPACE$(2) + _ ' DD021301
- "Dtr Rate" + SPACE$(2) + "CPS" + SPACE$(7) + "Errors" + _ ' DD021301
- SPACE$(2)) ' DD021301
- CALL QuickTPut1 (ZFG2$ + STRING$(52,45) + ZEmphasizeOff$) ' DD091207
- TempCount = 0 ' DGS051505-DS
- WHILE NOT EOF(2) ' MplXfer
- TempCount = TempCount + 1 ' DGS051505-DS
- LINE INPUT #2,Stat$ ' MplXfer
- WasS = INSTR(Stat$,"rs ") ' DD070702
- IF WasS > 0 THEN _ ' MplXfer
- WasX$ = MID$(Stat$, 2, WasS) ' MplXfer
- Match = INSTR(Stat$, CHR$(46)) ' DD021301
- IF Match > 0 THEN ' DD052301
- WasZyX$ = MID$(Stat$, Match - 8, 12) ' DD052301
- IF INSTR(UCASE$(WasZyX$),".DOZ") THEN ' DD070702
- ZDOZFile$ = UCASE$(WasZyX$) ' DD070702
- END IF ' DD070702
- IF ZTransferFunction = 1 AND ZShowTimesDownloaded AND _ ' DD052301
- NOT ZPersonalDnld THEN ' DD052301
- CALL BreakFileName (WasZyX$,Drive$,Body$,Ext$,ZTrue) ' DD052301
- IF NOT ZUpdateOnLine THEN ' DD052301
- PRINT #7, Body$ + Ext$ + ",1" ' D052301
- ELSE ' D052301
- PRINT #7, Body$ + Ext$ ' DD052301
- END IF ' D052301
- END IF ' DD052301
- END IF ' DD052301
- Match = 0 ' MplXfer
- Start = 1 ' MplXfer
- IF INSTR(WasZyX$,CHR$(92)) THEN ' DD070703
- Divider$ = CHR$(92) ' DD070703
- ELSEIF INSTR(WasZyX$,CHR$(47)) THEN ' DD070703
- Divider$ = CHR$(47) ' DD070703
- ELSE ' DD070703
- Divider$ = CHR$(92) ' DD070703
- END IF ' DD070703
- DO ' MplXfer
- Match = INSTR(Start, WasZyX$, Divider$) ' DD070703
- IF Match > 0 THEN ' DD070703
- WasZyX$ = RIGHT$(WasZyX$, LEN(WasZyX$) - Match) ' DD070702
- END IF ' DD070703
- LOOP WHILE Match ' MplXfer
- Match = 0 ' MplXfer
- Start = 1 ' MplXfer
- DO ' MplXfer
- Match = INSTR(Start, WasZyX$, SPACE$(1)) ' DD021301
- IF Match > 0 THEN _ ' MplXfer
- WasZyX$ = RIGHT$(WasZyX$, LEN(WasZyX$) - Match) ' MplXfer
- LOOP WHILE Match ' MplXfer
- WasXy = LEN(WasZyX$) ' MplXfer
- IF ZErrCode <> 0 THEN _ ' Mpl090202
- Exit Sub 'Pe 06/01/92
- IF INSTR(UCASE$(WasZyX$),".DOZ") THEN ' DD070702
- ZDOZFile$ = UCASE$(WasZyX$) ' DD070702
- CALL Trim (ZDOZFile$) ' DD070702
- END IF ' DD070702
- IF ZAdvanceProtoWrite THEN _ ' DGS051505-DS
- IF TempCount = 1 THEN _ ' DGS051505-DS
- GOTO 70430 ' DGS051505-DS
- CALL QuickTPut1 (ZFGB$ + WasZyX$ + SPACE$(15-WasXy) + _ ' DD081801
- WasX$ + ZEmphasizeOff$) ' DD081801
- 70430 WEND ' DGS051505-DS
- CLOSE 2 ' MplXfer
- CLOSE 7 ' DD052301
- ' ' DD052301
- ' * Update Downloads Field in FMS directory ' DD052301
- ' ' DD052301
- IF ZTransferFunction = 1 AND ZShowTimesDownloaded AND _ ' DD052301
- ZUpdateOnLine AND NOT ZPersonalDnld THEN ' DD052301
- ZActiveFMSDir$ = "" ' DD052301
- CALL OpenFMS (HighRec,CatLen) ' DD052301
- CLOSE 2 ' DD052301
- ZActiveFMSDir$ = ZFMSDirectory$ ' DD080904
- GOSUB 70450 ' DD080904
- CALL OpenWork (18,ZNodeWorkDrvPath$ + "DOWNLIST.DAT") ' DD080904
- WHILE NOT EOF(18) ' DD080904
- CALL ReadDir (18,1) ' DD080904
- FileToMatch$ = ZOutTxt$ ' DD080904
- Found = ZFalse ' DD080904
- 70440 FOR search = HighRec TO 1 STEP -1 ' DD080904
- GET 9, search ' DD052301
- IF LEFT$(SearchFileName$,LEN(FileToMatch$)) = FileToMatch$ THEN ' DD080904
- DLTimes = VAL(SearchFileExtra$) + 1 ' DD052301
- IF DLTimes > 10000 THEN ' DD062306
- DLTimes = 9999 ' DD062306
- END IF ' DD052301
- DLTimes$ = LTRIM$(STR$(DLTimes)) ' DD052301
- DLTimes$ = STRING$(5 - LEN(DLTimes$),CHR$(48)) + DLTimes$ ' DD052301
- LSET SearchFileExtra$ = DLTimes$ ' DD052301
- IF ZNetWorkType <> 0 THEN ' DD052301
- ZWasEN$ = ZActiveFMSDir$ ' DD080904
- ZSubParm = 9 ' DD052301
- CALL FileLock ' DD052301
- ZErrCode = 0 ' DD052301
- END IF ' DD052301
- PUT 9, search ' DD052301
- IF ZNetWorkType <> 0 THEN ' DD052301
- ZSubParm = 10 ' DD052301
- CALL FileLock ' DD052301
- END IF ' DD052301
- Found = ZTrue ' DD080904
- EXIT FOR ' DD052301
- END IF ' DD052301
- NEXT search ' DD052301
- IF NOT Found AND ZChainedDir$ <> "" THEN ' DD080904
- ZActiveFMSDir$ = ZChainedDir$ ' DD080904
- CALL OpenFMS (HighRec,CatLen) ' DD080904
- CLOSE 2 ' DD080904
- GOSUB 70450 ' DD080904
- GOTO 70440 ' DD080904
- END IF ' DD080904
- WEND ' DD052301
- CLOSE 18 ' DD080904
- CLOSE 9 ' DD052301
- CALL KillWork (ZNodeWorkDrvPath$ + "DOWNLIST.DAT") ' DD052301
- END IF ' DD052301
- EXIT SUB ' DD080904
- 70450 CALL OpenRSeq (9,ZActiveFMSDir$,HighRec,X,ZFMSFileLength) ' DD080904
- FIELD #9, 13 AS SearchFileName$, _ ' DD052301
- 9 AS SearchFileSize$, _ ' DD052301
- 11 AS SearchFileDate$, _ ' DD052301
- ZMaxDescLen - 5 AS SearchFileDesc$, _ ' DD052301
- 5 AS SearchFileExtra$, _ ' DD052301
- 3 AS SearchFileCat$, _ ' DD052301
- 2 AS SearchCRLf$ ' DD052301
- RETURN ' DD080904
- END SUB ' MplXfer
-