home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-11 | 222.3 KB | 4,069 lines |
- * ------------[ BLED merge (c) Ken Goosens ]-------------
- * Merge this against RBBSSUB3.BAS to produce RBBSSUB3.NEW
- * RBBSSUB3.BAS: Date 6-20-92 Size 129071 bytes
- * ------------[ Created 08-11-1993 19:35:20 ]------------
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- ' $segment
- ' $linesize:132
- ' $title: 'RBBSSUB3.BAS 17.4, Copyright 1986 - 92 by D. Thomas Mack'
- ' Copyright 1990 by D. Thomas Mack, all rights reserved.
- ' Name ...............: RBBSSUB3.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
- ' AllCaps 58050 Convert a string to all upper case characters
- ' AMorPM 41498 Calculate the current time as AM or PM
- ' AskGraphics 43004 Determine users graphic default
- ' BadFile 20741 Check for system crash attempt with bad device name
- ' Carrier 42000 Test for whether to continue in RBBS
- ' CheckRatio 20096 Test upload/download ratio
- ' CheckTime 58070 Test to insure that users don't exceed their time
- ' CheckCarrier 42005 Checks whether still have carrier
- ' CheckNewBul 58110 Check for new bulletins based on their file creation date
- ' CheckTimeRemain 41007 Set up to log off if time exceeded 'Lk 10/24/91
- ' CommInfo 44020 Get users baud rate and parity in a string format
- ' CountLines 58160 Count categories a file can be classified into
- ' CountNewFiles 58150 Check for number of files uploaded after a specific date
- ' DelayTime 50495 Wait number of seconds specified before returning
- ' DispCall 57001 Display callers file
- ' DispTimeRemain 41032 Compute and display time remaining
- ' DispUpDir 58165 Display the shared directory of the FMS mng. sys.
- ' FileLock 21993 Allow files to be shared among multiple RBBS-PC's
- ' FindFKey 30595 Handle local keyboard's function & ZSysop's keys
- ' FindLast 58600 Finds last occurence of a string in a string
- ' FlushKeys 35000 Completely flush all user input
- ' Graphic 43031 Determines if graphic ver of file exists, opens as #2
- ' GraphicX 43031 Determines if graphic ver of file exists, any file #
- ' HashRBBS 58080 "Hash" to a user's record in the USERS file
- ' InitFMS 58162 Initialize the RBBS-PC's File Management System
- ' InitIBM 30000 Open/create NetBIOS semaphore file
- ' AddCommas 58130 Format commands in the command prompt
- ' Library 21105 Provide support for "library" drives
- ' LinesInFile 58161 Counts lines in a file
- ' LoadNew 58140 Find the latest uploads
- ' ModemPut 52070 Write a modem command string to the modem
- ' NameCaps 58060 Convert a string to Proper Case (for name output)
- ' OpenMsg 30500 Open the messages file as file number 1
- ' PageUp 33202 Display user info. on local screen for ZSysop
- ' ReadProf 44000 Read user's profile on return from a "door"
- ' SaveProf 43068 Save the user's provile when exiting to "doors" or DOS
- ' SendName 20293 Send filename via EXEC-PC protocol during autodownload
- ' SetOpts 58100 Set correct prompt line for each subsystem
- ' SortString 58120 Sort characters in a string
- ' TestUser 20310 Check if user's software can do auto downloading
- ' TimeRemain 41010 Compute time remaining in minutes
- ' UpdtUpload 20705 Updates upload directory file
- ' WildFile 20290 Determines whether string matches a pattern
- ' XferType 21600 Identify the file transfer protocol
- '
- ' $INCLUDE: 'RBBS-VAR.BAS'
- '
- * REPLACING old line(s) by new
- 20290 ' $SUBTITLE: 'WildFile -- Matches file to a filespec'
- ' $PAGE
- ' NAME -- WildFile
- '
- ' INPUTS -- PARAMETER MEANING
- ' Pattern$ PATTERN TO CHECK AGAINST
- ' ItemToMatch$ FILE NAME TO MATCH
- '
- ' OUTPUTS -- DoesMatch WHETHER MATCHES
- '
- ' PURPOSE Determine whether a file name is an instance of
- ' a file specification. Exactly like DOS except that ? must have a
- ' character.
- '
- SUB WildFile (Pattern$,ItemToMatch$,DoesMatch) STATIC
- IF Pattern$ <> PrevPattern$ THEN _
- CALL BreakFileName (Pattern$,PDrive$,PPrefix$,PExt$,ZFalse) : _
- PrevPattern$ = Pattern$
- CALL BreakFileName (ItemToMatch$,IDrive$,IPrefix$,IExt$,ZFalse)
- DoesMatch = ZFalse
- IF PDrive$ <> "" AND PDrive$ <> IDrive$ THEN _
- EXIT SUB
- CALL WildCard (PPrefix$,IPrefix$)
- IF NOT ZOK THEN _
- EXIT SUB
- CALL WildCard (PExt$,IExt$)
- DoesMatch = ZOK
- END SUB
- * ------[ first line different ]------
- '20293 $SUBTITLE: 'SendName - send FILENAME using EXEC-PC protocol' ' DD062304
- ' $PAGE
- '
- ' NAME -- SendName
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZUserIn$() ARRAY OF FILENAME FOR AUTODOWNLOAD
- ' ZAnsIndex Index OF FILENAME TO Transfer
- '
- ' OUTPUTS -- ZAbort -1 FOR AN ABORTED ATTEMPT
- '
- ' PURPOSE -- Send the download filename to user during an autodownload
- '
- ' SUB SendName STATIC ' DD122601
- '
- '
- ' * Transfer FILENAME TO USER
- ' * PROCESS - SEND USER THE "ALERT" CHARACTER SEQUENCE -- <ESC>OD
- ' * THEN THIS IS FOLLOWED BY CHARACTER-BY-CHARACTER
- ' * TRANSMISSION OF THE FILENAME WITH ECHO. IF ANY OF THE
- ' * CHARACTERS OF THE FILENMAE ARE GARBLED A SERIES OF
- ' * <CAN> ARE SENT, OTHERWISE AN <ACK> IS SENT AT
- ' * COMPLETION AND FILE Transfer BEGINS.
- '
- '
- ' ZAbort = ZFalse ' RESET ABORT FLAG ' DD122601
- ' Attempts = 0 ' RESET COUNT FOR # OF TRANS Attempts' DD122601
- '20295 CALL DelayTime (1) ' ONE SECOND DELAY ' DD062304
- '20296 CALL FlushCom(ZWasY$) ' CLEAR THE COMM BUFFER OF GARBAGE' DD062304
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' CALL PutCom (ZEscape$+"OD") ' SEND "ALERT" STRING ' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF ZAbort = ZTrue THEN _ ' DD122601
- ' GOTO 20306 ' DD122601
- ' CALL LPrnt("Sending FILENAME -- ",1) ' DD122601
- ' CALL LPrnt(ZReturnLineFeed$ + CHR$(9),0) ' DD122601
- ' CALL DelayTime (1) ' WAIT 1 SECOND FOR SETUP ' DD122601
- '
- ' SEND ONE CHARACTER AT A TIME
- '
- ' CALL BreakFileName (ZUserIn$(ZAnsIndex),WasX$,ZOutTxt$,ZWasY$,ZTrue)' DD122601
- ' ZOutTxt$ = ZOutTxt$ + ZWasY$ + "=X" ' DD122601
- ' FOR WasX = 1 TO LEN(ZOutTxt$) ' DD122601
- ' CALL PutCom (MID$(ZOutTxt$,WasX,1)) ' SEND 1 CHARACTER ' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF ZAbort = ZTrue THEN _ ' DD122601
- ' GOTO 20306 ' DD122601
- ' CALL LPrnt(MID$(ZOutTxt$,WasX,1),0) ' DISPLAY IF NEEDED ' DD122601
- ' ZDelay! = TIMER + 10 ' SET MAXIMUM TIME TO WAIT FOR Reply' DD122601
- ' Char = ZTrue ' DD122601
- ' WHILE Char = -1 ' DD122601
- ' CALL CheckTime(ZDelay!, TempElapsed!, 1) ' DD122601
- ' IF TempElapsed! <= 0 THEN _ ' DD122601
- ' GOTO 20300 ' IF ZNo ECHO, CANCEL FILENAME Transfer' DD122601
- ' CALL EofComm (Char) ' DD122601
- ' WEND ' JUMP OUT IF CHARACTER IS RECEIVED ' DD122601
- '20298 CALL FlushCom(ZWasY$) ' COLLECT CHARACTER(ZWasS) USER ECHOED' DD062304
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF MID$(ZOutTxt$,WasX,1) = ZWasY$ THEN _ ' DD122601
- ' GOTO 20305 ' IF CORRECTLY ECHOED, THEN CONTINUE ' DD122601
- ' IF INSTR(ZWasY$,ZCancel$) THEN _ ' DD122601
- ' ZAbort = ZTrue : _ ' DD122601
- ' GOTO 20306 ' CHECK FOR USER ZAbort ' DD122601
- '20300 CALL PutCom (STRING$(5,24)) ' TELL USER THAT FILE NAME IS GARBLED' DD062304
- ' IF ZSubParm = - 1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF ZAbort = ZTrue THEN _ ' DD122601
- ' GOTO 20306 ' DD122601
- ' CALL LPrnt("Name Trans Failure",1) ' DISPLAY FAILURE ON SCREEN' DD122601
- ' Attempts = Attempts + 1 ' INCREMENT COUNTER FOR # WasOF TRIES' DD122601
- ' IF Attempts < 6 THEN _ ' TRY IT FIVE TIMES, THEN GIVE UP ' DD122601
- ' GOTO 20295 ' DD122601
- ' CALL PutCom (STRING$(50,24)) ' GUARANTEE CANCELLATION WasOF USER' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF ZAbort = ZTrue THEN _ ' DD122601
- ' GOTO 20306 ' DD122601
- ' IF ZSnoop THEN _ ' DD122601
- ' CALL LPrnt("ABORTING AUTODOWNLOAD!",1) : _ ' DD122601
- ' ZAbort = ZTrue : _ ' DD122601
- ' GOTO 20306 ' DD122601
- '
- '20305 NEXT ' LOOP BACK FOR NEXT CHARACTER' DD062304
- '
- ' CALL PutCom (ZAcknowledge$) ' WHEN FILENAME SENT, ACKNOWLEDGE' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' CALL SkipLine(1) ' CLEAN UP Sysop's DISPLAY ' DD122601
- '
- ' COMPLETION OF AUTODOWNLOAD FILENAME Transfer
- '
- '20306 END SUB ' DD062304
- '20310 $SUBTITLE: 'TestUser - interrogate user for AUTO-Downloading support' ' DD062304
- ' $PAGE
- '
- ' NAME -- TestUser
- '
- ' INPUTS -- NONE
- '
- ' OUTPUTS -- ZAutoDownYes -1 IF USER'S COMMUNICATION
- ' SOFTWARE CAN DO AUTODOWNLOADING
- '
- ' ZAutoDownVerified TRUE IF COMMUNICATIONS PGM
- ' EVER CHECKED
- '
- ' PURPOSE -- Send the user an <ESCAPE><XON> and if response
- ' is a recognized package, set appropriate flag.
- '
- ' SUB TestUser STATIC ' DD090502
- '
- '
- ' * TEST FOR COMMUNICATIONS USING WasN,8,1 Protocol AND EXECPC Talk VER 2.0+
- ' * TO SEE IF CALLER CAN USE THE AUTODOWNLOAD FEATURE
- '
- '
- ' ZAbort = ZFalse ' DD090502
- ' ZAutoDownVerified = ZTrue ' DD090502
- ' CALL FlushCom(ZWasY$) ' FLUSH THE COMM BUFFER' DD090502
- ' IF ZSubParm = -1 THEN _ ' DD090502
- ' EXIT SUB ' DD090502
- ' CALL PutCom (ZEscape$ + ZXOn$) ' DD090502
- ' IF ZAbort = ZTrue THEN _ ' DD090502
- ' GOTO 20315 ' DD090502
- ' CALL DelayTime (2) ' WAIT TWO SECONDS FOR Reply' DD090502
- '20313 CALL FlushCom(ZWasY$) ' GET CONTENTS OF COMM BUFFER' DD062304
- ' IF ZSubParm = -1 THEN _ ' DD090502
- ' EXIT SUB ' DD090502
- ' IF INSTR(ZWasY$,"EXECPC") THEN _ ' DD090502
- ' ZComProgram = 1 ' DD090502
- ' IF INSTR(ZWasY$,"PIBTERM") THEN _ ' DD090502
- ' ZComProgram = 2 ' DD090502
- ' IF INSTR(ZWasY$,"PROCOMM") THEN _ ' DD090502
- ' ZComProgram = 3 ' DD090502
- ' IF INSTR(ZWasY$,"QMODEM") THEN _ ' DD090502
- ' ZComProgram = 4 ' DD090502
- ' ZAutoDownYes = (ZComProgram > 0 AND ZComProgram < 3) ' DD090502
- '20315 END SUB ' DD062304
- * DELETING old line(s)
- 20293
- 20295
- 20296
- 20298
- 20300
- 20305
- 20306
- 20310
- 20313
- 20315
- * REPLACING old line(s) by new
- 20705 ' $SUBTITLE: 'UpdtUpload -- Updates upload directory'
- ' $PAGE
- ' NAME -- UpdtUpload
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZFileName$
- ' ZUpldDir$
- ' ZFileNameHold$
- ' ZShareIt
- ' ZFMSDirectory$
- ' ZWasQ!
- ' ZSecsUsedSession!
- '
- ' OUTPUTS -- ZBytesInFile#
- ' ZSecsPerSession!
- '
- ' PURPOSE -- Upon a successful upload, add entry to the upload
- ' directory and give any session time credit.
- '
- * ------[ first line different ]------
- SUB UpdtUpload (ZCategoryName$(1),ZCategoryCode$(1),LinesInDesc,WasFF) STATIC 'Mpl090202
- ON WasFF GOTO 20710,20724,20722 'Pe 11/20/89
- * DELETING old line(s)
- 20708
- 20709
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20710 ZAlreadyGiven = ZFalse 'Pe BatchUp Mod
- ZAbort = ZFalse ' PE ZAbort MOD
- CALL BreakFileName (ZFileNameHold$,Pre$,Body$,Ext$,ZFalse) ' DD011002/GIF
- IF Ext$ = "GIF" THEN ' DD011002/GIF
- DescLen = ZMaxDescLen + (5 * ZShowTimesDownloaded) - 15 ' DD062303
- CALL QuickTPut1(ZFG2$ + "Dimensions will automatically " + _' DD031205/GIF
- "be placed in description" + ZEmphasizeOff$)' DD011002/GIF
- ELSE ' DD011002/GIF
- DescLen = ZMaxDescLen + (5 * ZShowTimesDownloaded) ' DD011002/GIF
- END IF ' DD011002/GIF
- * INSERTING new line(s)
- 20711 CALL QuickTput1 (ZFG2$ + "Describe " + ZFGB$ + _ ' DD031205
- ZFileNameHold$) ' DD031205
- CALL QuickTPut1 (ZFG2$ + "(Enter " + ZFGB$ + ZBG1$ + _ ' DD031205
- "ABORT" + ZFG2$ + ZBG0$ + " to cancel!)") ' DD031205
- CALL QuickTPut1 (ZFGE$ + _ ' DD031205
- (LEFT$("|-----<" + ZFGC$ + "Min" + ZFGE$ + _ ' DD031205
- "----+---2+0---+---3+0---+---4+0---+-", _ ' DD031205
- DescLen - 4 + LEN(ZFGE$) + LEN(ZFGC$)) + _ ' DD032501
- ZFGC$ + "Max" + ZFGE$ + ">" + ZEmphasizeOff$)) ' DD031205
- ZOutTxt$ = ""
- ZSubParm = 1
- ZParseOff = ZTrue
- CALL TGet
- CALL Carrier
- IF ZSubParm = -1 THEN _ 'Pe 11/20/89
- EXIT SUB 'Pe 11/20/89
- TempUserIn$ = ZUserIn$ 'Pe 02/17/90
- CALL AllCaps (TempUserIn$) 'Pe 02/17/90
- IF TempUserIn$ = "ABORT" THEN _ 'Pe 02/17/90
- ZAbort = ZTrue : _ ' Mpl090202
- TempUserIn$ = "" : _ 'Pe 02/17/90
- EXIT SUB
- IF LEN(ZUserIn$) > DescLen OR LEN(ZUserIn$) < 7 THEN _ ' DD011002/GIF
- CALL QuickTput1 (ZFGE$ + "Description must be " + _ ' DD031205
- ZFGC$ + "7 " + ZFGE$ + "chars minimum," + _ ' DD031205
- ZFGC$ + STR$(DescLen) + ZFGE$ + " chars maximum") : _ ' DD031205
- GOTO 20711 ' DD031205
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20712 ZDesc$ = ZUserIn$ ' Mpl090202
- CALL NameCaps (ZDesc$) ' DD031101
- IF NOT ZLimitSearchToFMS THEN _
- IF ZFMSDirectory$ <> ZUpldDir$ THEN _
- IF LEFT$(ZUserIn$,1) = CHR$(47) OR LEFT$(ZUserIn$,1) = CHR$(92) THEN _ ' DD021301
- GOTO 20719 _ ' Mpl090202
- ELSE GOTO 20716 ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20715 IF LEFT$(ZUserIn$,1) = CHR$(47) OR LEFT$(ZUserIn$,1) = CHR$(92) THEN _ ' DD021301
- ZUCat$ = STRING$(3,42) : _ '* ' DD021301
- GOTO 20719 ' Mpl090202
- * INSERTING new line(s)
- 20716 ZUCat$ = ZDefaultCatCode$ ' Mpl090202
- IF ZSubParm = -1 OR ZUserSecLevel < ZSLCategorizeUplds THEN _ ' Mpl090202
- GOTO 20719 ' Mpl090202
- IF ZMplPersUpload = Ztrue THEN _ 'Pe 06/08/91
- GOTO 20719 ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20717 TempIndex = ZLastIndex 'Pe 09/14/91
- IF NOT ZExpertUser THEN _ ' DD011001
- CALL Graphic (ZUpcatHelp$) : _ ' DD011001
- CALL BufFile (ZUpcatHelp$,WasX) ' DD011001
- ZLastIndex = TempIndex 'Pe 09/14/91
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20718 ZOutTxt$ = ZFG2$ + "Select Upload Category " + _ ' DD062304
- "(D=default,L=list)" + ZEmphasizeOff$ ' DD062304
- ZSubParm = 1 ' Mpl090202
- CALL TGet ' Mpl090202
- CALL SkipLine (1) ' DD082501
- CALL AraAllCaps (ZUserIn$(),1) ' Mpl090202
- IF ZSubParm = -1 THEN _ ' Mpl090202
- EXIT SUB 'Pe 11/20/89
- IF ZWasQ = 0 THEN _
- GOTO 20718 ' DD032501
- IF ZUserIn$(1) = CHR$(76) OR _ 'L ' DD062304
- ZUserIn$(1) = CHR$(42) OR _ '* ' DD021301
- ZUserIn$(1) = CHR$(63) THEN '? ' DD021301
- TempIndex = ZLastIndex ' DD032501
- CALL Graphic (ZUpcatHelp$) : _ ' DD032501
- CALL BufFile (ZUpcatHelp$,WasX) ' DD032501
- ZLastIndex = TempIndex ' DD032501
- GOTO 20718 ' DD032501
- END IF ' DD032501
- IF ZUserIn$(1) = CHR$(68) THEN _ 'D ' DD032501
- ZUserIn$(1) = ZDefaultCatCode$ ' DD032501
- CALL SearchArray (ZUserIn$(1),ZCategoryName$(),ZNumCategories,Found)' Mpl090202
- IF Found > 0 THEN _ ' Mpl090202
- ZUCat$ = ZCategoryCode$(Found) : _ ' Mpl090202
- IF LEN(ZUCat$) > 0 AND LEN(ZUCat$) < 4 AND INSTR(ZUCat$,CHR$(44)) = 0 THEN _ ' DD021301
- GOTO 20719 ' Mpl090202
- ZUCat$ = "" ' Mpl090202
- IF NOT ZLimitSearchToFMS THEN _ ' Mpl090202
- StrewTo$ = ZDirPath$ + _ ' Mpl090202
- ZUserIn$(1) + _ ' Mpl090202
- CHR$(46) + _ ' DD021301
- ZDirExtension$ : _ ' Mpl090202
- CALL FindIt (StrewTo$) : _ 'Pe 11/21/89
- IF ZOK THEN _ ' Mpl090202
- GOTO 20719 ' DD070701
- ' ELSE CALL WORDInFile (ZUpcatHelp$,ZUserIn$(1),ZOK) : _ ' DD070701
- ' IF ZOK THEN _ ' DD070701
- ' GOTO 20719 ' DD070701
- StrewTo$ = "" ' Mpl090202
- CALL QuickTPut (ZFGB$ + "No such category " + _ ' DD031704
- ZFGE$ + ZUserIn$(1) + CHR$(33) + _ ' DD031704
- ZEmphasizeOff$,2) ' DD031704
- GOTO 20717 'Pe 11/21/89
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20719 IF ZUpBatchTransfer Then _ ' Mpl090202
- CALL BatchUpLoad (ZDesc$,ZUCat$,1) : _ ' Mpl090202
- GOTO 20720 ' Mpl090202
- IF ZMplPersUpload = ZTrue THEN _ ' Mpl090202
- ZMplPersUpload = ZFalse ' Mpl090202
- ' GOTO 20720 ' Mpl090202
- IF ZUserSecLevel >= ZAskExtendedDesc AND _ ' Mpl090202
- ZMaxExtendedLines > 0 AND ZSubParm <> -1 THEN _ ' Mpl090202
- ZOutTxt$ = ZFG2$ + "Add an extended description of " + _ ' DD082501
- ZFGB$ + ZFileNameHold$ + ZFG2$ + CHR$(63) + _ ' DD021301
- ZEmphasizeOff$ + ZNoPrompt$ : _ ' DD082501
- ZTurboKey = -ZTurboKeyUser : _ ' Mpl090202
- ZSubParm = 1 : _ ' Mpl090202
- CALL TGet : _ ' Mpl090202
- IF ZSubParm <> -1 THEN _ ' Mpl090202
- IF ZYes THEN _ ' Mpl090202
- CALL SkipLine (1) : _ ' Mpl090202
- CALL PutCom (ZBellRinger$) : _ ' DD070402
- CALL QuickTPut (ZFGE$ + ZBG1$ + _ ' DD070402
- " Description must be entered " + _ ' DD082501
- "AFTER the upload is Completed! " + _ ' DD082501
- ZEmphasizeOff$,2) : _ ' DD031302
- CALL DelayTime (2) : _ ' Mpl090202
- ZGetExtDesc = ZTrue ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20720 CALL OpenOutW (ZNodeWorkDrvPath$ + "UPDESC" +ZNodeID$ +".LST") ' DD032501
- Print #2, ZFileName$ ' Mpl090202
- Print #2, ZFileNameHold$ ' Mpl090202
- Print #2, ZDesc$ ' Mpl090202
- Print #2, ZUCat$ ' Mpl090202
- Print #2, ZActiveFMSDir$ ' Mpl090202
- Print #2, ZFMSDirectory$ ' Mpl090202
- Print #2, ZAbort ' Mpl090202
- Print #2, ZGetExtDesc ' Mpl090202
- Print #2, StrewTo$ ' Mpl090202
- Print #2, ZAllwaysStrewTo$ ' Mpl090202
- Print #2, ZUpldDir$ ' Mpl090202
- Close 2 ' Mpl090202
- EXIT SUB ' Mpl090202
- ' *** routine AFTER the Upload is successfull and Extended = True ***' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20722 GOSUB 20760 'Pe 09/12/91
- GOTO 20732 'Pe 09/12/91
- ' *** ENTRY POINT WHEN UPLOAD is Finished *** ' Mpl090202
- * DELETING old line(s)
- 20723
- * INSERTING new line(s)
- 20724 IF ZPrivateDoor THEN ' Mpl090202
- CALL OpenWork (2,ZNodeWorkDrvPath$ + "UPDESC" +ZNodeID$ +".LST") ' DD032501
- While Not EOF(2) ' Mpl090202
- Input #2, ZFileName$ ' Mpl090202
- Input #2, ZFileNameHold$ ' Mpl090202
- Input #2, ZDesc$ ' Mpl090202
- Input #2, ZUCat$ ' Mpl090202
- Input #2, ZActiveFMSDir$ ' Mpl090202
- Input #2, ZFMSDirectory$ ' Mpl090202
- Input #2, ZAbort ' Mpl090202
- Input #2, ZGetExtDesc ' Mpl090202
- Input #2, StrewTo$ ' Mpl090202
- Input #2, ZAllwaysStrewTo$ ' Mpl090202
- InPut #2, ZUpldDir$ ' Mpl090202
- WEND ' Mpl090202
- ' CLOSE 2 'KillWork Closes #2 ' DD060703
- END IF ' Mpl090202
- CALL KillWork (ZNodeWorkDrvPath$ + "UPDESC" +ZNodeID$ +".LST")' DD051502
- IF ZErrCode > 0 THEN _ 'Pe 06/10/92
- ZErrCode = 0 'Pe 06/10/92
- GOSUB 20738 'find uploaded file ' Mpl090202
- IF NOT ZAlreadyGiven THEN ' Mpl090202
- CALL TimeRemain (MinsRemaining) ' Mpl090202
- IF ZPrivateDoor THEN _ ' Mpl090202
- WasX! = ZUpldTimeFactor! * ZWasQ! _ ' Mpl090202
- ELSE WasX! = ZUpldTimeFactor! * (ZSecsUsedSession! - ZWasQ!)' Mpl090202
- END IF ' Mpl090202
- IF ZAbort = ZTrue THEN _ 'Corrects aborted uploads ' Mpl090202
- EXIT SUB 'corrects aborted uploads ' Mpl090202
- CALL BreakFileName (ZFileName$, WDR$, WZZ$, WX$, ZTrue) 'Pe 11/26/89
- Ext$ = WX$ ' Mpl090202
- CALL BreakFileName (ZFileName$,Pre$,Body$,Ext$,ZFalse) ' Mpl090202
- WasX$ = ZDiskForDos$ + CHR$(84) + Ext$ + ".BAT" 'T ' DD021301
- CALL FindIt (WasX$) ' Mpl090202
- IF ZOK THEN ' Mpl090202
- IF ZSysop OR ZUserSecLevel >= ZAddDirSecurity THEN ' DD120201
- CALL QuickTPut (ZFG2$ + "Test " + ZFGB$ + _ ' DD041804
- ZFileName$ + ZFG2$ + CHR$(63) + _ ' DD041804
- ZEmphasizeOff$,0) ' DD041804
- ZSubParm = 1 ' DD120201
- ZOutTxt$ = ZYesPrompt$ ' DD080804
- ZTurboKey = -ZTurboKeyUser ' DD120201
- CALL TGet ' DD120201
- IF ZSubParm = -1 THEN _ ' DD120201
- EXIT SUB ' DD120201
- IF ZNO THEN _ ' DD080804
- GOTO 20727 ' DD120201
- END IF ' DD120201
- CALL QuickTPut1 (ZFGB$ + "Testing " + ZFGE$ + _ ' DD041804
- ZFileName$ + ZEmphasizeOff$) ' DD041804
- CALL ReadDir (2,1) ' Mpl090202
- ZGSRAra$(2) = ZNodeWorkDrvPath$ + "VCHK" + ZNodeFileID$ ' Mpl090202
- IF EOF(2) THEN _ ' Mpl090202
- WasX$ = ZOutTxt$ : _ ' Mpl090202
- ZGSRAra$(1) = ZFileName$ _ ' Mpl090202
- ELSE WasX$ = WasX$ + SPACE$(1) + _ ' DD021301
- ZFileName$ + SPACE$(1) + ZGSRAra$(2) ' DD021301
- CALL ShellExit (WasX$) ' Mpl090202
- CALL Line25 ' DD032702
- CALL FindIt (ZGSRAra$(2)) ' Mpl090202
- IF ZOK THEN _ ' Mpl090202
- IF LOF(2) > 2 THEN _ ' Mpl090202
- ZBytesInFile# = 0.0 : _ ' Mpl090202
- WasX$ = "Deleting BAD upload " + ZFileNameHold$ : _ ' Mpl090202
- CALL QuickTPut1 (WasX$) : _ ' Mpl090202
- CALL UpdtCalr (WasX$,2) : _ ' Mpl090202
- CALL KillWork (ZFileName$) : _ ' Mpl090202
- ZGetExtDesc = ZFalse : _ ' DD050602
- EXIT SUB ' Mpl090202
- GOTO 20727 ' Mpl090202
- END IF ' Mpl090202
- WasX$ = ZDiskForDos$ + CHR$(67) + Ext$ + ZDefaultExtension$ + ".BAT" ' DD021301
- CALL FindIt (WasX$) ' Mpl090202
- IF NOT ZOK THEN _ ' Mpl090202
- GOTO 20727 ' Mpl090202
- TooZip$ = ZDirPath$+"X2ZIP" + ZNodeID$ + ".LST" 'Pe 06/01/92
- CALL FindIt (TooZip$) ' Mpl090202
- IF NOT ZOK THEN _ 'Pe 06/01/92
- GOTO 20726 ' Mpl090202
- CALL OpenWork (2,TooZip$) ' Mpl090202
- WHILE NOT EOF(2) ' Mpl090202
- INPUT #2, Check$ ' Mpl090202
- IF UCASE$(Check$) = "YES" THEN _ ' DD062304
- AskToConvert = Ztrue :_ ' Mpl090202
- CLOSE 2 : _ ' Mpl090202
- GOTO 20725 ' Mpl090202
- IF WX$ = Check$ THEN _ ' Mpl090202
- CLOSE 2 : _ ' Mpl090202
- GOTO 20727 ' Mpl090202
- WEND ' Mpl090202
- CLOSE 2 ' Mpl090202
- 20725 IF ZAutoEnd = 1 THEN 'Pe 01/24/90
- IF WX$ = Check$ THEN GOTO 20727 ELSE GOTO 20726 'Pe 01/24/90
- END IF ' Mpl090202
- IF ZSysop OR (ZUserSecLevel > = ZAddDirSecurity AND _ ' DD091003
- AskToConvert = ZTrue) THEN ' DD091003
- CALL QuickTPut (ZFG2$ + "Convert or verify " + ZFGB$ + _ ' DD041804
- ZFileName$ + ZFG2$ + CHR$(63) + _ ' DD041804
- ZEmphasizeOff$,0) ' DD041804
- AskToConvert = ZFalse ' Mpl090202
- ZSubParm = 1 ' Mpl090202
- ZOutTxt$ = ZYesPrompt$ ' DD080804
- ZTurboKey = -ZTurboKeyUser ' Mpl090202
- CALL TGet ' Mpl090202
- IF ZSubParm = -1 THEN _ ' Mpl090202
- EXIT SUB ' Mpl090202
- IF ZNO THEN _ ' DD080804
- GOTO 20727 ' Mpl090202
- END IF ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20726 ZOutTxt$ = "Converting" 'Pe 01/26/92
- IF Ext$ = ZDefaultExtension$ THEN _ ' Mpl090202
- ZOutTxt$ = "Re-" + ZOutTxt$ ' DD031302
- CALL SkipLine (1) ' DD031302
- CALL QuickTPut1 (ZFGB$ + ZOutTxt$ + " upload to " + _ ' DD031302
- ZFGE$ + ZDefaultExtension$ + CHR$(46) + ZFGE$ + _ ' DD021301
- SPACE$(2) + "Please wait!" + ZEmphasizeOff$) ' DD082501
- CALL OpenWork (2,WasX$) 'Pe 09/25/91
- CALL ReadDir (2,1) ' Mpl090202
- IF EOF(2) THEN _ ' Mpl090202
- WasX$ = ZOutTxt$ ' Mpl090202
- ZGSRAra$(1) = ZFileName$ ' Mpl090202
- CALL BreakFileName (ZFileName$,Pre$,Body$,Ext$,ZTrue) ' Mpl090202
- ZFileNameHold$ = Body$ + CHR$(46) + ZDefaultExtension$ ' DD021301
- ZUserIn$(0) = ZFileName$ ' Mpl090202
- ZFileName$ = Pre$ + ZFileNameHold$ ' Mpl090202
- CALL ShellExit (WasX$ + SPACE$(1) + Body$ + SPACE$(1) + ZNodeID$ + _ ' DD021301
- SPACE$(1) + Pre$) ' DD021301
- CALL Line25 ' DD032702
- CALL FindIt (ZFileName$) ' Mpl090202
- IF NOT ZOK THEN _ ' Mpl090202
- CALL UpdtCalr (ZFileName$ + " < ABORTED in Cnvt >",2) : _ ' Mpl090202
- ZGetExtDesc = ZFalse : _ ' DD050602
- ZFileName$ = ZGSRAra$(1) : _ ' Mpl090202
- CALL FindIt (ZFileName$) : _ ' Mpl090202
- ZFileNameHold$ = Body$ + Ext$ : _ ' Mpl090202
- IF ZOK THEN _ ' Mpl090202
- ZFileName$ = ZFileNameHold$ ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20727 GOSUB 20738 ' Mpl090202
- CALL CheckNovell (ZOK) ' Mpl090202
- IF ZOK <> -1 THEN _ ' Mpl090202
- CALL SetSharedAttr (ZFileName$, ZOK) : _ ' Mpl090202
- IF ZOK <> 0 THEN _ ' Mpl090202
- CALL PScrn ("Error setting shared attribute") ' Mpl090202
- IF ZGetExtDesc THEN _ ' Mpl090202
- EXIT SUB ' Mpl090202
- GOSUB 20760 'Pe 09/12/91
- * DELETING old line(s)
- 20728
- 20729
- 20731
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20732 IF ZLogUploader = 0 THEN ' DD090501
- IF LEFT$(ZUserIn$,1) = CHR$(47) OR LEFT$(ZUserIn$,1) = CHR$(92) OR _ ' DD021301
- NumPersonals > 0 THEN _ ' Mpl090202
- WX$ = WX$+CHR$(42) ' DD021301
- CALL AMorPM 'Pe 11/25/89
- IF ZActiveUserName$ = ZSysopPswd1$ + _ ' Mpl090202
- SPACE$(1) + ZSysopPswd2$ THEN _ ' DD021301
- ULBYNAME$ = "Sysop" _ 'Pe 06/05/91
- ELSE ULBYNAME$ = ZActiveUserName$ 'Pe 11/25/89
- ULXXX$ = WZZ$+WX$+SPACE$(13-(LEN(WZZ$)+LEN(WX$))) 'Pe 01/24/90
- UPLOADLG$ = "{C2"+ ULXXX$ + _ ' DD083003
- "{CE"+ ULBYNAME$+SPACE$(34-LEN(ULBYNAME$)) + _' DD083003
- "{C5"+ DATE$ + SPACE$(3) + _ ' DD021301
- "{CB"+ ZTime$+" {C0" ' DD083003
- CALL OpenWorkA (2,ZDirPath$ +"UPLOADLG.DEF") ' DD040601
- CALL PrintWorkA (2,UPLOADLG$) ' DD040601
- CLOSE 2 'Pe 01/18/90
- END IF 'Pe 03/13/92
- IF ZFMSDirectory$ <> ZUpldDir$ THEN _ ' Mpl090202
- IF LEFT$(ZUserIn$,1) = CHR$(47) OR LEFT$(ZUserIn$,1) = CHR$(92) THEN _ ' DD021301
- CALL UpdtCalr (ZUserIn$,2): _ ' Mpl090202
- GOTO 20733 ' Mpl090202
- IF NumPersonals <> 0 THEN _ ' Mpl090202
- GOTO 20733 ' Mpl090202
- IF ZPrivateDoor THEN _ ' Mpl090202
- ZWasEN$ = ZUpldDoor$ _ ' Mpl090202
- ELSE ZWasEN$ = ZUpldDir$ ' Mpl090202
- GOSUB 20734 ' Mpl090202
- * INSERTING new line(s)
- 20733 ZWasDF$ = " >> uploaded << " ' Mpl090202
- CALL BreakFileName (ZFileName$,DR$,WasX$,Extension$,ZTrue) ' Mpl090202
- ZWasZ$ = WasX$ + _ ' Mpl090202
- Extension$ + _ ' Mpl090202
- ZWasDF$ + _ ' Mpl090202
- " at " + _ ' Mpl090202
- ZTime$ + _ ' Mpl090202
- " using " + _ ' Mpl090202
- ZWasFT$ + _ ' Mpl090202
- STR$(ZBytesInFile#) ' Mpl090202
- CALL UpdtCalr (ZWasZ$,2) ' Mpl090202
- ZUplds = ZUplds + 1 ' Mpl090202
- ZGlobalUplds = ZGlobalUplds + 1 ' Mpl090202
- ZULBytes! = ZULBytes! + ZBytesInFile# ' Mpl090202
- ZGlobalULBytes! = ZGlobalULBytes! + ZBytesInFile# ' Mpl090202
- IF NOT ZAlreadyGiven THEN ' Mpl090202
- CALL TimeRemain (MinsRemaining!) ' Mpl090202
- MinsToAdd = WasX! / 60 ' Mpl090202
- CALL ChkAddedTime (MinsToAdd) ' Mpl090202
- WasX! = MinsToAdd * 60! ' Mpl090202
- ZTimeCredits! = ZTimeCredits! + WasX! ' Mpl090202
- ZSecsPerSession! = ZSecsPerSession! + WasX! ' Mpl090202
- IF ZPrivateDoor THEN _ ' Mpl090202
- WasX! = (WasX! - ZWasQ!) / 60.0 _ ' Mpl090202
- ELSE WasX! = (WasX! - ZSecsUsedSession! + ZWasQ!)/60.0 ' Mpl090202
- WasX$ = STR$(FIX(WasX!*10.0)) ' Mpl090202
- WasX$ = LEFT$(WasX$,LEN(WasX$)-1) + CHR$(46) + RIGHT$(WasX$,1) ' DD021301
- IF WasX! > 1.0 THEN _ ' Mpl090202
- CALL QuickTPut1 ("Session time increased by"+WasX$+" minutes")' Mpl090202
- END IF ' Mpl090202
- CALL SkipLine (1) ' DD031302
- CALL QuickTPut1 ("Upload successful, " + _ ' DD031302
- "Thanks for the upload " + ZFirstName$) ' DD031302
- ZMenuNewUpld = ZMenuNewUpld + 1 ' DD090101/MENU0
- CALL DelayTime (2) 'Pe 02/23/90
- ZGetExtDesc = ZFalse ' Mpl090202
- EXIT SUB ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20734 ' ---[ lock file ]--- ' Mpl090202
- IF ZWasEN$ = "" THEN _ ' Mpl090202
- RETURN ' Mpl090202
- IF NOT ZPrivateDoor THEN ' DD120501
- ' ' DD070702
- ' * DOZ file processing ' DD070702
- ' ' DD070702
- IF ZDOZFile$ <> "" THEN ' DD070702
- CALL BreakFileName (ZFileName$,Drive$,Body$,Ext$,ZTrue) ' DD070702
- tempfile$ = ZUpldSubDir$ + CHR$(92) + ZDOZFile$ ' DD070702
- CALL FindItX (tempfile$,7) ' DD070702
- IF ZOK THEN ' DD070702
- DO ' DD070702
- IF NOT EOF(7) THEN ' DD070702
- LINE INPUT #7, DOZLine$ ' DD070702
- DOZLine$ = RIGHT$(DOZLine$,LEN(DOZLine$) - 4) ' DD070702
- EndDOZName = INSTR(DOZLine$,SPACE$(1)) - 1 ' DD070702
- DOZName$ = LEFT$(DOZLine$,EndDOZName) ' DD070702
- IF DOZName$ = Body$ + Ext$ THEN ' DD070702
- EXIT DO ' DD070702
- END IF ' DD070702
- END IF ' DD070702
- LOOP WHILE NOT EOF(7) ' DD070702
- IF DOZName$ = Body$ + Ext$ AND NOT EOF(7) THEN ' DD070702
- DOZDescLen = ZMaxDescLen + (5 * ZShowTimesDownloaded) ' DD070702
- IF Ext$ = ".GIF" THEN ' DD070702
- DOZDescLen = DescLen ' DD070702
- END IF ' DD070702
- LINE INPUT #7, DOZLine$ ' DD070702
- IF LEN(DOZLine$) > DOZDescLen THEN ' DD070702
- ZOutTxt$(1) = DOZLine$ ' DD070702
- CALL WordWrap (DOZDescLen,2,ZOutTxt$()) ' DD070702
- ZDesc$ = ZOutTxt$(1) ' DD070702
- Extra$ = ZOutTxt$(2) ' DD070702
- ELSE ' DD070702
- ZDesc$ = LTRIM$(DOZLine$) ' DD070702
- Extra$ = "" ' DD070702
- END IF ' DD070702
- WasLL = ZRightMargin ' DD070702
- ZRightMargin = 30 + ZMaxDescLen + _ ' DD070702
- (5 * ZShowTimesDownloaded) ' DD070702
- IF ZRightMargin > 74 THEN _ ' DD070702
- ZRightMargin = 74 ' DD070702
- LinesInDesc = 0 ' DD070702
- DO ' DD070702
- LinesInDesc = LinesInDesc + 1 ' DD070702
- IF NOT EOF(7) THEN ' DD070702
- LINE INPUT #7,ZOutTxt$(LinesInDesc) ' DD070702
- ELSE ' DD070702
- EXIT DO ' DD070702
- END IF ' DD070702
- IF LEFT$(ZOutTxt$(LinesInDesc),3) = "{FI" THEN ' DD070702
- ZOutTxt$(LinesInDesc) = "" ' DD070702
- LinesInDesc = LinesInDesc - 1 ' DD070702
- EXIT DO ' DD070702
- END IF ' DD070702
- IF Extra$ <> "" THEN ' DD070702
- ZOutTxt$(LinesInDesc) = Extra$ + _ ' DD070702
- SPACE$(1) + _ ' DD070702
- ZOutTxt$(LinesInDesc)' DD070702
- Extra$ = "" ' DD070702
- END IF ' DD070702
- CALL RemNonAlf (ZOutTxt$(LinesInDesc),31,127) ' DD070702
- CALL Trim (ZOutTxt$(LinesInDesc)) ' DD070702
- IF LEN(ZOutTxt$(LinesInDesc - 1)) < (ZRightMargin - 10) AND _ ' DD070702
- LinesInDesc > 1 THEN _ ' DD070702
- ZOutTxt$(LinesInDesc - 1) = ZOutTxt$(LinesInDesc - 1) + _ ' DD070702
- SPACE$(1) + ZOutTxt$(LinesInDesc) : _ ' DD070702
- ZOutTxt$(LinesInDesc) = "" : _ ' DD070702
- ZOutTxt$(LinesInDesc + 1) = "" : _ ' DD070702
- LinesInDesc = LinesInDesc - 1 ' DD070702
- LOOP WHILE NOT EOF(7) AND LinesInDesc < ZMaxExtendedLines ' DD070702
- ZGetExtDesc = ZTrue ' DD070702
- CALL WordWrap (ZRightMargin,LinesInDesc,ZOutTxt$())' DD070702
- CALL PutCom (ZBellRinger$) ' DD070702
- CALL QuickTPut1 (ZCRLf$ + ZEmphasizeOn$ + _ ' DD070702
- " Using " + ZDOZFile$ + " for Upload Description " + _ ' DD070702
- ZEmphasizeOff$) ' DD070702
- ZRightMargin = WasLL ' DD070702
- END IF ' DD070702
- CLOSE 7 ' DD070702
- END IF ' DD070702
- END IF ' DD070702
- ' ' DD070702
- ' * FILE_ID.DIZ file processing ' DD070702
- ' ' DD070702
- tempfile$ = ZNodeWorkDrvPath$ + "FILE_ID.DIZ" ' DD120501
- CALL FindItX (tempfile$,7) ' DD120501
- IF ZOK THEN ' DD120501
- ZGetExtDesc = ZTrue ' DD120501
- IF LEFT$(ZDesc$,1) <> CHR$(47) AND LEFT$(ZDesc$,1) <> CHR$(92) THEN ' DD021301
- LINE INPUT #7, ZDesc$ ' DD021201
- CALL RemNonAlf (ZDesc$,31,127) ' DD021201
- ZDesc$ = LEFT$(ZDesc$,ZMaxDescLen + (5 * ZShowTimesDownloaded)) ' DD052301
- END IF ' DD120501
- WasLL = ZRightMargin ' DD120501
- ZRightMargin = 30 + ZMaxDescLen + _ ' DD052301
- (5 * ZShowTimesDownloaded) ' DD052301
- IF ZRightMargin > 74 THEN _ ' DD120501
- ZRightMargin = 74 ' DD120501
- LinesInDesc = 0 ' DD120501
- WHILE NOT EOF(7) AND LinesInDesc < ZMaxExtendedLines ' DD120501
- LinesInDesc = LinesInDesc + 1 ' DD120501
- LINE INPUT #7,ZOutTxt$(LinesInDesc) ' DD120501
- CALL RemNonAlf (ZOutTxt$(LinesInDesc),31,127) ' DD021201
- CALL Trim (ZOutTxt$(LinesInDesc)) ' DD031704
- IF LEN(ZOutTxt$(LinesInDesc - 1)) < (ZRightMargin - 10) AND _' DD120501
- LinesInDesc > 1 THEN _ ' DD120501
- ZOutTxt$(LinesInDesc - 1) = ZOutTxt$(LinesInDesc - 1) + _' DD120501
- SPACE$(1) + ZOutTxt$(LinesInDesc) : _ ' DD021301
- ZOutTxt$(LinesInDesc) = "" : _ ' DD120501
- ZOutTxt$(LinesInDesc + 1) = "" : _ ' DD120501
- LinesInDesc = LinesInDesc - 1 ' DD120501
- WEND ' DD120501
- CLOSE 7 ' DD120501
- CALL WordWrap (ZRightMargin,LinesInDesc,ZOutTxt$()) ' DD120501
- CALL PutCom (ZBellRinger$) ' DD070402
- CALL QuickTPut1 (ZEmphasizeOn$ + _ ' DD070402
- " Using FILE_ID.DIZ for Upload Description " + _ ' DD120501
- ZEmphasizeOff$) ' DD120501
- CALL KillWork (tempfile$) ' DD120501
- ZRightMargin = WasLL ' DD120501
- END IF ' DD120501
- ' ' DD070702
- ' * .GIF file processing ' DD070702
- ' ' DD070702
- CALL BreakFileName (ZFileName$,Pre$,Body$,Ext$,ZFalse) ' DD011002/GIF
- IF Ext$ = "GIF" THEN ' DD011002/GIF
- GIFHeader$ = STRING$(3,42) ' DD021301/GIF
- numstr$ = CHR$(42) ' DD021301/GIF
- IF ZShareIt THEN ' DD062801
- OPEN ZFileName$ FOR BINARY ACCESS READ SHARED AS #7 ' DD062801
- ELSE ' DD062801
- OPEN ZFileName$ FOR BINARY AS #7 ' DD062801
- END IF ' DD062801
- SEEK #7, 1 ' DD011002/GIF
- GIFHeader$ = INPUT$(6, #7) ' DD011002/GIF
- numstr$ = INPUT$(1,#7) ' DD011002/GIF
- i1 = ASC(numstr$) ' DD011002/GIF
- numstr$ = INPUT$(1,#7) ' DD011002/GIF
- i2 = ASC(numstr$) ' DD011002/GIF
- i2 = i2 * 256 ' DD051501/GIF
- GIFWidth = i2 OR i1 ' DD011002/GIF
- numstr$ = INPUT$(1,#7) ' DD011002/GIF
- i1 = ASC(numstr$) ' DD011002/GIF
- numstr$ = INPUT$(1,#7) ' DD011002/GIF
- i2 = ASC(numstr$) ' DD011002/GIF
- i2 = i2 * 256 ' DD021501/GIF
- GIFHeight = i2 OR i1 ' DD011002/GIF
- numstr$ = INPUT$(1,#7) ' DD011002/GIF
- byte1 = ASC(numstr$) ' DD011002/GIF
- CLOSE 7 ' DD011002/GIF
- BitsPerPixel = byte1 AND 7 ' DD011002/GIF
- BitsPerPixel = BitsPerPixel + 1 ' DD011002/GIF
- GIFColors = 1 ' DD011002/GIF
- GIFColors = GIFColors * 2^BitsPerPixel ' DD021501/GIF
- GIFWidth$ = STR$(GIFWidth) ' DD011002/GIF
- CALL Trim(GIFWidth$) ' DD011002/GIF
- GIFHeight$ = STR$(GIFHeight) ' DD011002/GIF
- CALL Trim(GIFHeight$) ' DD011002/GIF
- GIFColors$ = STR$(GIFColors) ' DD011002/GIF
- CALL Trim(GIFColors$) ' DD011002/GIF
- IF GIFHeader$ = "GIF87a" THEN ' DD011002/GIF
- ZDesc$ = CHR$(40) + GIFWidth$ + CHR$(120) + GIFHeight$ + _ ' DD021301/GIF
- CHR$(120) + GIFColors$ + CHR$(41) + SPACE$(1) + ZDesc$ ' DD021301/GIF
- END IF ' DD011002/GIF
- END IF ' DD011002/GIF
- END IF ' DD120501
- FMSFormat = ZFalse ' Mpl090202
- IF (ZWasEN$ = ZFMSDirectory$ OR ZLimitSearchToFMS _ ' Mpl090202
- OR NumPersonals > 0 OR (ZPrivateDoor AND ZFMSDoor)) THEN _ ' Mpl090202
- FMSFormat = ZTrue _ ' Mpl090202
- ELSE CALL FindIt (ZWasEN$) : _ ' Mpl090202
- IF ZOK THEN _ ' Mpl090202
- CALL ReadDir (2,1) : _ 'Pe 11/22/89
- IF ZErrCode = 0 THEN _ ' Mpl090202
- FMSFormat = (LEFT$(ZOutTxt$,4) = "\FMS") ' Mpl090202
- IF NOT FMSFormat THEN _ ' Mpl090202
- ReadBackwards = ZFalse : _ ' Mpl090202
- FixedLen = 0 : _ ' Mpl090202
- ZUserIn$ = ZDesc$ : _ ' Mpl090202
- GOTO 20735 'Pe 06/08/91
- FixedLen = 34 + ZMaxDescLen + (5 * ZShowTimesDownloaded) ' DD052301
- IF NumPersonals > 0 THEN _ ' Mpl090202
- WasX$ = CHR$(42) : _ '* ' DD021301
- TempLen = ZMaxDescLen + (5 * ZShowTimesDownloaded) : _ ' DD052301
- MaxLen = ZPersonalLen _ ' Mpl090202
- ELSE MaxLen = 3 : _ ' Mpl090202
- TempLen = ZMaxDescLen : _ ' DD052301
- WasX$ = "" ' Pe060891
- ZUCat$ = LEFT$(ZUCat$,MaxLen) ' Mpl090202
- ZUCat$ = ZUCat$ + SPACE$(MaxLen - LEN(ZUCat$)) ' Mpl090202
- ZUserIn$ = ZDesc$ + _ ' Mpl090202
- SPACE$(TempLen - LEN(ZDesc$)) + _ ' DD052301
- ZUCat$ + WasX$ ' Pe060891
- IF ZShowTimesDownloaded AND NumPersonals = 0 THEN ' DD052301
- ZUserIn$ = ZDesc$ + _ ' DD052301
- SPACE$((ZMaxDescLen-5) - LEN(ZDesc$)) + _ ' DD052301
- "00000" + _ ' DD052301
- ZUCat$ + WasX$ ' DD052301
- END IF ' DD052301
- ReadBackwards = ZTrue : _ ' Mpl090202
- CALL FindIt (ZWasEN$) : _ ' Mpl090202
- IF ZOK THEN _ ' Mpl090202
- CALL ReadDir (2,1) : _ ' Mpl090202
- IF ZErrCode = 0 THEN _ ' Mpl090202
- ReadBackwards = (INSTR(ZOutTxt$," TOP ") = 0) ' Mpl090202
- * INSERTING new line(s)
- 20735 CALL LockAppend ' Mpl090202
- IF ZErrCode <> 0 THEN _ ' Mpl090202
- GOTO 20736 ' Mpl090202
- IF ZAddNameToDir <> 0 THEN ' DD052301
- IF ReadBackwards and NumPersonals = 0 THEN ' DD052301
- IF ZShowTimesDownloaded THEN ' DD052301
- tempstr$ = " ." + " ." ' DD052301
- ELSE ' DD052301
- tempstr$ = " ." ' DD052301
- END IF ' DD052301
- PRINT #2, using LEFT$(CHR$(92) + _ ' DD052301
- SPACE$(79 - (5 * ZShowTimesDownloaded)), _ ' DD052301
- ZMaxDescLen + 32 + (5 * ZShowTimesDownloaded)) + _ ' DD052301
- CHR$(92) + tempstr$; _ ' DD052301
- " Uploaded by "+ ZActiveUserName$ 'BH042091
- ' ---[ append ]--- ' Mpl090202
- END IF
- IF ZGetExtDesc THEN _ ' Mpl090202
- IF ReadBackwards THEN _ ' Mpl090202
- FOR WasI = LinesInDesc TO 1 STEP -1 : _ ' Mpl090202
- GOSUB 20737 : _ ' Mpl090202
- NEXT ' Mpl090202
- PRINT #2,USING CHR$(92) + SPACE$(11) + CHR$(92) + _ ' DD021301
- STRING$(8,35) + SPACE$(2) + CHR$(38) + _ ' DD021301
- SPACE$(2) + CHR$(38); _ ' DD021301
- ZFileNameHold$; _ ' Mpl090202
- ZBytesInFile#; _ ' Mpl090202
- ZWasZ$; _ ' Mpl090202
- ZUserIn$ ' Mpl090202
- IF ZGetExtDesc THEN _ ' Mpl090202
- IF NOT ReadBackwards THEN _ ' Mpl090202
- FOR WasI = 1 TO LinesInDesc : _ ' Mpl090202
- GOSUB 20737 : _ ' Mpl090202
- NEXT ' Mpl090202
- IF NOT ReadBackwards and NumPersonals = 0 THEN _ 'Pe 10/27/91
- PRINT #2, using LEFT$(CHR$(92) + SPACE$(79), _ ' DD041901
- ZMaxDescLen + 32) + CHR$(92) + SPACE$(2) + CHR$(46); _ ' DD021301
- " Uploaded by "+ ZActiveUserName$ 'BH042091
- GOTO 20736 ' Mpl090202
- END IF 'Pe 05/29/92
- IF ZGetExtDesc THEN _ ' Mpl090202
- IF ReadBackwards THEN _ ' Mpl090202
- FOR WasI = LinesInDesc TO 1 STEP -1 : _ ' Mpl090202
- GOSUB 20737 : _ ' Mpl090202
- NEXT ' Mpl090202
- PRINT #2,USING CHR$(92) + SPACE$(11) + CHR$(92) + STRING$(8,35) + _ ' DD021301
- SPACE$(2) + CHR$(38) + SPACE$(2) + CHR$(38); _ ' DD021301
- ZFileNameHold$; _ ' Mpl090202
- ZBytesInFile#; _ ' Mpl090202
- ZWasZ$; _ ' Mpl090202
- ZUserIn$ ' Mpl090202
- IF ZGetExtDesc THEN _ ' Mpl090202
- IF NOT ReadBackwards THEN _ ' Mpl090202
- FOR WasI = 1 TO LinesInDesc : _ ' Mpl090202
- GOSUB 20737 : _ ' Mpl090202
- NEXT ' Mpl090202
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 20736 CALL UnLockAppend 'Pe 06/08/91
- FixedLen = 0 ' Mpl090202
- RETURN ' Mpl090202
- * INSERTING new line(s)
- 20737 WasX$ = ZOutTxt$(WasI) 'Pe 06/08/91
- CALL Trim (WasX$) ' Mpl090202
- IF WasX$ = "" THEN _ ' Mpl090202
- RETURN ' Mpl090202
- IF NOT FMSFormat THEN _ ' Mpl090202
- PRINT #2,SPACE$(2);ZOutTxt$(WasI) : _ ' DD021301
- RETURN ' Mpl090202
- IF FixedLen > LEN(ZOutTxt$(WasI)) THEN ' DD052301
- IF ZShowTimesDownloaded AND NumPersonals = 0 THEN ' DD052301
- WasX$ = SPACE$(FixedLen - 1 - LEN(ZOutTxt$(WasI))) + _ ' DD052301
- " . " + "." ' DD052301
- ELSE ' DD052301
- WasX$ = SPACE$(FixedLen - 1 - LEN(ZOutTxt$(WasI))) + CHR$(46) ' DD052301
- END IF ' DD052301
- ELSE ' DD052301
- WasX$ = "" ' DD052301
- END IF ' DD052301
- IF NumPersonals = 0 THEN _ ' DD031403
- PRINT #2, SPACE$(2);LEFT$(ZOutTxt$(WasI),FixedLen);WasX$ _ ' DD031403
- ELSE _ ' DD031403
- PRINT #2, SPACE$(2);LEFT$(ZOutTxt$(WasI),FixedLen);SPACE$(ZPersonalLen-2);WasX$ ' DD031304
- RETURN ' Mpl090202
- 20738 CALL FindIt (ZFileName$) ' Mpl090202
- 20739 IF NOT ZOK THEN _ 'Pe 06/08/91
- ZBytesInFile# = 0.0_ ' Mpl090202
- ELSE ZBytesInFile# = LOF(2) ' Mpl090202
- IF ZBytesInFile# < 2.0 THEN _ ' Mpl090202
- ZAutoLogOffReq = ZFalse : _ 'Pe 10/20/91
- EXIT SUB ' Mpl090202
- RETURN ' Mpl090202
- * DELETING old line(s)
- 20741
- 20742
- * INSERTING new line(s)
- 20760 CALL FindItX (ZNodeWorkFile$,17) ' DD051101
- ZUserIn$ = ZDesc$ ' Mpl090202
- WasX$ = DATE$ ' Mpl090202
- ZWasZ$ = LEFT$(WasX$,6) + _ ' Mpl090202
- RIGHT$(WasX$,2) ' Mpl090202
- ZWasEN$ = ZPersonalDir$ ' Mpl090202
- NumPersonals = 0 ' Mpl090202
- IF NOT ZOK THEN _ 'Pe 06/10/92
- GOTO 20781 'Pe 06/10/92
- UserFileIndexSave = ZUserFileIndex ' Mpl090202
- UserRecordHold$ = ZUserRecord$ ' Mpl090202
- WHILE NOT EOF(17) ' DD051101
- CALL ReadParmsX (17,ZWorkAra$(),2,1) ' DD051101
- IF LEFT$(ZWorkAra$(1),4) <> "ALL " AND _ ' Mpl090202
- ZWorkAra$(1) <> "ALL" AND VAL (ZWorkAra$(2)) > 0 THEN _ 'Pe 06/10/92
- NumPersonals = NumPersonals + 1 : _ ' Mpl090202
- ZUCat$ = ZWorkAra$(1) : _ ' Mpl090202
- GOSUB 20734 : _ ' Mpl090202
- RcvrRecNum = VAL (ZWorkAra$(2)) : _ ' Mpl090202
- CALL SetUserFlag (RcvrRecNum,4096,"file") ' Mpl090202
- IF LEFT$(ZWorkAra$(1),4) <> "ALL " AND _ ' DD012101
- ZWorkAra$(1) <> "ALL" AND VAL(ZWorkAra$(2)) = 0 THEN _ ' DD012101
- CALL CheckInt(ZWorkAra$(1)) : _ ' DD012101
- IF ZTestedIntValue > 0 THEN _ ' DD012101
- NumPersonals = Numpersonals + 1 : _ ' DD012101
- ZUCat$ = SPACE$(1) + ZWorkAra$(1) : _ ' DD021301
- GOSUB 20734 ' DD012101
- WEND ' Mpl090202
- CLOSE 17 ' DD051101
- IF NumPersonals > 0 THEN _ ' Mpl090202
- ZUserFileIndex = UserFileIndexSave : _ ' Mpl090202
- LSET ZUserRecord$ = UserRecordHold$ ' Mpl090202
- 20781 ZUserIn$ = ZDesc$ ' Mpl090202
- WasX$ = DATE$ ' Mpl090202
- ZWasZ$ = LEFT$(WasX$,6) + _ ' Mpl090202
- RIGHT$(WasX$,2) ' Mpl090202
- ZWasEN$ = StrewTo$ ' Mpl090202
- GOSUB 20734 ' Mpl090202
- ZWasEN$ = ZAllwaysStrewTo$ ' Mpl090202
- GOSUB 20734 ' Mpl090202
- RETURN ' Mpl090202
- END SUB
- 20841 ' $SUBTITLE: 'BadFile - subroutine to find bad file names' ' Mpl090202
- ' $PAGE
- '
- ' NAME -- BadFile
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZViolation$
- ' ZViolationsThisSession
- ' FilName$ NAME OF FILE
- '
- ' OUTPUTS -- Result 1 = FILE NAME IS OK
- ' 2 = CHARACTER NOT ALLOWED
- ' 3 = SYSTEM CRASH ATTEMPT
- ' ZViolationsThisSession NUMBER OF VIOLATIONS
- ' FilName$ Gets capitalized
- '
- ' PURPOSE -- To protect RBBS-PC against the use of bad file names
- ' to either crash the system or to breach RBBS-PC's security.
- '
- SUB BadFile (FilName$,Result) STATIC
- '
- '
- ' * TEST FOR INVALID CHARACTERS IN FILENAME
- '
- '
- BadStr1$ = "PRN:CON:AUX:NUL:" ' DD062304
- BadStr2$ = "COM1:COM2:LPT1:LPT2:LPT3:SCRN:KYBD:CONS:" ' DD062304
- Result = 2
- IF LEN(FilName$) < 1 THEN _
- EXIT SUB
- CALL BadFileChar (FilName$,ZOK)
- IF NOT ZOK THEN _
- EXIT SUB
- CALL AllCaps (FilName$)
- WasXX = INSTR(FilName$,CHR$(46)) ' DD021301
- IF WasXX > 0 THEN _
- IF WasXX < LEN(FilName$) THEN _
- WasXX = INSTR(WasXX + 1,FilName$,CHR$(46)) : _ ' DD021301
- IF WasXX > 0 THEN _
- EXIT SUB
- WasXX = LEN(FilName$)
- IF WasXX => 3 THEN _
- IF INSTR(BadStr1$,FilName$) THEN _ ' DD062304
- GOTO 20842 ' Mpl090202
- IF WasXX => 4 THEN _
- IF INSTR(BadStr2$,FilName$) THEN _ ' DD)62304
- GOTO 20842 ' Mpl090202
- IF WasXXX => 6 THEN _ 'Pe022093
- IF INSTR("CLOCK$",FilName$) THEN _ 'Pe022093
- GOTO 20842 'Pe022093
- CALL BreakFileName (FilName$,Pre$,Body$,Ext$,ZFalse)
- IF LEN(Pre$) > 64 OR LEN(Body$) > 8 OR LEN(Body$) < 1 OR LEN(Ext$) > 3 THEN _
- EXIT SUB
- WasXX = LEN(Body$)
- IF WasXX => 3 THEN _
- IF INSTR(BadStr1$,Body$) THEN _ ' DD062304
- GOTO 20842 ' Mpl090202
- IF WasXX => 4 THEN _
- IF INSTR(BadStr2$,Body$) THEN _ ' DD062304
- GOTO 20842 ' Mpl090202
- IF WasXX = 6 THEN _ ' DD092002
- IF INSTR("CLOCK$",Body$) THEN _ ' DD092002
- GOTO 20842 ' DD092002
- Result = 1
- EXIT SUB
- 20842 ZViolationsThisSession = ZMaxViolations ' Mpl090202
- ZViolation$ = ZViolation$ + _
- FilName$
- Result = 3
- END SUB
- '
- '21105 ' $SUBTITLE: 'Library - sub to support Library downloads' ' DD062304
- ' $PAGE
- '
- ' NAME -- Library
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZSubParm 1 = DISPLAY ACTIVE AREA
- ' 2 = CHANGE ACTIVE AREA
- ' 3 = DISPLAY PC-SIG
- ' DISCLAIMER
- ' 4 = ARCHIVE Library DISK
- ' 5 = DOWNLOAD COMPLETED
- ' ZLibType 0 = No Library ACTIVE
- ' 1 = Library FROM PC-SIG
- ' ZLibDrive$ Library DRIVE ID
- '
- ' OUTPUTS -- NONE
- '
- ' PURPOSE -- To provide access support for library drives
- '
- ' SUB Library STATIC ' DD122601
- ' STATIC LibSubdirName$(1) ' DD122601
- ' STATIC DiskTitle$ ' DD122601
- ' ZErrCode = 0 ' DD122601
- ' IF ZLibType = 0 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF ZLibDiskChar$ = "" THEN _ ' DD122601
- ' ZLibDiskChar$ = "0000" ' DD122601
- ' ON ZSubParm GOTO 21110, 21115, 21130, 21140, 21159 ' DD122601
- '21110 IF ZLibDiskChar$ = "0000" THEN _ ' DD062304
- ' ZOutTxt$ = "No Library disk currently selected" _ ' DD122601
- ' ELSE ZOutTxt$ = "Library disk " + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' " selected - " + _ ' DD122601
- ' DiskTitle$ ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' IF LibDiskArc$ = "" THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF INSTR(ZLibArcProgram$,"ARC") THEN _ ' DD122601
- ' Extension$ = "ARC" _ ' DD122601
- ' ELSE IF INSTR(ZLibArcProgram$,"ZIP") THEN _ ' DD122601
- ' Extension$ = "ZIP" _ ' DD122601
- ' ELSE IF INSTR(ZLibArcProgram$,"LHA") THEN _ ' DD122601
- ' Extension$ = "LZH" _ ' DD122601
- ' ELSE IF INSTR(ZLibArcProgram$,"ARJ") THEN _ ' DD122601
- ' Extension$ = "ARJ" _ ' DD122601
- ' ELSE Extension$ = ZDefaultExtension$ ' DD122601
- ' FOR LibDisplayCount = 0 TO LibLoopCount - 1 ' DD122601
- ' IF LibSubdirName$(LibDisplayCount) <> "" THEN _ ' DD122601
- ' CALL QuickTPut1 (LibSubdirName$(LibDisplayCount) + _ ' DD122601
- ' "." + Extension$ + " ready for transmission!")' DD122601
- ' NEXT ' DD122601
- ' EXIT SUB ' DD122601
- '21115 IF ZWasQ = 1 THEN _ ' DD062304
- ' ZOutTxt$ = "Change Library disk from " + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' " to (1 -" + _ ' DD122601
- ' STR$(ZLibMaxDisk) + _ ' DD122601
- ' ")" : _ ' DD122601
- ' ZSubParm = 1 : _ ' DD122601
- ' CALL TGet : _ ' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB _ ' DD122601
- ' ELSE IF ZWasQ = 0 THEN _ ' DD122601
- ' ZLibDiskChar$ = "0000" : _ ' DD122601
- ' ChdirLib$ = ZLibDrive$ + _ ' DD122601
- ' "\" : _ ' DD122601
- ' GOTO 21126 ' DD122601
- '21117 IF VAL(ZUserIn$(ZWasQ)) < 1 OR VAL(ZUserIn$(ZWasQ)) > ZLibMaxDisk THEN _' DD062304
- ' ZWasQ = 1 : _ ' DD122601
- ' GOTO 21115 ' DD122601
- '21120 ZLibDiskChar$ = ZUserIn$(ZWasQ) ' DD062304
- ' CLOSE 2 ' DD122601
- ' ZLibDiskChar$ = RIGHT$("0000" + ZLibDiskChar$,4) ' DD122601
- '21121 CALL FindIt("RBBS-CDR.DEF") ' DD062304
- ' IF NOT ZOK THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- '21122 IF EOF(2) THEN _ ' DD062304
- ' ZLibDiskChar$ = "" : _ ' DD122601
- ' EXIT SUB ' DD122601
- ' INPUT #2,WorkSubdir$,ChdirLib$ ' DD122601
- ' LINE INPUT #2,DiskTitle$ ' DD122601
- ' IF ZLibDiskChar$ = WorkSubdir$ THEN _ ' DD122601
- ' ChdirLib$ = ZLibDrive$ + _ ' DD122601
- ' ChdirLib$ : _ ' DD122601
- ' GOTO 21126 ' DD122601
- ' GOTO 21122 ' DD122601
- '21126 ZErrCode = 0 ' DD062304
- ' CALL ChangeDir (ChdirLib$) ' DD122601
- ' IF ZErrCode <> 0 THEN _ ' DD122601
- ' ZLibDiskChar$ = "0000" : _ ' DD122601
- ' ChdirLib$ = ZLibDrive$ + _ ' DD122601
- ' "\" : _ ' DD122601
- ' GOTO 21126 ' DD122601
- ' EXIT SUB ' DD122601
- '21130 IF ZLibType <> 1 THEN _ ' DD062304
- ' EXIT SUB ' DD122601
- ' CALL SkipLine(1) ' DD122601
- ' ZOutTxt$ = "The PC-SIG Library file that you are about to" ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' ZOutTxt$ = "download can also be ordered as DISK " + _ ' DD122601
- ' ZLibDiskChar$ ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' ZOutTxt$ = "from PC-SIG, 1030D East Duane Ave. Sunnyvale, Ca. 94086"' DD122601
- ' CALL QuickTPut (ZOutTxt$,2) ' DD122601
- ' EXIT SUB ' DD122601
- '21140 IF ZLibDiskChar$ = "0000" THEN _ ' DD062304
- ' CALL QuickTPut1 ("First select a Library disk!") : _ ' DD122601
- ' EXIT SUB ' DD122601
- ' ZOutTxt$ = "Archive files in Library disk - " + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' " for download" + ZNoPrompt$ ' DD091202
- ' ZSubParm = 1 ' DD122601
- ' CALL TGet ' DD122601
- ' IF NOT ZLocalUser THEN _ ' DD122601
- ' IF ZSubParm = -1 THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- ' IF NOT ZYes THEN _ ' DD122601
- ' EXIT SUB ' DD122601
- '21145 CALL KillWork (ZLibWorkDiskPath$ + _ ' DD062304
- ' ZLibNodeID$ + _ ' DD122601
- ' "DK*." + Extension$) ' DD122601
- '21150 CALL QuickTPut1 ("Work/RAM disk purged") ' DD062304
- ' CALL QuickTPut1 ("Archiving with " + _ ' DD122601
- ' ZLibArcProgram$ + _ ' DD122601
- ' " Please be patient!") ' DD122601
- ' REDIM LibSubdirName$(10) ' DD122601
- ' LibSubdirChar$ = "" ' DD122601
- ' LibLoopCount = 0 ' DD122601
- ' GOSUB 21157 ' DD122601
- ' ZOutTxt$ = "Contents of Library disk - " + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' " now archived for download" ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' ZOutTxt$ = "Searching for Sub-directories" ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' GOSUB 21158 ' DD122601
- ' LibDiskArc$ = ZLibDiskChar$ ' DD122601
- ' ' DD122601
- ' SEARCH AND ARCHIVE ANY SUBDIRECTORIES ' DD122601
- ' ' DD122601
- ' Treedir$ = ZLibWorkDiskPath$ + _ ' DD122601
- ' ZLibNodeID$ + _ ' DD122601
- ' "DKDIR.LST" ' DD122601
- ' DirCmd$ = "DIR " + _ ' DD122601
- ' ZLibDrive$ + _ ' DD122601
- ' " | FIND " + _ ' DD122601
- ' CHR$(34) + _ ' DD122601
- ' " <DIR> " + _ ' DD122601
- ' CHR$(34) + _ ' DD122601
- ' " > " + _ ' DD122601
- ' Treedir$ ' DD122601
- '21151 SHELL DirCmd$ ' DD062304
- ' CALL SkipLine (2) ' DD122601
- ' LOCATE 24,1 ' DD122601
- ' ZErrCode = 0 ' DD122601
- '21152 CLOSE 2 ' DD062304
- '21153 CALL OpenWork (2,Treedir$) ' DD062304
- ' LibSubdirCount = 0 ' DD122601
- ' WHILE NOT EOF(2) ' DD122601
- ' LINE INPUT #2, Dirrec$ ' DD122601
- ' IF LEFT$(Dirrec$,1) <> "." THEN _ ' DD122601
- ' LibSubdirCount = LibSubdirCount + 1 : _ ' DD122601
- ' LibSubdirName$(LibSubdirCount) = _ ' DD122601
- ' LEFT$(Dirrec$,8) ' DD122601
- ' WEND ' DD122601
- ' CLOSE 2 ' DD122601
- ' LibLoopCount = 1 ' DD122601
- ' IF LibSubdirCount = 0 THEN _ ' DD122601
- ' GOTO 21156 ' DD122601
- ' ZOutTxt$ = STR$(LibSubdirCount) + _ ' DD122601
- ' " Subdirectories on Library disk - " + _ ' DD122601
- ' ZLibDiskChar$ ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' FOR LibLoopCount = 1 TO LibSubdirCount ' DD122601
- ' IF NOT ZLocalUser THEN _ ' DD122601
- ' CALL Carrier : _ ' DD122601
- ' IF ZSubParm THEN _ ' DD122601
- ' GOTO 21155 ' DD122601
- ' LibSubdirChar$ = MID$("ABCDEFGHI",LibLoopCount,1) ' DD122601
- ' ZOutTxt$ = "Creating " + _ ' DD122601
- ' ZLibNodeID$ + _ ' DD122601
- ' "DK" + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' LibSubdirChar$ + "." + Extension$ + _ ' DD122601
- ' " using " + ZLibArcProgram$ ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' CHDIR ChdirLib$ + _ ' DD122601
- ' "\" + _ ' DD122601
- ' LibSubdirName$(LibLoopCount) ' DD122601
- ' GOSUB 21157 ' DD122601
- ' ZOutTxt$ = "Disk - " + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' "; Subdirectory" + _ ' DD122601
- ' " -" + _ ' DD122601
- ' STR$(LibLoopCount) + _ ' DD122601
- ' " archived for download" ' DD122601
- ' CALL QuickTPut1 (ZOutTxt$) ' DD122601
- ' GOSUB 21158 ' DD122601
- '21155 NEXT LibLoopCount ' DD062304
- '21156 CALL Carrier ' DD062304
- ' ZOutTxt$ = "" ' DD122601
- ' EXIT SUB ' DD122601
- '21157 LibArc$ = ZLibArcPath$ + _ ' DD062304
- ' ZLibArcProgram$ + _ ' DD122601
- ' SPACE$(1) + _ ' DD021301
- ' ZLibWorkDiskPath$ + _ ' DD122601
- ' ZLibNodeID$ + _ ' DD122601
- ' "DK" + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' LibSubdirChar$ + _ ' DD122601
- ' SPACE$(1) + _ ' DD021301
- ' ZLibDrive$ + _ ' DD122601
- ' "*.*" ' DD122601
- ' IF ZUseDeviceDriver$ <> "" AND ZFossil AND NOT ZLocalUser THEN _' DD122601
- ' LibArc$ = ZDiskForDos$ + _ ' DD122601
- ' "COMMAND /C " + _ ' DD122601
- ' LibArc$ + _ ' DD122601
- ' " > " + _ ' DD122601
- ' ZUseDeviceDriver$ ' DD122601
- ' SHELL LibArc$ ' DD122601
- ' CALL SkipLine (2) ' DD122601
- ' LOCATE 24,1 ' DD122601
- ' RETURN ' DD122601
- '21158 LibSubdirName$(LibLoopCount) = ZLibNodeID$ + _ ' DD062304
- ' "DK" + _ ' DD122601
- ' ZLibDiskChar$ + _ ' DD122601
- ' LibSubdirChar$ ' DD122601
- ' RETURN ' DD122601
- '21159 FOR LibDisplayCount = 0 TO LibLoopCount - 1 ' DD062304
- ' IF LibSubdirName$(LibDisplayCount) = ZOutTxt$ THEN _ ' DD122601
- ' LibSubdirName$(LibDisplayCount) = "" ' DD122601
- ' NEXT ' DD122601
- ' END SUB ' DD122601
- * DELETING old line(s)
- 21105
- 21110
- 21115
- 21117
- 21120
- 21121
- 21122
- 21126
- 21130
- 21140
- 21145
- 21150
- 21151
- 21152
- 21153
- 21155
- 21156
- 21157
- 21158
- 21159
- * REPLACING old line(s) by new
- 21598 ' $SUBTITLE: 'XferType - sub to identify file xfer protocol'
- ' $PAGE
- '
- ' NAME -- XferType
- '
- ' INPUTS -- PARAMETER MEANING
- ' Index = 1 Manual select for up/download
- ' = 2 Default select
- ' = 3 Set transfer default
- ' ZOutTxt$
- ' ZUserIn$(1)
- ' ZWasQ
- ' ZReliableMode
- ' ZTransferOption$
- ' ZUserXferDefault$
- ' ZXferSupport
- '
- ' OUTPUTS -- ZCheckSum
- ' ZFLen
- ' ZWasFT$
- '
- ' PURPOSE -- To identify the file transfer protocol (either
- ' from the user's default or via explicit selection)
- '
- SUB XferType (Index,SkipHelp) STATIC
- IF ZTransferOption$ = "" OR ZUserSecLevel <> PrevUSL OR PrevDef$ <> ZProtoDef$ THEN _
- CALL Protocol : _
- PrevDef$ = ZProtoDef$ : _
- PrevUSL = ZUserSecLevel
- * ------[ first line different ]------
- WasX$ = ZOutTxt$ + ZFGE$ + "Protocols Available:" + _ ' DD082501
- ZEmphasizeOff$ ' DD082501
- ON Index GOTO 21600,21620,21600
- '
- '
- ' * MANUAL SELECT OF Transfer Protocol
- '
- '
- * REPLACING old line(s) by new
- 21604 ZStopInterrupts = ZTrue
- IF Index = 3 THEN _
- IF ZAnsIndex < ZLastIndex THEN _
- GOTO 21605
- * ------[ first line different ]------
- ProtoMenu$ = ZWelcomeFileDrvPath$ + "PROTO.MNU" ' DD062201
- CALL Graphic (ProtoMenu$) ' DD062201
- CALL FindIt (ProtoMenu$) ' DD062201
- IF ZOK THEN ' DD062201
- CALL BufFile (ProtoMenu$,WasX) ' DD062201
- promptstr$ = ZFGB$ + "Select Protocol" + _ ' DD070801
- ZEmphasizeOff$ + ZPressEnterExpert$ ' DD070801
- CALL ColorPrompt (promptstr$) ' DD070801
- CALL QuickTPut (promptstr$ + ZEmphasizeOff$,0) ' DD070801
- ELSE ' DD062201
- CALL QuickTPut (WasX$,0) ' DD062201
- CALL BufString (ZTransferOption$,4096,WasX) ' DD062201
- END IF ' DD070801
- CALL QuickTPut (MID$("?!",1-ZTurboKeyUser,1)+SPACE$(1),0) ' DD070801
- * REPLACING old line(s) by new
- 21605 ZOutTxt$ = ""
- ZTurboKey = -ZTurboKeyUser
- ZMacroMin = 2
- ZSubParm = 1
- ZSuspendAutoLogoff = ZTrue
- ZStackC = ZTrue
- IF Index = 3 THEN _
- CALL PopCmdStack : _
- WasX = ZAnsIndex _
- ELSE ZSubParm = 1 : _
- CALL TGet : _
- WasX = 1
- ZSuspendAutoLogoff = ZFalse
- IF ZSubParm = -1 THEN _
- EXIT SUB
- * ------[ first line different ]------
- ' ' DD070801
- ' * USE [ENTER] to Cancel instead on "N"one ' DD070801
- ' ' DD070801
- IF ZWasQ = 0 THEN ' DD070801
- ZAnsIndex = 1 ' DD070801
- WasX = 1 ' DD070801
- ZWasZ$ = ZUserXferDefault$ ' DD070801
- ZUserIn$(WasX) = "N" ' DD070801
- GOTO 21610 ' DD070801
- ' GOTO 21604 ' DD070801
- END IF ' DD070801
- * REPLACING old line(s) by new
- 21620 ZFF = -1
- IF ZCmdTransfer$ <> "" THEN _
- ZWasZ$ = ZCmdTransfer$ : _
- GOTO 21610
- WasX = INSTR(ZDefaultXfer$,ZUserXferDefault$)
- IF WasX > 0 THEN _
- * ------[ first line different ]------
- IF MID$(ZInternalEquiv$,WasX,1) <> CHR$(78) THEN _ 'N ' DD021301
- ZWasZ$ = ZUserXferDefault$ : _
- GOTO 21610
- ZProtoPrompt$ = "None"
- ZFF = 0
- EXIT SUB
- * REPLACING old line(s) by new
- 21621 IF ZFF = PrevFF AND PrevProtoDef$ = ZProtoDef$ THEN _
- ZProtoPrompt$ = PrevProtoPrompt$ : _
- * ------[ first line different ]------
- GOSUB 21630 : _ ' DD082204
- EXIT SUB
- PrevFF = ZFF
- PrevProtoDef$ = ZProtoDef$
- ZInternalProt$ = MID$(ZInternalEquiv$,ZFF,1)
- ZCheckSum = (ZInternalProt$ = CHR$(88)) 'X ' DD021301
- CALL FindIt (ZProtoDef$)
- IF ZOK THEN _
- GOTO 21623
- WasX = INSTR("AXCYN",ZInternalProt$)
- IF WasX < 1 THEN _
- ZInternalProt$ = CHR$(78) 'N ' DD021301
- ZProtoPrompt$ = MID$("Ascii Xmodem Xmodem/CRCYmodem None",10*INSTR("AXCYN",ZInternalProt$)-9,10)
- CALL TrimTrail (ZProtoPrompt$,SPACE$(1)) ' DD021301
- ZCheckSum = (ZInternalProt$ = CHR$(88)) 'X ' DD021301
- ZFLen = 128 - 896 * (ZInternalProt$ = CHR$(89)) 'Y ' DD021301
- ZBlockSize = ZFLen
- IF ZInternalProt$ = CHR$(89) THEN _ ' DD021301
- ZSpeedFactor! = 0.87 _
- ELSE IF ZInternalProt$ = CHR$(65) THEN _ 'A ' DD021301
- ZSpeedFactor! = 0.92 _
- ELSE ZSpeedFactor! = 0.78
- GOTO 21625
- * REPLACING old line(s) by new
- 21623 CALL ReadParms (ZWorkAra$(),13,ZFF)
- IF ZErrCode > 0 THEN _
- ZFF = LEN(ZDefaultXfer$) : _
- ZProtoPrompt$ = "None" : _
- GOTO 21625
- ZProtoPrompt$ = ZWorkAra$(1)
- IF LEN(ZProtoPrompt$) > 2 THEN _
- * ------[ first line different ]------
- IF MID$(ZProtoPrompt$,2,1) = CHR$(41) THEN _ ') ' DD021301
- ZProtoPrompt$ = LEFT$(ZProtoPrompt$,1) + MID$(ZProtoPrompt$,3)
- WasX = INSTR(ZProtoPrompt$+ZCrLf$,ZCrLf$)
- ZProtoPrompt$ = LEFT$(ZProtoPrompt$,WasX-1)
- GOSUB 21630 ' DD082204
- CALL Trim (ZProtoPrompt$)
- ZProtoMethod$ = LEFT$(ZWorkAra$(3),2) ' DD031501
- CALL AllCaps (ZProtoMethod$)
- ZReq8Bit = (LEFT$(ZWorkAra$(4),1) = CHR$(56)) '8 ' DD021301
- ZDownTemplate$ = ZWorkAra$(12)
- ZUpTemplate$ = ZWorkAra$(13)
- WasX$ = ZWorkAra$(11)
- WasX = INSTR(WasX$,CHR$(61)) '= ' DD021301
- ZAdvanceProtoWrite = ZFalse
- IF WasX < 2 OR WasX >= LEN(WasX$) THEN _
- ZFailureParm = 4 : _
- ZFailureString$ = CHR$(70) _ 'F ' DD021301
- ELSE ZFailureParm = VAL(LEFT$(WasX$,WasX-1)) : _
- ZFailureString$ = MID$(WasX$,WasX+1) : _
- WasX = INSTR(ZFailureString$,CHR$(61)) : _ ' DD021301
- IF WasX > 0 THEN _
- ZAdvanceProtoWrite = (MID$(ZFailureString$,WasX) = "=A") : _
- ZFailureString$ = LEFT$(ZFailureString$,WasX-1)
- ZProtoMacro$ = ZWorkAra$(10)
- ZFakeXRpt = (LEFT$(ZWorkAra$(8),1) = CHR$(70)) ' DD021301
- ZBatchProto = (LEFT$(ZWorkAra$(6),1) = CHR$(66)) 'B ' DD021301
- ZSpeedFactor! = VAL(ZWorkAra$(9))
- IF ZSpeedFactor! < 0.1 THEN _
- ZSpeedFactor! = 0.87
- ZBlockSize = VAL(ZWorkAra$(7))
- ZFLen = ZBlockSize
- IF ZFLen < 1 THEN _
- ZFLen = 128
- * REPLACING old line(s) by new
- 21625 PrevProtoPrompt$ = ZProtoPrompt$
- * ------[ first line different ]------
- EXIT SUB
- * INSERTING new line(s)
- 21630 Delimit = INSTR(ZProtoPrompt$,ZSmartTextCode$) ' DD082204
- IF Delimit = 0 THEN _ ' DD082204
- RETURN ' DD082204
- ZProtoPrompt$ = LEFT$(ZProtoPrompt$,Delimit-1) + _ ' DD082204
- RIGHT$(ZProtoPrompt$,LEN(ZProtoPrompt$)-Delimit-2) ' DD082204
- GOTO 21630 ' DD082204
- END SUB
- * REPLACING old line(s) by new
- 21993 ' $SUBTITLE: 'FileLock - subroutine to share RBBS-PC files'
- ' $PAGE
- '
- ' NAME -- FileLock
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZSubParm = 1 UNLOCK USERS AND MESSAGES
- ' 2 FLUSH MESSAGE RECORD TO DISK
- ' AND UNLOCK MESSAGES
- ' 3 LOCK MESSAGE FILE
- ' 4 UNLOCK MESSAGE FILE
- ' 5 LOCK USER FILE
- ' 6 LOCK 4 RECORD BLOCK IN USER
- ' FILE
- ' 7 UNLOCK USER FILE
- ' 8 UNLOCK 4 RECORD BLOCK IN USER
- ' FILE
- ' 9 LOCK UPLOAD DIRECTORY OR
- ' COMMENTS FILE
- ' 10 UNLOCK UPLOAD DIRECTORY OR
- ' COMMENTS FILE
- ' ACTIVE.MESSAGE FILE$ NAME OF MESSAGE FILE
- ' ZActiveUserFile$ NAME OF USER FILE
- ' CONFIG.FILE.NAME$ FILE NAME TO FLUSH RECORD FROM
- ' ZWasEN$ UPLOAD DIRECTORY OR COMMENTS
- ' FILE NAME TO LOCK/UNLOCK
- ' ZNetworkType TYPE OF NETWORK LOCKING TO USE
- '
- ' OUTPUTS -- ZSubParm = -1 TERMINATE RBBS-PC IMMEDATELY
- ' ZBlk
- ' ZLockDrive
- ' ZLockFileName$
- ' ZLockStatus$
- ' ZMsgFileLock
- ' ZUserBlockLock
- ' ZUserFileLock
- ' ZUserFileIndex
- '
- ' PURPOSE -- To lock and unlock the shared RBBS-PC files when
- ' multiple copies of RBBS-PC are sharing the same
- ' files in either a multi-tasking DOS environment or
- ' in a local area network environment
- '
- SUB FileLock STATIC
- * ------[ first line different ]------
- IF ZNetworkType = 0 THEN _ 'Pe 06/26/92
- EXIT SUB 'Pe 06/26/92
- ON ZSubParm GOSUB 21995,21996,22000,25000,26000, _
- 26500,27000,27500,29000,29500
- EXIT SUB
- '
- '
- ' * UNLOCK USERS AND MESSAGES
- '
- '
- * REPLACING old line(s) by new
- 22000 IF ZMsgFileLock = ZTrue THEN _
- RETURN
- ZMsgFileLock = ZTrue
- MID$(ZLockStatus$,1,2) = "LM"
- ZSubParm = 2
- CALL Line25
- ZLockFileName$ = ZActiveMessageFile$
- ON ZNetworkType GOTO 22100,22200,22300,22400,22500,29700
- RETURN
- '
- '
- ' * LOCK MESSAGE FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 22100'WasAX = &H0 ' DD090401
- ' WasBX = &H1 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * LOCK MESSAGE FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 22100
- * REPLACING old line(s) by new
- 25000 IF NOT ZMsgFileLock THEN _
- RETURN
- ZMsgFileLock = ZFalse
- MID$(ZLockStatus$,1,2) = "UM"
- ZSubParm = 2
- CALL Line25
- ZLockFileName$ = ZActiveMessageFile$
- ON ZNetworkType GOTO 25100,25200,25300,25400,25500,29800
- RETURN
- '
- '
- ' * UNLOCK MESSAGE FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 25100'WasAX = &H100 ' DD090401
- ' WasBX = &H1 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * UNLOCK MESSAGE FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 25100
- * REPLACING old line(s) by new
- 26000 IF ZUserFileLock = ZTrue THEN _
- RETURN
- ZUserFileLock = ZTrue
- MID$(ZLockStatus$,4,2) = "LU"
- ZSubParm = 2
- CALL Line25
- ZLockFileName$ = ZActiveUserFile$
- ON ZNetworkType GOTO 26100,26200,22300,26300,22500,29720
- RETURN
- '
- '
- ' * LOCK USER FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 26100'WasAX = &H0 ' DD090401
- ' WasBX = &H2 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * LOCK USER FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 26100
- * REPLACING old line(s) by new
- 26500 IF ZUserBlockLock = ZTrue THEN _
- RETURN
- ZUserBlockLock = ZTrue
- ZBlk = (ZUserFileIndex / 4) + .26
- MID$(ZLockStatus$,7,2) = "LB"
- ZSubParm = 2
- CALL Line25
- ON ZNetworkType GOTO 26600,26700,26800,26750,26900,29730
- RETURN
- '
- '
- ' * LOCK 4 RECORD BLOCK IN USER FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 26600'WasAX = &H0 ' DD090401
- ' WasBX = ZBlk + 10 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * LOCK 4 RECORD BLOCK IN USER FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 26600
- * REPLACING old line(s) by new
- 26700 WasCC$ = CHR$(1) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOSUB 28000
- IF WasCT = 0 THEN _
- RETURN
- CALL DelayTime (1)
- GOTO 26700
- '
- '
- ' * LOCK 4 RECORD BLOCK IN USER FILE (DESKVIEW)
- '
- '
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 26750 CALL DVLock("BLK" + RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5)) ' DD021301
- RETURN
- '
- '
- ' * LOCK 4 RECORD BLOCK IN USER FILE (ORCHID PC-NET)
- '
- '
- * REPLACING old line(s) by new
- 26800 ZLockFileName$ = LEFT$(ZActiveUserFile$,2) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOTO 22300
- '
- '
- ' * LOCK 4 RECORD BLOCK IN USER FILE (10 NET)
- '
- '
- * REPLACING old line(s) by new
- 26900 ZLockFileName$ = LEFT$(ZActiveUserFile$,2) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOTO 22500
- '
- '
- ' * UNLOCK USER FILE
- '
- '
- * REPLACING old line(s) by new
- 27000 IF NOT ZUserFileLock THEN _
- RETURN
- ZUserFileLock = ZFalse
- MID$(ZLockStatus$,4,2) = "UU"
- ZSubParm = 2
- CALL Line25
- ZLockFileName$ = ZActiveUserFile$
- ON ZNetworkType GOTO 27100,27200,25300,27300,25500,29820
- RETURN
- '
- '
- ' * UNLOCK USER FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 27100'WasAX = &H100 ' DD090401
- ' WasBX = &H2 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * UNLOCK USER FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 27100
- * REPLACING old line(s) by new
- 27500 IF NOT ZUserBlockLock THEN _
- RETURN
- ZUserBlockLock = ZFalse
- ZBlk = (ZUserFileIndex / 4) + .26
- MID$(ZLockStatus$,7,2) = "UB"
- ZSubParm = 2
- CALL Line25
- ON ZNetworkType GOTO 27600,27700,27800,27750,27900,29830
- RETURN
- '
- '
- ' * UNLOCK 4 RECORD BLOCK IN USER FILE (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 27600'WasAX = &H100 ' DD090401
- ' WasBX = ZBlk + 10 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * UNLOCK 4 RECORD BLOCK IN USER FILE (OMNINET)
- '
- '
- * DELETING old line(s)
- 27600
- * REPLACING old line(s) by new
- 27700 WasCC$ = CHR$(17) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOSUB 28000
- IF WasCT = 128 THEN _
- RETURN
- CALL DelayTime (1)
- GOTO 27700
- '
- '
- ' * UNLOCK 4 RECORD BLOCK IN USER FILE (DESQVIEW)
- '
- '
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 27750 CALL DVUnlock("BLK" + RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5)) ' DD021301
- RETURN
- '
- '
- ' * UNLOCK 4 RECORD BLOCK IN USER FILE (ORCHID PC-NET)
- '
- '
- * REPLACING old line(s) by new
- 27800 ZLockFileName$ = LEFT$(ZActiveUserFile$,2) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOTO 25300
- '
- '
- ' * UNLOCK 4 RECORD BLOCK IN USER FILE (10-NET)
- '
- '
- * REPLACING old line(s) by new
- 27900 ZLockFileName$ = LEFT$(ZActiveUserFile$,2) + _
- "BLK" + _
- * ------[ first line different ]------
- RIGHT$(STRING$(4,48) + MID$(STR$(ZBlk),2),5) ' DD021301
- GOTO 25500
- '
- '
- ' * CORVUS OMNINET INTERFACE
- '
- '
- * REPLACING old line(s) by new
- 29000 IF LockedEn$ = ZWasEN$ THEN _
- RETURN
- LockedEn$ = ZWasEN$
- * ------[ first line different ]------
- ' MID$(ZLockStatus$,10,2) = "LD" ' JM092401/RCHAT
- ' ZSubParm = 2 ' JM092401/RCHAT
- ' CALL Line25 ' JM092401/RCHAT
- ZLockFileName$ = ZWasEN$
- ON ZNetworkType GOTO 29100,29010,22300,29300,22500,29710
- * REPLACING old line(s) by new
- 29010 RETURN
- '
- '
- ' * LOCK UPLOAD DIRECTORY OR COMMENTS BASED ON ZWasEN$ (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 29100'WasAX = &H0 ' DD090401
- ' WasBX = &H3 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- RETURN
- '
- '
- ' * LOCK UPLOAD DIRECTORY AND COMMENTS (DESQVIEW)
- '
- '
- * DELETING old line(s)
- 29100
- * REPLACING old line(s) by new
- 29500 IF LockedEn$ <> ZWasEN$ THEN _
- RETURN
- LockedEn$ = ""
- * ------[ first line different ]------
- ' MID$(ZLockStatus$,10,2) = "UD" ' JM092401/RCHAT
- ' ZSubParm = 2 ' JM092401/RCHAT
- ' CALL Line25 ' JM092401/RCHAT
- ZLockFileName$ = ZWasEN$
- ON ZNetworkType GOTO 29600,29510,25300,29650,25500,29810
- * REPLACING old line(s) by new
- 29510 RETURN
- '
- '
- ' * UNLOCK UPLOAD DIRECTORY OR COMMENTS BASED ON ZWasEN$ (MULTI-LINK)
- '
- '
- * ------[ first line different ]------
- 29600'WasAX = &H100 ' DD090401
- ' WasBX = &H3 ' DD090401
- ' IF ZMultiLinkPresent > 0 THEN _ ' DD090401
- ' CALL RBBSML(WasAX,WasBX) ' DD090401
- EXIT SUB
- '
- '
- ' * UNLOCK UPLOAD DIRECTORY AND COMMENTS (DESQVIEW)
- '
- '
- * DELETING old line(s)
- 29600
- * REPLACING old line(s) by new
- 30595 ' $SUBTITLE: 'FindFKey - sub to handle local keyboard functions'
- ' $PAGE
- '
- ' NAME -- FindFKey
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZActiveMenu$ INDICATOR OF ACTIVE MENU
- ' ZAdjustedSecurity Switch INDICATING TEMP. SECURITY CHANGE
- * ------[ first line different ]------
- ' ZFullScreenEditor USER'S PREFERENCE FOR ANSIed ' AnsiEd
- ' ZCallersFile$ NAME OF CALLERS FILE
- ' ZChatAvail Toggle INDICATING IF Sysop WILL CHAT
- ' ZCheckBulletLogon USER'S PREFERENCE FOR BULLETIN CHECK
- ' ZConfMode INDICATOR THAT USER IS IN A CONFERENCE
- ' ZCursorLine LINE THAT THE CURSOR IS AT
- ' ZCursorRow ROW THAT THE CURSOR IS AT
- ' ZDiskForDos$ DISK TO LOAD COMMAND.COM FROM
- ' ZDiskFullGoOffline INDICATOR OF WHAT TO DO WHEN DISK FULL
- ' ZExitToDoors FLAG INDICATING EXITING TO DOORS
- ' ZExpertUser FLAG FOR EXPERT/NOVICE USER MODE
- ' ZFirstName$ LOGGED ON USER'S First NAME
- ' ZF1Key FUNCTION KEY ONE VALUE
- ' ZF10Key FUNCTION KEY TEN VALUE
- ' ZWasGR GRAPHICS PREFERENCE OF USER
- ' ZLineFeeds SWTICH FOR USER'S LINE FEED PREFERENCE
- ' ZLocalUser FLAG INDICATING USER IS LOCAL
- ' ZMinLogonSec MINIMUM SECURITY TO LOGON
- ' ZModemGoOffHookCmd$ COMMAND TO TAKE MODEM OFF-HOOK
- ' ZModemInitBaud$ BAUD TO INITIALIZE MODEM AT
- ' ZNodeID$ NODE IDENTIFIER
- ' ZNodeRecIndex NODE RECORD Index FOR THIS NODE
- ' ZNulls Switch FOR USER'S PREFERENCE FOR Nulls
- ' ZPrinter Toggle INDICATING Printer IS AVAILABLE
- ' ZPromptBell USER'S PREFERENCE FOR BELLS ON PROMPTS
- ' SECONDS.PER.SESSION TIME LEFT IN CURRENT USER SESSION
- ' ZSkipFilesLogon USER'S LOGON NOTIFICIATION PREFERENCE
- ' ZSnoop Toggle INDICATING Snoop STATUS
- ' ZSubParm -8 = Sysop'S OPTION 6 REMOTELY
- ' -9 = GOT TO DOS
- ' -10 = Sysop GET'S SYSTEM NEXT
- ' ZSysop INDICATOR THAT USER IS Sysop
- ' ZSysopAnnoy Toggle INDICATING Sysop IS AVAILABLE
- ' ZSysopNext Toggle SO Sysop GETS SYSTEM NEXT
- ' ZUpperCase USER'S PREFERENCE FOR UPPER/LOWER CASE
- ' ZUserFileIndex Index INTO THE USER FILE FOR CALLER
- ' ZUserSecLevel USER'S SECURITY LEVEL
- ' USERT.TRANSFER.DEFAULT USER'S FILE Transfer DEFAULT PREFERENCE
- '
- ' OUTPUTS --
- ' ZAdjustedSecurity Switch INDICATING TEMP. SECURITY CHANGE
- ' ZChatAvail Toggle INDICATING IF Sysop WILL CHAT
- ' ZFunctionKey VALUE 1 TO 10 CORRESPONDING TO
- ' THE FUNCTION KEY THAT WAS PRESSED
- ' ZKeyPressed$ CHARACTER STRING GENERATED BY KEY
- ' ZPrinter TOGGLE INDICATING Printer IS AVAILABLE
- ' ZSnoop Toggle INDICATING Snoop STATUS
- ' ZSysop INDICATOR THAT USER IS Sysop
- ' ZSysopAnnoy Toggle INDICATING Sysop IS AVAILABLE
- ' ZSysopNext Toggle SO Sysop GETS SYSTEM NEXT
- ' ZSubParm -1 Carrier LOST
- ' -2 CHAT MODE ACTIVATED
- ' -3 FORCE CALLER ON-LINE
- ' -4 EXIT TO SYSTEM IMMEDIATELY
- ' -5 EXIT TO SYSTEM AFTER MULTI-LINK CALL
- ' -6 TELL USER ACCESS IS DENIED
- ' -7 UPDATE CALLERS FILE AND DENY ACCESS
- ' ZUserSecLevel USER'S SECURITY LEVEL
- '
- ' PURPOSE -- To determine if a function has been pressed on
- ' the PC'S keyboard that is running RBBS-PC.
- '
- SUB FindFKey STATIC
- LookUp = ZSubParm
- IF ZSubParm < -1 THEN _
- ZSubParm = 0 : _
- IF LookUp = - 8 THEN _
- GOTO 33070 _
- ELSE IF LookUp = - 9 THEN _
- GOTO 31000 _
- ELSE IF LookUp = - 10 THEN _
- GOTO 33090
- '
- '
- ' * TEST FOR FUNCTION KEY PRESSED
- '
- '
- * REPLACING old line(s) by new
- 30600 IF ZKeyboardStack$ = "" THEN _
- ZKeyPressed$ = INKEY$ _
- ELSE ZKeyPressed$ = ZKeyboardStack$ : _
- ZKeyboardStack$ = ""
- ZFunctionKey = 0
- IF LEN(ZKeyPressed$) <> 2 THEN _
- GOTO 33970
- ZKeyPressed = ASC(RIGHT$(ZKeyPressed$,1))
- IF ZLocalUser AND NOT ZSysop THEN _
- ZKeyPressed$ = "" : _
- GOTO 33970
- * ------[ first line different ]------
- IF ZKeyPressed => 59 AND _ ' DD062304
- ZKeyPressed <= 68 THEN _ ' DD062304
- ZFunctionKey = ZKeyPressed - 58 : _
- GOTO 30610
- IF ZKeyPressed = 117 THEN _ 'Ctrl-End
- ZFunctionKey = 11
- IF ZKeyPressed = 73 THEN _ 'PgUp
- ZFunctionKey = 12
- IF ZKeyPressed = 72 THEN _ 'up arrow
- ZFunctionKey = 13
- IF ZKeyPressed = 80 THEN _ 'Down arrow
- ZFunctionKey = 14
- IF ZKeyPressed = 81 THEN _ 'PgDn
- ZFunctionKey = 15
- IF ZKeyPressed = 75 THEN _ 'left arrow
- ZFunctionKey = 16
- IF ZKeyPressed = 77 THEN _ 'Right arrow
- ZFunctionKey = 17
- IF ZKeyPressed = 141 THEN _ 'CTRL-up arrow
- ZFunctionKey = 18
- IF ZKeyPressed = 132 THEN _ 'CTRL-PgUp (same as CTRL-UP)
- ZFunctionKey = 18
- IF ZKeyPressed = 145 THEN _ 'CTRL-down arrow
- ZFunctionKey = 19
- IF ZKeyPressed = 118 THEN _ 'CTRL-PgDn (same as CTRL-DOWN)
- ZFunctionKey = 19
- IF ZKeyPressed = 115 THEN _ 'CTRL-left arrow
- ZFunctionKey = 20
- IF ZKeyPressed = 116 THEN _ 'CTRL-right arrow
- ZFunctionKey = 21
- IF ZKeyPressed = 79 THEN _ 'End (a nice way to kick user off)
- ZFunctionKey = 22
- IF ZKeyPressed = 159 THEN _ 'Alt-End (kick user off with Line Noise)' DD092303/LINENOISE
- ZFunctionKey = 23 ' DD092303/LINENOISE
- IF ZKeyPressed = 113 THEN _ 'Alt-F10 Toggle between ANSIChat and Line Chat ' DD021902
- ZFunctionKey = 24
- IF ZKeyPressed = 110 THEN _ 'Alt-F7 Toggle 'LOG OFF NOW' message ' DD041802
- ZFunctionKey = 25 ' DD041802
- IF ZKeyPressed = 104 THEN _ ' DD050601
- ZFunctionKey = 26 'Alt-F1 Sysop Help Screen ' DD050601
- * REPLACING old line(s) by new
- 30610 ZKeyPressed$ = ""
- * ------[ first line different ]------
- IF ZFunctionKey < 1 OR ZFunctionKey > 26 THEN _ ' DD050601
- GOTO 33970
- IF ZFunctionKey < 10 AND (ZFunctionKey <> 8) THEN _
- GOTO 30620
- IF ZToggleOnly THEN _
- ZSubParm = 1 : _
- GOTO 33970
- * REPLACING old line(s) by new
- 30620 ON ZFunctionKey GOTO 31000, _ ' 1 = F1
- 32000, _ ' 2 = F2
- 33000, _ ' 3 = F3
- 33040, _ ' 4 = F4
- 33060, _ ' 5 = F5
- 33070, _ ' 6 = F6
- 33090, _ ' 7 = F7
- 33110, _ ' 8 = F8
- 33130, _ ' 9 = F9
- 33150, _ ' 10 = F10
- 31398, _ ' 11 = CTRL END
- 33200, _ ' 12 = PGUP
- 33170, _ ' 13 = UP ARROW
- 33180, _ ' 14 = DOWN ARROW
- 33220, _ ' 15 = PGDN
- 33240, _ ' 16 = LEFT ARROW
- 33250, _ ' 17 = RIGHT ARROW
- 33170, _ ' 18 = CTRL-UP ARROW
- 33180, _ ' 19 = CTRL-DOWN
- 33245, _ ' 20 = CTRL-LEFT
- 33255, _ ' 21 = CTRL-RIGHT
- * ------[ first line different ]------
- 31398, _ ' 22 = END ' DD092303/LINENOISE
- 31398, _ ' 23 = ALT-END ' DD092303/LINENOISE
- 31400, _ ' 24 = Toggle Chat mode ' DD041802
- 33091, _ ' 25 = ALT-F7 ' D050601
- 31100 ' 26 = ALT-F1 Sysop Help ' DD050601
- '
- '
- ' * F1 - COMMAND FROM LOCAL KEYBOARD (IMMEDIATE EXIT TO DOS)
- '
- '
- * REPLACING old line(s) by new
- 31000 ZSubParm = -10
- CALL Carrier
- IF ZSubParm = 0 THEN _
- GOTO 33970
- ZFileName$ = ZNodeWorkDrvPath$ + "RBBS" + ZNodeFileID$ + "F1.DEF"
- CLOSE 2
- CALL OpenOutW (ZFileName$)
- PRINT #2,MID$(ZFileName$,3,7)
- IF ZExitToDoors THEN _
- ZSubParm = -4 : _
- GOTO 33970
- CALL OpenCom(ZModemInitBaud$,",N,8,1")
- CALL TakeOffHook
- ZSubParm = -5
- GOTO 33970
- * ------[ first line different ]------
- ' ' DD050601
- ' ' DD050601
- ' * ALT-F1 Display Sysop Help Screen ' DD050601
- ' ' DD050601
- * INSERTING new line(s)
- 31100 IF NOT ZLocalUser THEN _ ' DD050601
- CALL Carrier : _ ' DD050601
- IF ZSubParm = -1 THEN _ ' DD050601
- GOTO 33970 ' DD050601
- CALL OpenWork (13,ZHelpPath$ + "SYSOP.HLP") ' DD050601
- IF ZErrCode <> 0 THEN ' DD050601
- GOTO 33970 ' DD050601
- END IF ' DD050601
- WHILE NOT EOF(13) ' DD050601
- LINE INPUT #13, WasD$ ' DD050601
- CALL SmartText (WasD$,ZTrue,ZFalse,ZFalse) ' DD050601
- CALL LPrnt(WasD$,1) ' DD050601
- WEND ' DD050601
- CLOSE 13 ' DD050601
- GOTO 33970 ' DD050601
- '
- ' * END KEY - FORCE CURRENT USER OFF AND LOCK THEM OUT
- '
- '
- * REPLACING old line(s) by new
- 31398 IF NOT ZLocalUser THEN _
- CALL Carrier : _
- IF ZSubParm = -1 THEN _
- GOTO 33970
- IF INSTR("MUF",ZActiveMenu$) > 0 THEN _
- GOTO 31399
- ZCursorLine = CSRLIN
- ZCursorRow = POS(0)
- * ------[ first line different ]------
- LOCATE ZLocalPageLength,1 ' DD021903/VGA
- WasD$ = SPACE$(79)
- GOSUB 33210
- LOCATE ZLocalPageLength,1 ' DD021903
- WasD$ ="Cannot FORCE OFF until user reaches MAIN menu"
- GOSUB 33210
- CALL DelayTime (1)
- LOCATE ZCursorLine,ZCursorRow
- ZSubParm = 1
- CALL Line25
- GOTO 33970
- * REPLACING old line(s) by new
- 31399 IF ZFunctionKey = 22 THEN _
- CALL SkipLine (2) : _
- CALL QuickTPut1 ("Sorry, " + ZFirstName$ + ", SysOp needs the system") : _
- CALL DelayTime (8 + ZBPS) : _
- ZSubParm = -6 : _
- GOTO 33970
- * ------[ first line different ]------
- IF ZFunctionKey = 23 THEN ' DD092303/LINENOISE
- CALL DelayTime (8 + ZBPS) ' DD092303/LINENOISE
- CALL QuickTPut ("√√ ß▌Θπ √√4",0) ' DD092303/LINENOISE
- CALL DelayTime (2) ' DD092303/LINENOISE
- CALL QuickTPut ("sΘ╓╟",0) ' DD092303/LINENOISE
- CALL DelayTime (1) ' DD092303/LINENOISE
- CALL QuickTPut ("√ √",0) ' DD092303/LINENOISE
- CALL DelayTime (2) ' DD092303/LINENOISE
- CALL QuickTPut (" √ √ √τ√√√ ",0) ' DD092303/LINENOISE
- CALL DelayTime (4) ' DD092303/LINENOISE
- ZSubParm = -6 ' DD092303/LINENOISE
- GOTO 33970 ' DD092303/LINENOISE
- END IF ' DD092303/LINENOISE
- CALL QuickTPut1 (ZFirstName$ + ", goodbye and don't call back")
- CALL DelayTime (8 + ZBPS) : _
- IF ZUserFileIndex < 1 THEN _
- ZSubParm = -6 : _
- GOTO 33970
- ZUserSecLevel = ZMinLogonSec - 1
- CALL DenyAccess
- ZSubParm = -7
- GOTO 33970
- ' ' DD021902
- ' ' DD021902
- ' * Toggle between ANSIChat and Line Chat ' DD021902
- ' ' DD021902
- * INSERTING new line(s)
- 31400 ZCanANSIChat = NOT ZCanANSIChat ' DD021902
- GOTO 33150 ' DD021902
- '
- '
- ' * F2 - COMMAND FROM LOCAL KEYBOARD (SYSOP EXIT TO DOS AND RETURN)
- '
- '
- * REPLACING old line(s) by new
- 32000 IF NOT ZLocalUser THEN _
- CALL SkipLine (1) : _
- CALL QuickTPut1 ("Sysop exiting to DOS. Please wait...") : _
- ZFunctionKey = 0 : _
- CALL DelayTime (3)
- CALL ShellExit (ZDiskForDos$ + "COMMAND")
- 'SHELL ZDiskForDos$ + _
- ' "COMMAND"
- CLS
- IF NOT ZLocalUser THEN _
- CALL Carrier : _
- IF ZSubParm = -1 THEN _
- GOTO 33970
- ZSubParm = 2
- CALL Line25
- CALL QuickTPut1 ("Sysop back from DOS. Returning control to you.")
- ZCommPortStack$ = ZCarriageReturn$
- * ------[ first line different ]------
- ZWasCM = 0 ' DD062901/ANSICHAT
- GOTO 33970
- '
- '
- ' * F3 - COMMAND FROM LOCAL KEYBOARD (Printer Toggle)
- '
- '
- * REPLACING old line(s) by new
- 33090 IF ERR=61 AND NOT ZDiskFullGoOffline THEN _
- GOTO 33970
- ZSysopNext = NOT ZSysopNext
- ChangeValue = ZSysopNext
- FieldPosition = 36
- GOTO 33950
- * ------[ first line different ]------
- ' ' DD041802
- ' ' DD041802
- ' * ALT-F7 Display Message to Caller to Log off ' DD041802
- ' ' DD041802
- * INSERTING new line(s)
- 33091 ZLogOffPlease = NOT ZLogOffPlease ' DD041802
- GOTO 33970 ' DD041802
- '
- '
- ' * F8 - COMMAND FROM LOCAL KEYBOARD (ASSIGN USER TEMPORARY Sysop SECURITY)
- '
- '
- * REPLACING old line(s) by new
- 33110 ZSysop = NOT ZSysop
- ZCursorLine = CSRLIN
- ZCursorRow = POS(0)
- * ------[ first line different ]------
- LOCATE ZLocalPageLength,1 ' DD021903/VGA
- WasD$ = SPACE$(79)
- NumReturns = 0
- CALL LPrnt (WasD$,NumReturns)
- LOCATE ZLocalPageLength,1 ' DD021903/VGA
- ZUserSecLevel = (1 + ZSysop) * _
- ZUserSecSave - _
- ZSysop * _
- ZSysopSecLevel
- WasD$ = "Sysop Privileges " + FNOffOn$(ZSysop)
- CALL LPrnt (WasD$,NumReturns)
- CALL DelayTime (3)
- LOCATE ZCursorLine,ZCursorRow
- ZSubParm = 1
- CALL Line25
- CALL SetPrompt
- GOTO 33970
- '
- '
- ' * F9 - COMMAND FROM LOCAL KEYBOARD (Snoop Toggle)
- '
- '
- * REPLACING old line(s) by new
- 33130 IF NOT ZSnoop THEN _
- ZSnoop = ZTrue : _
- * ------[ first line different ]------
- LOCATE ZLocalPageLength-1,1,0 : _ ' DD021903
- WasD$ = "SNOOP ON" : _
- NumReturns = 0 : _
- CALL LPrnt (WasD$,NumReturns) : _
- ZSubParm = 2 : _
- CALL Line25 _
- ELSE LOCATE ,,0 : _
- ZSnoop = ZFalse : _
- CLS : _ ' DD031503
- PRINT "Snoop is OFF, Press <F9> To ReActivate" ' DD031503
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 33150 IF ZWasCM = ZTrue THEN _ ' DD070401/ANSICHAT
- GOTO 33970 ' DD070401/ANSICHAT
- GOTO 33160
- * REPLACING old line(s) by new
- 33160 CALL UpdtCalr ("Sysop began chat",1)
- ZPageStatus$ = ""
- * ------[ first line different ]------
- ZSysopGreeting$ = "Hi " + ZFirstName$ + ", this is " + _ ' DD062801/ANSICHAT
- ZSysopFirstName$ + _ ' DD121401/ANSICHAT
- ". Sorry to break in and CHAT but..." ' DD062801/ANSICHAT
- IF NOT ZLimitMinsPerSession THEN _ ' LK 08/17/91
- CALL TimeBack (1)
- * INSERTING new line(s)
- 33162 IF ZCanANSIChat THEN ' DD062801/ANSICHAT
- CALL ResetGraphics ' DD062301
- CALL ANSIChat ' DD062801/ANSICHAT
- ELSE ' DD062801/ANSICHAT
- CALL SkipLine (1) ' DD062801/ANSICHAT
- CALL QuickTPut1 (ZSysopGreeting$) ' DD062801/ANSICHAT
- CALL SysopChat ' DD062801/ANSICHAT
- END IF ' DD062801/ANSICHAT
- IF NOT ZLimitMinsPerSession THEN _ ' LK 08/17/91
- CALL TimeBack (2) ' Mpl090202
- ZCommPortStack$ = CHR$(13)
- GOTO 33155
- '
- '
- ' * UP / CTRL-UP: INCREASE THE ON-LINE USER'S SECURITY BY ONE / FIVE
- '
- '
- * REPLACING old line(s) by new
- 33200 IF NOT ZLocalUser THEN _
- CALL Carrier : _
- IF ZSubParm = -1 THEN _
- GOTO 33970
- * ------[ first line different ]------
- CALL OpenWork (13,ZWelcomeFileDrvPath$ + "USERINFO") ' DD080801
- IF ZErrCode <> 0 THEN ' DD080801
- ZErrCode = 0 ' DD080801
- EXIT SUB ' DD080801
- END IF ' DD080801
- WHILE NOT EOF(13) ' DD080801
- LINE INPUT #13, WasD$ ' DD080801
- CALL SmartText (WasD$,ZTrue,ZFalse,ZFalse) ' DD080801
- CALL LPrnt(WasD$,1) ' DD080801
- WEND ' DD080801
- CLOSE 13 ' DD080801
- GOTO 33970
- * REPLACING old line(s) by new
- 33220 IF NOT ZLocalUser THEN _
- CALL Carrier : _
- IF ZSubParm = -1 THEN _
- GOTO 33970
- CLS
- * ------[ first line different ]------
- ZWasCM = 0 ' DD070401/ANSICHAT
- GOTO 33155
- '
- '
- ' * LEFT ARROW - DECREASE THE ON-LINE USER'S TIME BY ONE MINUTE
- '
- '
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 33970 IF ZFunctionKey < 22 AND ZFunctionKey > 15 THEN _ ' DD092303/LINENOISE
- MinsRemaining = _ ' Mpl090202
- (ZSecsPerSession! - ZSecsUsedSession!) / 60 : _ 'DGS-L25
- CALL Line25 'DGS-L25
- END SUB
- * DELETING old line(s)
- 33990
- * INSERTING new line(s)
- 41005 ' $SUBTITLE: 'CheckTimeRemain - Kicks off if no time remaining'' Mpl090202
- ' $PAGE
- '
- ' NAME -- CheckTimeRemain
- '
- ' INPUTS -- PARAMETER MEANING
- '
- ' OUTPUTS -- PARAMETER MEANING
- ' MinsRemaining TIME IN MINUTES LEFT IN SESSION
- ' ZSecsUsedSession! TIME USED IN SECONDS
- ' ZSubParm -1 IF No TIME LEFT
- '
- SUB CheckTimeRemain (MinsRemaining) STATIC
- CALL TimeRemain (MinsRemaining)
- IF ZBypassTimeCheck THEN _
- EXIT SUB
- IF MinsRemaining <= 3 AND NOT ZNonStop THEN ' DD071704
- CALL QuickTPut1 (ZFGE$ + ZBG4$ + _ ' DD071704
- "Automatic LogOff in " + _ ' DD071704
- LTRIM$(STR$(MinsRemaining)) + _ ' DD071704
- " minute(s)!" + ZEmphasizeOff$) ' DD071704
- CALL PutCom (ZBellRinger$) 'ST119201
- END IF ' DD071704
- GOTO 41009 ' Mpl090202
- 41007 IF MinsRemaining < 1 THEN ' DD031004
- IF ZDnldCompleted AND ZAutoEnd = 1 AND _ ' DD051102
- ZAutoLogOffReq = ZTrue THEN ' DD051102
- ZSubParm = -1 ' DD051102
- RETURN ' DD051102
- END IF ' DD051102
- CALL SkipLine (1) ' DD031302
- CALL QuickTPut1 (ZFGF$ + ZBG4$ + _ ' DD031302
- "Your Time has Expired!"+ ZEmphasizeOff$) ' DD082202
- END IF ' DD051102
- IF ZTempMaxBank <= 0 THEN _ ' DD051102
- ZSubParm = -1 : _ ' DD082202
- RETURN ' DD082202
- ZSubParm = 1 ' DD082202
- CALL SkipLine (1) ' DD031302
- ZOutTxt$ = ZFGF$ + ZBG5$ + "Access The Time Bank?" + _ ' DD031302
- ZEmphasizeOff$+ ZYesPrompt$ ' DD060101
- ZTurboKey = -ZTurboKeyUser ' Mpl090202
- CALL TGet ' Mpl090202
- IF ZSubParm = -1 THEN _ ' Mpl090202
- RETURN ' DD082202
- IF ZNo THEN _ ' DD082202
- ZSubParm = -1 : _ ' DD082202
- RETURN ' DD082202
- CALL BankTime ' DD082202
- IF MinsRemaining < 1 THEN _ ' DD082202
- ZSubParm = -1 : _ ' DD082202
- RETURN ' DD082202
- * DELETING old line(s)
- 41008
- * INSERTING new line(s)
- 41009 IF MinsRemaining < 1 THEN _ ' DD082202
- GOSUB 41007 ' Mpl090202
- IF ZSubParm = -1 THEN _ ' Mpl090202
- EXIT SUB ' DD082202
- END SUB
- '
- * REPLACING old line(s) by new
- 41032 ' $SUBTITLE: 'DispTimeRemain - Display users time remaining'
- ' $PAGE
- '
- ' NAME -- DispTimeRemain
- '
- ' INPUTS -- PARAMETER MEANING
- ' MinsRemaining
- '
- ' OUTPUTS -- PARAMETER MEANING
- ' MinsRemaining TIME IN MINUTES LEFT IN SESSION
- '
- SUB DispTimeRemain (MinsRemaining) STATIC
- CALL TimeRemain (MinsRemaining)
- * ------[ first line different ]------
- CALL QuickTPut1 (ZFGB$ + STR$(MinsRemaining) + ZFG6$ + _ ' DD082401
- " min left" + ZEmphasizeOff$) ' DD082401
- Call Line25 'Pe 05/30/91
- END SUB
- * REPLACING old line(s) by new
- 42020 ZSubParm = -1
- IF Speedy < -8 THEN _
- EXIT SUB
- IF AlreadyWritten = -9 THEN _
- EXIT SUB
- CALL TakeOffHook
- ZModemOffHook = -1
- AlreadyWritten = -9
- * ------[ first line different ]------
- IF ZDoorCarrierDropOK$ = CHR$(89) THEN _ ' DD021301/DOORCARRIERDROP
- CALL UpdtCalr ("Logged off from door",1) : _ ' DD011801/DOORCARRIERDROP
- EXIT SUB ' DD011801/DOORCARRIERDROP
- CALL UpdtCalr ("Carrier dropped",1)
- CALL SkipLine (1) ' DD081701
- PRINT "Carrier Dropped!" ' DD081701
- CALL DropCarrier ' DD091401/DROP
- ZMenuCarriers = ZMenuCarriers + 1 ' DD090901/MENU0
- IF ZFirstName$ = "" OR ZLastName$ = "" THEN _ ' DD121501/CARR
- EXIT SUB ' DD121501/CARR
- OrigFirstName$ = ZFirstName$ ' DD121502/CARR
- IF ZDropIncrement > 0 OR ZDropIncrement = -1 THEN ' NW061101
- CALL FindIt ("CARRIER.BAT") ' DD121502/CARR
- IF NOT ZOK THEN _ ' DD121502/CARR
- EXIT SUB ' DD121502/CARR
- ZDoorDropFile$ = CHR$(68) 'D ' DD021301
- CALL DoorInfo ' DD121502/CARR
- CALL ShellExit ("CARRIER.BAT") ' DD121502/CARR
- ZMailWaiting = ZTrue ' DD071101
- END IF ' DD121502/CARR
- END SUB
- * REPLACING old line(s) by new
- 43004 ' $SUBTITLE: 'AskGraphics -- sub to ask users graphic preference'
- ' $PAGE
- '
- ' NAME -- AskGraphics
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZUserGraphicDefault$ USER Graphic DEFAULT
- '
- ' OUTPUTS --
- '
- ' PURPOSE -- To determine users graphics default
- '
- SUB AskGraphics STATIC
- * ------[ first line different ]------
- IF ZEmphasizeOn$ = "" THEN _ ' DD083101/BGCOLOR
- ZEmphasizeOn$ = ZEmphasizeOnDef$ ' DD083101/BGCOLOR
- IF ZEmphasizeOff$ = "" THEN _ ' DD083101/BGCOLOR
- ZEmphasizeOff$ = ZEmphasizeOffDef$ ' DD083101/BGCOLOR
- IF ZExpertUser THEN _
- GOTO 43007
- * REPLACING old line(s) by new
- 43007 CALL QuickTPut1 ("GRAPHICS for text files and menus")
- * ------[ first line different ]------
- ZOutTxt$ = "Change from " + MID$("NMCAR",ZWasGR+1,1) + _ ' DD061301
- " to N)one, M)ono, C)olor, " + _ ' DD040201
- "A)vatar, R)IP, H)elp" + _ ' DD061301
- ZPressEnterExpert$ ' DD083003
- ZSubParm = 1 ' Mpl090202
- ZTurboKey = -ZTurboKeyUser
- ' CALL PopCmdStack ' Mpl090202
- CALL TGet ' Mpl090202
- IF ZSubParm = -1 THEN _
- EXIT SUB
- IF ZWasQ = 0 THEN _
- CALL QuickTPut1 ("Unchanged") : _
- EXIT SUB
- CALL AraAllCaps (ZUserIn$(),1) ' Mpl090202
- WasGR = INSTR("NMCAR",ZUserIn$(1)) ' DD061301
- IF WasGR > 1 AND NOT ZEightBit THEN _ ' DD040201
- CALL QuickTPut1 ("COLOR unavailable. Requires 8-N-1!") : _ ' DD032301
- GOTO 43007
- IF WasGR = 0 THEN _ ' DD040201
- GOTO 43006
- ZWasGR = WasGR - 1 ' DD040201
- CALL SetGraphic (ZWasGR)
- END SUB
- '
- * REPLACING old line(s) by new
- 43031 ' $SUBTITLE: 'GraphicX - sub to find graphic version of a file'
- ' $PAGE
- '
- ' NAME -- GraphicX
- '
- ' INPUTS -- PARAMETER MEANING
- ' Default$ USERS Graphic DEFAULT
- ' ZWasGR WHETHER GRAPHICS ARE AVAILABLE
- ' FilName$ FILE TO CHECK
- ' FileNum # of file to use
- '
- ' OUTPUTS -- FilName$ SUBSTITUTES NAME OF GRAPHICS
- ' FILE (IF IT EXISTS).
- '
- ' PURPOSE -- Checks whether there is a graphics version of
- ' a file, based on users graphics perference.
- ' Sets file name to graphics file if it exists,
- ' Otherwise leaves file name intact. Returns file
- ' name to use.
- '
- SUB GraphicX (FilName$,FileNum) STATIC
- ZOK = ZFalse
- * ------[ first line different ]------
- IF ZWasGR THEN ' DD040201
- CALL BreakFileName (FilName$,DR$,WasX$,Extension$,ZTrue) ' DD040201
- IF LEN(WasX$) < 8 THEN ' DD040201
- ZWasDF$ = DR$ + _
- WasX$ + _
- ZUserGraphicDefault$ + _
- Extension$ ' DD040201
- CALL FINDITX (ZWasDF$,FileNum) ' DD040201
- IF NOT ZOK AND ZWasGR > 2 THEN ' DD061301
- ZWasDF$ = DR$ + _ ' DD040201
- WasX$ + _ ' DD040201
- CHR$(67) + _ ' DD040201
- Extension$ ' DD040201
- CALL FINDITX(ZWasDF$,FileNum) ' DD040201
- END IF ' DD040201
- IF ZOK THEN ' DD040201
- FilName$ = ZWasDF$ : _ ' DD040201
- IF ZUserGraphicDefault$ = CHR$(67) OR _ 'C ' DD040201
- ZUserGraphicDefault$ = CHR$(86) OR _ 'V ' DD061301
- ZUserGraphicDefault$ = CHR$(82) THEN _ 'R ' DD061301
- ZLinesPrinted = 0 ' DD040201
- END IF ' DD040201
- END IF ' DD040201
- END IF ' DD040201
- IF NOT ZOK THEN _
- CALL FINDITX (FilName$,FileNum)
- END SUB
- ' Sets Graphic version but uses file # 2 always
- SUB Graphic (FilName$) STATIC
- CALL GraphicX (FilName$,2)
- END SUB
- * REPLACING old line(s) by new
- 43068 ' $SUBTITLE: 'SaveProf - subroutine to read a user profile'
- ' $PAGE
- '
- ' NAME -- SaveProf
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZBPS
- ' ZEightBit
- ' ZExitToDoors
- ' ZWasGR
- ' ZMsgRec$
- ' ZNodeRecIndex
- ' ZSysop
- ' ZUpperCase
- ' ZTimeLoggedOn$
- ' ZPrivateDoor
- ' ZReliableMode
- '
- ' OUTPUTS -- NONE
- '
- ' PURPOSE -- Saves a user's options and communications parameters
- ' in the node record when a user exits to a "door" so
- ' that he is in the same status as when he exited.
- '
- SUB SaveProf (IParm) STATIC
- * ------[ first line different ]------
- ON IParm GOTO 43070,43080,43075 ' Mpl122301
- * REPLACING old line(s) by new
- 43070 ZActiveMessageFile$ = ZOrigMsgFile$
- ZSubParm = 3
- CALL FileLock
- CALL OpenMsg
- FIELD 1, 128 AS ZMsgRec$
- GET 1,ZNodeRecIndex
- IF ZGlobalSysop THEN _
- MID$(ZMsgRec$,1,30) = "SYSOP" + SPACE$(25)
- MID$(ZMsgRec$,40,2) = STR$(ZExitToDoors)
- MID$(ZMsgRec$,42,2) = STR$(ZEightBit)
- MID$(ZMsgRec$,44,2) = RIGHT$(STR$(-ZBPS),2)
- MID$(ZMsgRec$,46,2) = STR$(ZUpperCase)
- MID$(ZMsgRec$,48,5) = MKS$(ZNumDnldBytes!) + MID$(STR$(-ZBatchTransfer),2)
- MID$(ZMsgRec$,53,2) = STR$(ZWasGR)
- MID$(ZMsgRec$,55,2) = STR$(ZSysop)
- MID$(ZMsgRec$,65,3) = CHR$(VAL(LEFT$(ZOrigTimeLoggedOn$,2))) + _
- CHR$(VAL(MID$(ZOrigTimeLoggedOn$,4,2))) + _
- CHR$(VAL(MID$(ZOrigTimeLoggedOn$,7,2)))
- MID$(ZMsgRec$,72,2) = STR$(ZPrivateDoor)
- MID$(ZMsgRec$,74,1) = MID$(STR$(ZTransferFunction),2,1)
- MID$(ZMsgRec$,75,1) = ZWasFT$
- MID$(ZMsgRec$,113,2) = MKI$(CINT(ZTimeCredits!)/60)
- * ------[ first line different ]------
- MID$(ZMsgRec$,91,2) = STR$(ZReliableMode)
- CALL BreakFileName (ZCurPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZFalse)
- MID$(ZMsgRec$,93,8) = ZUserIn$ + SPACE$(8 - LEN(ZUserIn$))
- IF ZLocalUser THEN _
- ZWasZ$ = ZCarriageReturn$ + ZCarriageReturn$ _
- ELSE ZWasZ$ = " 0"
- MID$(ZMsgRec$,101,2) = ZWasZ$
- MID$(ZMsgRec$,103,2) = STR$(ZLocalUserMode)
- ZConfName$ = LEFT$(ZConfName$,INSTR(ZConfName$ + SPACE$(1),SPACE$(1)) - 1) ' DD021301
- MID$(ZMsgRec$,105,8) = ZConfName$ + SPACE$(8 - LEN(ZConfName$))
- MID$(ZMsgRec$,115,1) = MID$(STR$(ZAutoLogoffReq),2,1)
- MID$(ZMsgRec$,117,2) = STR$(ZMenuIndex)
- MID$(ZMsgRec$,119,2) = LEFT$(DATE$,2)
- MID$(ZMsgRec$,121,2) = MID$(DATE$,4,2)
- MID$(ZMsgRec$,123,2) = RIGHT$(DATE$,2)
- MID$(ZMsgRec$,125,2) = LEFT$(TIME$,2)
- MID$(ZMsgRec$,127,2) = MID$(TIME$,4,2)
- ' *** Save additional parameters for door restoral
- * INSERTING new line(s)
- 43075 CALL OpenOutW (ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF") ' Mpl122301
- CALL PrintWorkA (2,STR$(ZLimitMinsPerSession)) ' DD040601
- CALL PrintWorkA (2,ZWasNG$) ' DD040601
- CALL PrintWorkA (2,ZIndivValue$) ' DD040601
- CALL PrintWorkA (2,ZOrigDateTimeOn$) ' DD040601
- CALL PrintWorkA (2,ZOrigTimeLoggedOn$) ' DD040601
- CALL PrintWorkA (2,STR$(ZUserFileIndex)) ' DD040601
- CALL PrintWorkA (2,ZUpldDir$) ' DD040601
- ZOutTxt$ = STR$(ZUpldDir$ = ZFMSDirectory$ OR ZLimitSearchToFMS)
- CALL PrintWorkA (2,ZOutTxt$) ' DD040601
- CALL PrintWorkA (2,ZCBaud$) ' DD040601
- CALL PrintWorkA (2,ZDooredTo$) ' DD040601
- CALL PrintWorkA (2,STR$(ZCanANSIChat)) ' DD040601/ANSICHAT
- CALL PrintWorkA (2,ZMarkedFiles$) ' DD052101
-
- CLOSE 2
- CALL PutMenu0Info ' DD021601/MENU0
- IF IParm = 3 THEN _ ' Mpl122301
- EXIT SUB ' Mpl122301
- * REPLACING old line(s) by new
- 44000 ' $SUBTITLE: 'ReadProf - subroutine to restore a user profile'
- ' $PAGE
- '
- ' NAME -- ReadProf
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZNodeRecIndex NODE RECORD TO USE
- ' ZSysopPswd1$ Sysop'S PSEUDONYM 1
- ' ZSysopPswd2$ Sysop'S PSEUDONYM 2
- '
- ' OUTPUTS -- USER'S OPTIONS AND COMMUNICATIONS PARAMETERS
- ' UPON EXITING RBBS-PC TO A "DOOR"
- '
- ' PURPOSE -- Reset a user's options and communications parameters
- ' that were saved in the node record when a user exited
- ' to a "door" so that he is in the same status as when
- ' he exited.
- '
- SUB ReadProf STATIC
- FIELD 1, 128 AS ZMsgRec$
- GET 1,ZNodeRecIndex
- ZReliableMode = VAL(MID$(ZMsgRec$,91,2))
- * ------[ first line different ]------
- MID$(ZMsgRec$,40,2) = STRING$(2,48) ' DD021301
- ZEightBit = VAL(MID$(ZMsgRec$,42,2))
- ZBPS = -VAL(MID$(ZMsgRec$,44,2))
- CALL CommInfo
- ZBaudTest! = VAL(MID$(ZBaudRates$,(-5 * ZBPS),5))
- ZUpperCase = VAL(MID$(ZMsgRec$,46,2))
- ZNumDnldBytes! = CVS(MID$(ZMsgRec$,48,4))
- ZBatchTransfer = (MID$(ZMsgRec$,52,1) = CHR$(49)) ' DD021301
- ZWasGR = VAL(MID$(ZMsgRec$,53,2))
- HourLoggedOn$ = RIGHT$(CHR$(48)+MID$(STR$(ASC(MID$(ZMsgRec$,65,1))),2),2) ' DD021301
- MinLoggedOn$ = RIGHT$(CHR$(48)+MID$(STR$(ASC(MID$(ZMsgRec$,66,1))),2),2) ' DD021301
- SecLoggedOn$ = RIGHT$(CHR$(48)+MID$(STR$(ASC(MID$(ZMsgRec$,67,1))),2),2) ' DD021301
- ZTimeLoggedOn$ = HourLoggedOn$ + _
- CHR$(58) + _ ' DD021301
- MinLoggedOn$ + _
- CHR$(58) + _ ' DD021301
- SecLoggedOn$
- ZTransferFunction = VAL(MID$(ZMsgRec$,74,1))
- ZWasFT$ = MID$(ZMsgRec$,75,1)
- ZTimeCredits! = 60!*CVI(MID$(ZMsgRec$,113,2)) ' KKG030901
- ZMenuIndex = VAL(MID$(ZMsgRec$,117,2))
- ZCurPUI$ = MID$(ZMsgRec$,93,8)
- CALL Remove (ZCurPUI$,SPACE$(1)) ' DD021301
- IF ZCurPUI$ <> "" THEN _
- CALL BreakFileName (ZMainPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZTrue) : _
- ZCurPUI$ = ZOutTxt$ + ZCurPUI$ + ZWasZ$
- ZCustomPUI = (ZCurPUI$ <> "")
- ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$ + ZCarriageReturn$)
- ZLocalUserMode = VAL(MID$(ZMsgRec$,103,2))
- ZHomeConf$ = MID$(ZMsgRec$,105,8)
- ZAutoLogoffReq = (VAL(MID$(ZMsgRec$,115,1)) <> 0)
- CALL Trim (ZHomeConf$)
- IF ZHomeConf$ = "MAIN" THEN _
- ZHomeConf$ = ""
- ' IF ZRequiredRings > 0 AND _
- ' INSTR(ZModemInitCmd$,"S0=255") THEN _
- COLOR 7,0,0 ' DD070204
- ' ELSE COLOR ZFG,ZBG,ZBorder ' DD070204
- IF ZLocalUserMode THEN _
- GOTO 44003
- CALL SetBaud
- * REPLACING old line(s) by new
- 44003 ZUserLogonTime! = VAL(HourLoggedOn$) * 3600! + _
- VAL(MinLoggedOn$) * 60! + _
- VAL(SecLoggedOn$)
- HourLoggedOn$ = ""
- MinLoggedOn$ = ""
- SecLoggedOn$ = ""
- IF ZMinsPerSession < 1 THEN _
- ZMinsPerSession = 3
- IF NOT ZEightBit THEN _
- OUT ZLineCntlReg,&H1A
- IF LEFT$(ZMsgRec$,7) = "SYSOP " THEN _
- ZFirstName$ = ZSysopPswd1$ : _
- * ------[ first line different ]------
- ZActiveUserName$ = ZSysopPswd1$ + SPACE$(1) + ZSysopPswd2$ _ ' DD021301
- ELSE ZFirstNameEnd = INSTR(ZMsgRec$,SPACE$(1)) : _ ' DD021301
- ZLastNameEnd = INSTR(ZFirstNameEnd + 1,ZMsgRec$ + SPACE$(1),SPACE$(2)) : _ ' DD021301
- ZFirstName$ = LEFT$(ZMsgRec$,ZFirstNameEnd-1) : _
- ZLastName$ = MID$(ZMsgRec$,ZFirstNameEnd + 1,ZLastNameEnd - (ZFirstNameEnd + 1)) : _
- ZActiveUserName$ = MID$(ZFirstName$ + SPACE$(1) + ZLastName$,1,31) ' DD021301
- ZWasZ$ = ZFirstName$
- CALL OpenWork (2,ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF")
- CALL ReadDir (2,1)
- ZLimitMinsPerSession = VAL (ZOutTxt$)
- CALL ReadDir (2,1)
- ZWasNG$ = ZOutTxt$
- CALL ReadDir (2,1)
- ZIndivValue$ = ZOutTxt$
- CALL ReadDir (2,1)
- ZOrigDateTimeOn$ = ZOutTxt$
- CALL ReadDir (2,1)
- ZOrigTimeLoggedOn$ = ZOutTxt$
- CALL ReadDir (2,1)
- ZUserFileIndex = VAL(ZOutTxt$)
- CALL ReadDir (2,1)
- ZUpldDoor$ = ZOutTxt$
- CALL ReadDir (2,1)
- ZFMSDoor = VAL(ZOutTxt$)
- CALL ReadDir (2,1)
- ZCBaud$ = ZOutTxt$
- CALL ReadDir (2,1) ' KG012803
- ZDooredTo$ = ZOutTxt$ ' KG012803
- CALL ReadDir (2,1) ' DD071901/ANSICHAT
- ZCanANSIChat = VAL(ZOutTxt$) ' DD071901/ANSICHAT
- CALL ReadDir (2,1) ' DD052101
- IF ZOutTxt$ <> "" THEN ' DD052101
- CALL Trim (ZOutTxt$) ' DD052101
- ZMarkedFiles$ = ZOutTxt$ + CHR$(13) ' DD052101
- DO WHILE NOT EOF(2) ' DD052101
- CALL ReadDir (2,1) ' DD052101
- IF ZOutTxt$ = "" THEN ' DD052101
- EXIT DO ' DD052101
- END IF ' DD052101
- CALL Trim (ZOutTxt$) ' DD052101
- ZMarkedFiles$ = ZMarkedFiles$ + ZOutTxt$ + CHR$(13) ' DD052101
- LOOP ' DD052101
- END IF ' DD052101
- ' CLOSE 2 ' KillWork Closes #2 ' DD060703
- CALL KillWork (ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF") ' DD032602
- CALL Trim (ZDooredTo$) ' DD031501
- IF ZExitToDoors AND ZDooredTo$ <> "" THEN _ ' DD031501
- CALL OpenWork (2,ZDoorsDef$) : _ ' DD031501
- IF ZErrCode = 0 THEN _ ' DD031501
- CALL ReadParms (ZOutTxt$(),10,1) : _ ' DD031501/DOORS
- WHILE ZErrCode = 0 AND ZOutTxt$(1) <> ZDooredTo$ : _ ' DD031501
- CALL ReadParms (ZOutTxt$(),10,1) : _ ' DD031501/DOORS
- WEND : _ ' DD031501
- IF ZOutTxt$(1) = ZDooredTo$ THEN _ ' DD031501
- ZDoorSkipsPswd = (ZOutTxt$(6) <> CHR$(89)) 'Y ' DD031501
- ZDoorCarrierDropOK$ = ZOutTxt$(10) ' DD031501/DOORCARRIERDROP
- ZDoorDropFile$ = ZoutTxt$(9) ' DD131501/DOORSYS
- ZErrCode = 0 ' DD031501
- CALL GetMenu0Info ' DD122101/MENU0
- CALL DoorReturn
- END SUB
- * REPLACING old line(s) by new
- 44020 ' $SUBTITLE: 'CommInfo - sub for variable of users baud/parity'
- ' $PAGE
- '
- ' NAME -- CommInfo
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZBPS BAUD RATE INDICATOR
- ' ZEightBit INDICATE FOR N/8/1
- '
- ' OUTPUTS -- ZBaudParity$
- '
- ' PURPOSE -- Create a string that shows a users baud rate and parity
- '
- SUB CommInfo STATIC
- '
- '
- ' * DETERMINE BAUD AND PARITY
- '
- '
- IF ZReliableMode THEN _
- ReliableMode$ = "-R," _
- * ------[ first line different ]------
- ELSE ReliableMode$ = CHR$(44) ' DD021301
- ZBaudParity$ = MID$(ZBaudRates$,(-5 * ZBPS),5) + _
- " BAUD" + _ 'Pe 07/18/91
- ReliableMode$ + _
- MID$("N,8,1E,7,1",6 + 5 * ZEightBit,5)
- ZBaudTest! = VAL(ZBaudParity$)
- END SUB
- * REPLACING old line(s) by new
- 50500 CALL CheckTime(ZDelay!, TempElapsed!, 1)
- IF TempElapsed! > 0 THEN _
- * ------[ first line different ]------
- CALL GoIdle : _ ' DD081701
- GOTO 50500
- END SUB
- * REPLACING old line(s) by new
- 52080 CALL DelayTime (ZModemCmdDelayTime)
- * ------[ first line different ]------
- WasX$ = SPACE$(1) ' DD021301
- FOR WasI = 1 TO LEN(Strng$)
- LSET WasX$ = MID$(Strng$,WasI,1)
- ON INSTR("{~",WasX$) GOTO 52082,52084
- GOTO 52085
- * REPLACING old line(s) by new
- 57001 ' $SUBTITLE: 'DispCall - subroutine to display callers file'
- ' $PAGE
- '
- ' NAME -- DispCall
- '
- ' INPUTS -- PARAMETER MEANING
- '
- ' OUTPUTS -- (NONE)
- '
- ' PURPOSE -- Displays callers file to sysops and callers
- '
- SUB DispCall STATIC
- IF ZCallersFilePrefix$ = "" THEN _
- EXIT SUB
- PrevCal$ = ZCallersFile$
- OrigCal$ = ZCallersFile$
- * ------[ first line different ]------
- ' FullDisplay = ZSysOp OR (RIGHT$(ZLastCommand$,1) = "2") ' Mpl090202
- IF (ZUserSecLevel < ZSysopSecLevel) THEN _ ' Mpl090202
- GOTO 57004
- CALL LinesInFile (ZCallersLst$,NumItems)
- IF NumItems < 1 THEN _
- GOTO 57004
- IF ZAnsIndex < ZLastIndex THEN _
- GOTO 57003
- * REPLACING old line(s) by new
- 57002 CALL QuickTPut1 ("Caller's logs available are:")
- ZNo = ZFalse
- LineCt = 0
- CALL OpenWork (2, ZCallersLst$)
- WHILE (NOT ZNo) AND (NOT EOF(2))
- LineCt = LineCt + 1
- CALL ReadDir (2,1)
- * ------[ first line different ]------
- Temp = INSTR(ZOutTxt$,SPACE$(1)) ' DD021301
- IF Temp = 0 THEN _
- ZOutTxt$ = SPACE$(1) + STRING$(3,63) _ ' DD021301
- ELSE ZOutTxt$ = MID$(ZOutTxt$,Temp)
- ZOutTxt$ = SPACE$(2) + STR$(LineCt) + SPACE$(2) + _ ' DD021301
- CHR$(45) + SPACE$(1) + ZOutTxt$ ' DD021301
- ZSubParm = 5
- CALL TPut
- CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse)
- WEND
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 57003 ZOutTxt$ = "# of caller's log ([Q]uit, L)ist, 1," + _ ' DD021301
- STRING$(3,46) + CHR$(44) + _ ' DD021301
- MID$(STR$(NumItems),2) + CHR$(41) ' DD021301
- CALL PopCmdStack
- WasDF$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps (WasDF$)
- IF WasDF$ = CHR$(76) THEN _ 'L ' DD021301
- GOTO 57002
- CALL CheckInt (WasDF$)
- IF ZTestedIntValue <= 0 THEN _
- GOTO 57102
- IF ZTestedIntValue > NumItems THEN _
- GOTO 57003
- CALL OpenWork (2,ZCallersLst$)
- CALL ReadDir (2, ZTestedIntValue)
- ZCallersFile$ = LEFT$(ZOutTxt$,INSTR(ZOutTxt$+SPACE$(1),SPACE$(1))-1) ' DD021301
- CALL FindIt (ZCallersFile$)
- CLOSE 2
- IF NOT ZOK THEN _
- Call QuickTPut1 ("No caller's log <"+ZCallersFile$+"> found") : _
- ZCallersFile$ = PrevCal$ : _
- GOTO 57003
- IF PrevCal$ <> ZCallersFile$ THEN _
- CALL SetCall
- * REPLACING old line(s) by new
- 57005 IF CallersFileIndexTemp! < 1 OR ZRet THEN _
- * ------[ first line different ]------
- CLOSE 4 : _ ' Pe 07/09/92
- GOTO 57101
- * REPLACING old line(s) by new
- 57010 GET 4,CallersFileIndexTemp!
- ZOutTxt$ = ZCallersRecord$
- * ------[ first line different ]------
- IF LEFT$(ZOutTxt$,3) = SPACE$(3) OR _ ' DD021301
- INSTR(ZOutTxt$,"on at") = 0 THEN _
- GOTO 57030
- * REPLACING old line(s) by new
- 57025 CallersFileIndexTemp! = CallersFileIndexTemp! - 1
- GET 4,CallersFileIndexTemp!
- * ------[ first line different ]------
- WasZ = INSTR(ZCallersRecord$,CHR$(123)) '{ ' DD021301
- IF WasZ < 1 OR WasZ > 15 THEN _
- WasZ = 15
- IF ZSysop OR _ ' Mpl090202
- LEFT$(ZOutTxt$,3) <> SPACE$(3) THEN _ ' DD021301
- ZOutTxt$ = ZOutTxt$ + LEFT$(ZCallersRecord$,WasZ - 1)
- GOSUB 57100
- IF ZSysop THEN _ ' Mpl090202
- ZOutTxt$ = MID$(ZCallersRecord$,WasZ) : _ ' Mpl090202
- GOSUB 57100 ' Mpl090202
- GOTO 57045
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 57030 IF ZSysop THEN _ ' Mpl090202
- GOSUB 57100
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 57100 IF INSTR(ZOutTxt$,"LOGON DENIED") THEN _ ' Mpl090202
- IF NOT ZSysOp THEN _
- RETURN
- IF ZJumpSearching THEN _
- ZWasDF$ = ZOutTxt$ : _
- CALL AllCaps (ZWasDF$) : _
- IF INSTR(ZWasDF$,ZJumpTo$) = 0 THEN _
- RETURN _
- ELSE CALL CheckColor (ZOutTxt$,ZJumpTo$,"") : _
- ZJumpSearching = ZFalse
- ZSubParm = 5
- CALL TPut
- WasX = 1
- CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse)
- IF ZSubParm = -1 THEN _ ' RH070402
- GOTO 57102 _ ' RH070402
- ELSE IF ZNo THEN _ ' RH070402
- GOTO 57101 ' RH070402
- RETURN
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 57101 IF WasX < 999 AND ZSysOp AND NumItems > 1 THEN _ ' Mpl090202
- PrevCal$ = ZCallersFile$ : _
- GOTO 57003
- * REPLACING old line(s) by new
- 57102 ZJumpSupported = ZFalse
- * ------[ first line different ]------
- IF OrigCal$ <> ZCallersFile$ THEN _ ' RH070401
- ZCallersFile$ = OrigCal$ : _
- CALL SetCall
- END SUB
- * REPLACING old line(s) by new
- 58050 ' $SUBTITLE: 'AllCaps - sub to convert string to upper case'
- ' $PAGE
- '
- ' NAME -- AllCaps
- '
- ' INPUTS -- PARAMETER MEANING
- ' ConvertField$ STRING TO MAKE UPPER CASE
- '
- ' OUTPUTS -- ConvertField$ CONVERTED STRINGS
- '
- ' PURPOSE -- Subroutine to convert a string to upper case
- '
- SUB AllCaps (ConvertField$) STATIC
- * ------[ first line different ]------
- ConvertField$ = UCASE$(ConvertField$) ' DD062304
- ' CALL RBBSULC (ConvertField$) ' DD062304
- END SUB
- * REPLACING old line(s) by new
- 58060 ' $SUBTITLE: 'NameCaps - sub to convert name string to Proper Case'
- ' $PAGE
- '
- ' NAME -- NameCaps
- '
- ' INPUTS -- PARAMETER MEANING
- ' ConvertField$ STRING TO CONVERT
- '
- ' OUTPUTS -- ConvertField$ CONVERTED STRINGS
- '
- ' PURPOSE -- Subroutine to convert a string to Proper Case (1st char upper)
- '
- SUB NameCaps (ConvertField$) STATIC
- CALL AllCaps(ConvertField$)
- FOR WasZ = 2 TO LEN(ConvertField$)
- * ------[ first line different ]------
- IF MID$(ConvertField$,WasZ,1) > CHR$(64) AND _ '@ ' DD021301
- MID$(ConvertField$,WasZ,1) < CHR$(91) AND _ '[ ' DD021301
- MID$(ConvertField$,WasZ-1,1) <> SPACE$(1) THEN _ ' DD021301
- MID$(ConvertField$,WasZ,1) = CHR$(ASC(MID$(ConvertField$,WasZ,1)) OR 32)
- NEXT
- END SUB
- * REPLACING old line(s) by new
- 58100 ' $SUBTITLE: 'SetOpts - sub to set prompts based on user security'
- ' $PAGE
- '
- ' NAME -- SetOpts
- '
- ' INPUTS -- PARAMETER MEANING
- ' First POSITION WHERE START LOOKING
- ' Last POSITION WHERE QUIT LOOKING
- ' ZUserSecLevel SECURITY OF USER
- '
- ' OUTPUTS -- Options$ LIST OF COMMANDS USER CAN DO
- '
- ' PURPOSE -- String together what commands user can do in a section
- '
- SUB SetOpts (Options$,InvalidOptions$,First,Last) STATIC
- Options$ = ""
- InvalidOptions$ = ""
- FOR WasI = First TO Last
- IF ZUserSecLevel < ZOptSec(WasI) THEN _
- InvalidOptions$ = InvalidOptions$ + _
- MID$(ZAllOpts$,WasI,1) _
- * ------[ first line different ]------
- ELSE IF MID$(ZAllOpts$,WasI,1) <> SPACE$(1) THEN _ ' DD021301
- Options$ = Options$ + _
- MID$(ZAllOpts$,WasI,1)
- NEXT
- CALL SortString (Options$)
- CALL SortString (InvalidOptions$)
- END SUB
- * REPLACING old line(s) by new
- 58110 ' $SUBTITLE: 'CheckNewBul - sub to check whether got new bulletins'
- ' $PAGE
- '
- ' NAME -- CheckNewBul
- '
- ' INPUTS -- PARAMETER MEANING
- ' LastOn$ Last DATE OF LOGON
- ' FORMAT MM/DD/YY
- ' ZActiveBulletins # OF BULLETING
- ' ZBulletinPrefix$ FILESPEC FOR BULLETINS
- '
- ' OUTPUTS -- NumNewBullets NUMBER OF NEW BULLETINS
- ' NewBullets$ LIST OF NEW BULLET #'S
- ' ZWasQ WHERE Last BULLETIN STORED
- ' IN ZUserIn$()
- ' ZOutTxt$() BULLETINS #'S THAT ARE NEW
- ' (2,3,4,...)
- '
- ' PURPOSE -- Checks how many bulletins have system date
- ' at or later than date caller last logged on
- '
- SUB CheckNewBul (LastOn$,NumNewBullets,NewBullets$) STATIC
- IF ZExitToDoors OR ZBulletinPrefix$ = ZPrevPrefix$ THEN _
- EXIT SUB
- ZPrevPrefix$ = ZBulletinPrefix$
- NumNewBullets = 0
- NewBullets$ = ""
- BaseDate# = VAL(MID$(LastOn$,4,2)) + (100 * VAL(MID$(LastOn$,1,2))) + _
- (10000# * (1900 + VAL(MID$(LastOn$,7,2))))
- CALL FindIt (ZBulletinPrefix$ + ".FCK")
- WasX = 0
- * ------[ first line different ]------
- IF ZOK THEN _
- NumDots = 0 : _ ' DD082602
- CALL SkipLine (2) : _ ' DD031302
- CALL QuickTPut (ZFGC$ + "Checking new bulletins" + _ ' DD031302
- ZEmphasizeOff$,0) : _ ' DD031302
- WHILE NOT EOF(2) : _
- INPUT #2,WasBN$ : _
- GOSUB 58112 : _
- CALL MarkTime (NumDots) : _ ' DD082602
- WEND _
- ELSE FOR WasI = 1 TO ZActiveBulletins : _
- WasBN$ = MID$(STR$(WasI),2) : _
- GOSUB 58112 : _
- NEXT
- CALL QuickTPut (ZBackSpace$,0) ' DD041304
- ZWasQ = NumNewBullets + 1
- IF NumNewBullets < 1 THEN _
- NewBullets$ = "" : _ ' DD082602
- CALL SkipLine (1) : _ ' DD031302
- CALL QuickTPut1 (ZFG5$ + "No New Bulletins!" + _ ' DD031302
- ZEmphasizeOff$) ' DD082602
- ' CALL SkipLine (1) ' DD090606
- ZOutTxt$ = STR$(NumNewBullets) ' DD063001
- CALL Trim (ZOutTxt$) ' DD063001
- ZOutTxt$ = ZCRLf$ + ZFGF$ + ZOutTxt$ + ZFGE$ + _ ' DD090703
- " New bulletin(s) since last call" + ZEmphasizeOff$ ' DD082103
- IF NumNewBullets >= 1 THEN _ ' DD081901
- CALL QuickTPut (ZOutTxt$,2) : _ ' DD081901
- CALL BufString (NewBullets$,4096,WasX) : _ ' DD081901
- CALL SkipLine (1) ' DD081901
- EXIT SUB
- * REPLACING old line(s) by new
- 58112 FirstWord$ = WasBN$
- CALL Trim (FirstWord$)
- * ------[ first line different ]------
- FirstWord$ = LEFT$(FirstWord$,INSTR(FirstWord$+SPACE$(1),SPACE$(1))-1) ' DD021301
- IF FirstWord$ = CHR$(78) THEN _ 'N ' DD021301
- WasX$ = ZNewsFileName$ + CHR$(0) _
- ELSE WasX$ = ZBulletinPrefix$ + FirstWord$ + CHR$(0)
- ' CALL MarkTime (WasX) ' DD081901
- CALL RBBSFind (WasX$,WasIX,Year,WasMM,WasDD)
- IF WasIX = 0 THEN _
- FDate# = WasDD + (100 * WasMM) + (10000# * (Year + 1980)) : _
- IF BaseDate# <= FDate# THEN _
- NumNewBullets = NumNewBullets + 1 : _
- ZOutTxt$(NumNewBullets + 1) = FirstWord$ : _
- NewBullets$ = NewBullets$ + SPACE$(1) + WasBN$ ' DD021301
- RETURN
- END SUB
- * REPLACING old line(s) by new
- 58120 ' $SUBTITLE: 'SortString - sub to sort characters in a string'
- ' $PAGE
- '
- ' NAME -- SortString
- '
- ' INPUTS -- PARAMETER MEANING
- ' Strng$ STRING TO SORT
- '
- ' OUTPUTS -- Strng$ SORTED STRING
- '
- ' PURPOSE -- Sorts characters in passed string.
- '
- SUB SortString (Strng$) STATIC
- Sort0 = LEN(Strng$)
- Sort1 = Sort0
- * ------[ first line different ]------
- WasX$ = CHR$(33) '! ' DD021301
- * REPLACING old line(s) by new
- 58130 ' $SUBTITLE: 'AddCommas - sub to format commands in command prompt'
- ' $PAGE
- '
- ' NAME -- AddCommas
- '
- ' INPUTS -- PARAMETER MEANING
- ' Strng$ STRING TO REPLACE
- '
- ' OUTPUTS -- Strng$ REPLACED STRING
- '
- ' PURPOSE -- Inserts commands between each letter in Strng$
- ' and encloses in pointed brackets
- '
- SUB AddCommas (Strng$) STATIC
- WasL = LEN(Strng$)
- IF WasL < 1 THEN _
- EXIT SUB
- LSET ZLineMes$ = " <" + _
- LEFT$(Strng$,1)
- FOR WasK = 2 TO WasL
- * ------[ first line different ]------
- MID$(ZLineMes$,2 * WasK,2) = CHR$(44) + _ ' DD021301
- MID$(Strng$,WasK,1)
- NEXT
- Strng$ = LEFT$(ZLineMes$,2 * WasL + 1) + _
- CHR$(62) '> ' DD021301
- END SUB
- * REPLACING old line(s) by new
- 58140 ' $SUBTITLE: 'LoadNew - subroutine to get latest uploads'
- ' $PAGE
- '
- ' NAME -- LoadNew
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZUpldDir$ LIST OF FILES UPLOADED
- '
- ' OUTPUTS -- ZOutTxt$ LATEST UPLOADS
- '
- ' PURPOSE -- Loads table of most recent number of uploads by date
- '
- SUB LoadNew (Ara(2)) STATIC
- IF ZFMSDirectory$ = "" THEN _
- EXIT SUB
- ZPrevBase$ = ""
- FirstWarning = ZTrue
- IF PrevLoadNew$ = ZFMSDirectory$ THEN _
- Ara(1,1) = 0 : _
- EXIT SUB
- * ------[ first line different ]------
- Lmonth$ = RIGHT$(STR$(ASC(MID$(ZListNewDate$,2))),2) ' DD060701
- Lday$ = RIGHT$(STR$(ASC(MID$(ZListNewDate$,3))),2) ' DD060701
- Lyear$ = RIGHT$(STR$(ASC(ZListNewDate$)),2) ' DD060701
- StopSearchingDate! = 372! * (VAL(Lyear$) - 80!) + 31! * VAL(Lmonth$) + VAL (Lday$) ' DD060701
- CALL QuickTPut (ZFG9$ + "Checking new files" + _ ' DGS050501/DS
- ZEmphasizeOff$,0) ' DGS050501/DS
- * REPLACING old line(s) by new
- 58141 PrevLoadNew$ = ZFMSDirectory$
- CALL OpenFMS (LastRec,WasL)
- FIELD 2, 23 AS PreDate$, _
- 2 AS WasMM$, _
- 1 AS Fill1$, _
- 2 AS WasDD$, _
- 1 AS Fill2$, _
- 2 AS Year$, _
- * ------[ first line different ]------
- (2 + ZMaxDescLen) AS ZDesc$, _ ' Mpl090202
- 3 AS Category$, _
- 2 AS Fill4$
- MaxRecs = UBOUND(Ara,1)
- IF MaxRecs < 1 THEN _
- MaxRecs = 1 _
- ELSE IF MaxRecs > 999 THEN _ ' DD012603
- MaxRecs = 999 ' DD012603
- WasL = 0
- WasK = LastRec
- numdots = 0 ' DD050801
- WHILE WasK > 0 AND WasL < MaxRecs
- CALL MarkTime (NumDots) ' DGS050501/DS
- GET #2,WasK
- IF INSTR("*\ ",LEFT$(PreDate$,1)) > 0 THEN ' DD060701
- GOTO 58142
- END IF ' DD060701
- IF (ZCanDnldFromUp OR Category$ <> ZDefaultCatCode$) THEN
- IF VAL(Year$) > 79 THEN ' DD060701
- WasL = WasL + 1 ' DD060701
- Ara(WasL,1) = 372! * (VAL(Year$) - 80!) + 31! * VAL(WasMM$) + VAL(WasDD$) ' DD060701
- IF ZDateOrderedFMS AND StopSearchingDate! > Ara(WasL,1) THEN ' DD060701
- Ara(WasL,1) = 0 ' DD060701
- WasL = WasL - 1 ' DD060701
- GOTO 58143 ' DD060701
- END IF ' DD060701
- ELSEIF FirstWarning THEN ' DD060701
- FirstWarning = ZFalse ' DD060701
- ZWasZ$ = "Invalid FMS format " + ZFMSDirectory$ ' DD060701
- ZSnoop = ZTrue ' DD060701
- CALL LPrnt (ZWasZ$,1) ' DD060701
- CALL UpdtCalr (ZWasZ$,2)
- END IF ' DD060701
- END IF ' DD060701
- IF NOT ZCanDnldFromUp THEN _
- WasX = ZMinSecToView _
- ELSE IF Category$ = STRING$(3,42) THEN _ ' DD021301
- WasX = ZSysopSecLevel _
- ELSE IF Category$ = ZDefaultCatCode$ THEN _
- WasX = ZMinSecToView _
- ELSE IF LEFT$(PreDate$,1) = CHR$(61) THEN _ '= ' DD021301
- CALL CheckInt (ZDesc$) : _ ' Mpl090202
- WasX = ZTestedIntValue _
- ELSE WasX = ZOptSec(19)
- Ara(WasL,2) = WasX
- * REPLACING old line(s) by new
- 58142 WasK = WasK - 1
- WEND
- * ------[ first line different ]------
- * INSERTING new line(s)
- 58143 CALL QuickTPut1 (ZBackSpace$) ' DD060701
- CLOSE 2
- IF ZUpInc > 0 AND ZChainedDir$ <> "" THEN _
- ZActiveFMSDir$ = ZChainedDir$ : _
- GOTO 58141
- END SUB
- * REPLACING old line(s) by new
- 58150 ' $SUBTITLE: 'CountNewFiles - sub to count how many files new'
- ' $PAGE
- '
- ' NAME -- CountNewFiles
- '
- ' INPUTS -- PARAMETER MEANING
- * ------[ first line different ]------
- ' LastOn$ Date to start search ' DD050303
- ' UPLDS$ Latest uploads
- '
- ' OUTPUTS -- NumNewFiles How many after last logon
- ' RptPrefix$ Set to "At least " if
- ' above is a minimum
- ' ListSearchDate$ Date to search FMS for ' DD050303
- '
- ' PURPOSE -- Checks how many files in UPLDS$ were uploaded on or
- ' after date of last dir search that the user can ' DD050303
- ' download ' DD050303
- '
- SUB CountNewFiles (LastOn$,Upld(2),NumUserFiles,ReturnDate$) STATIC ' DD052005
- ReturnDate$ = MID$(LastOn$,3,2) + MID$(LastOn$,5,2) + _
- MID$(LastOn$,1,2)
- BaseDate! = 372! * (VAL(MID$(LastOn$,1,2)) - 80!) + _ ' DD060701
- 31! * (VAL(MID$(LastOn$,3,2))) + _ ' DD060701
- VAL(MID$(LastOn$,5,2)) ' DD050303
- NumNewFiles = 1
- NumUserFiles = 0
- WHILE (BaseDate! <= Upld(NumNewFiles,1) AND _ ' DD060701
- Upld(NumNewFiles,1) > 0 AND _
- NumNewFiles < UBOUND(Upld,1))
- IF ZUserSecLevel => Upld(NumNewFiles,2) THEN _
- NumUserFiles = NumUserFiles + 1
- NumNewFiles = NumNewFiles + 1
- WEND
- IF Upld(NumNewFiles,1) < 1 THEN _
- NumNewFiles = NumNewFiles - 1
- ' IF BaseDate! <= Upld(NumNewFiles,1) THEN _ ' DD060701
- ' RptPrefix$ = "At least" _ ' DD052005
- ' ELSE RptPrefix$ = "" ' DD052005
- END SUB
- * REPLACING old line(s) by new
- 58162 ' $SUBTITLE: 'InitFMS - sub to initialize file management system'
- ' $PAGE
- '
- ' NAME -- InitFMS
- '
- ' INPUTS -- PARAMETER MEANING
- ' ZFMSDirectory$
- '
- ' OUTPUTS -- ZCategoryName$() ELEMENTS 1,2, POSSIBLY MORE
- ' ZCategoryCode$() ELEMENTS 1,2, POSSIBLY MORE
- ' ZCategoryDesc$() ELEMENTS 1,2, POSSIBLY MORE
- ' CategoryIndex COUNT OF # ELEMENTS IN THE FILE
- ' MANAGMENT SYSTEM
- '
- ' PURPOSE -- Subroutine to initialize the RBBS-PC File Management System
- '
- SUB InitFMS (CategoryIndex) STATIC
- * ------[ first line different ]------
- Blank$ = SPACE$(1) ' DD021301
- CategoryIndex = 1
- ZCategoryName$(1) = CHR$(80) 'P ' DD021301
- ZCategoryCode$(1) = CHR$(80) 'P ' DD021301
- ZCategoryDesc$(1) = "Personals"
- IF ZFMSDirectory$ <> "" THEN _
- CategoryIndex = CategoryIndex + 1 : _
- CatN$ = ZCategoryName$(CategoryIndex) : _
- CALL BreakFileName (ZFMSDirectory$,DrvPath$,CatN$,Extension$,ZFalse) : _
- ZCategoryName$(CategoryIndex) = CatN$ : _
- ZCategoryCode$(CategoryIndex) = "" : _
- ZCategoryDesc$(CategoryIndex) = "All uploads"_
- ELSE ZLimitSearchToFMS = ZFalse : _
- EXIT SUB
- IF ZLimitSearchToFMS OR ZMasterDirName$ = ZMainFMSDir$ THEN _
- CategoryIndex = CategoryIndex + 1 : _
- ZCategoryName$(CategoryIndex) = "ALL" : _
- ZCategoryCode$(CategoryIndex) = "" : _
- ZCategoryDesc$(CategoryIndex) = "All files"
- CALL FindIt (ZDirCatFile$)
- IF NOT ZOK THEN _
- EXIT SUB
- WHILE NOT EOF(2)
- CALL ReadParms (ZWorkAra$(),3,1)
- IF ZErrCode > 0 THEN _
- ZErrCode = 0 : _
- CALL PScrn (ZDirCatFile$+" invalid. Line" + STR$(CategoryIndex) + " needs 3 parms") : _
- CALL DelayTime (4) _
- ELSE CategoryIndex = CategoryIndex + 1 : _
- ZCategoryName$(CategoryIndex) = ZWorkAra$(1) : _
- CALL AraAllCaps (ZCategoryName$(),CategoryIndex) : _
- ZCategoryCode$(CategoryIndex) = ZWorkAra$(2) : _
- ZCategoryDesc$(CategoryIndex) = ZWorkAra$(3) : _
- CatR$ = ZCategoryCode$(CategoryIndex) : _
- CALL Remove (CatR$,Blank$) : _
- ZCategoryCode$(CategoryIndex) = CatR$
- WEND
- CLOSE 2
- END SUB
- * REPLACING old line(s) by new
- 58165 ' $SUBTITLE: 'DispUpDir - sub to display FMS directory'
- ' $PAGE
- '
- ' NAME -- DispUpDir
- '
- ' INPUTS -- PARAMETER MEANING
- ' PassedCats$ FILE "CATEGORIES" TO BE INCLUDED IN
- ' THE SEARCH.
- ' SearchString$ STRING TO SEARCH ON WITHIN THE
- ' FILE "CATEGORIES" SELECTED
- ' SearchDate$ DATE EQUAL TO OR GREATER THAN TO BE
- ' SEARCHED FOR WITH THE "CATEGORIES"
- ' AND THE STRING TO SEARCH.
- ' DnldFlag SET TO RECORD # OF LINE TO BEGIN
- ' VIEWING - 0 IF AT END
- '
- ' OUTPUTS -- DnldFlag WHENEVER DOWNLOAD REQUESTED, SETS
- ' TO 1. OTHERWISE LEAVES AT ZERO
- ' PURPOSE -- Display the files that meet the criteria selected in
- ' RBBS-PC upload management system on the users screen.
- '
- SUB DispUpDir (PassedCats$,SearchString$, _
- SearchDate$,DnldFlag,AbortIndex) STATIC
- IF AtEndList THEN _
- AtEndList = ZFalse : _
- IF DnldFlag > 0 THEN _
- GOSUB 58185 : _
- GOTO 58184
- CALL AllCaps (SearchString$)
- * ------[ first line different ]------
- Blank$ = SPACE$(1) ' DD021301
- ZStopInterrupts = ZFalse
- Categories$ = CHR$(44) + _ ', ' DD021301
- PassedCats$ + _
- CHR$(44) ' DD021301
- CanDnld = (ZUserSecLevel => ZOptSec(19))
- CanView = (ZUserSecLevel => ZOptSec(26))
- ZJumpSupported = ZTrue
- ZJumpSearching = ZFalse
- GOSUB 58185
- OrigDir$ = ZActiveFMSDir$
- InList = (RelistAt > 0 AND ReListAt <= LastRec)
- IF InList AND DnldFlag > 0 THEN _
- UpldIndex = RelistAt : _
- DnldFlag = 0 : _
- GOTO 58179
- ZJumpLast$ = ""
- SearchFor$ = SearchString$
- ExtraPrompt$ = LEFT$(",T)ype",6+4*ZExpertUser) 'Pe 10/21/89
- ExtraPrompt$ = ExtraPrompt$ + LEFT$(",V)iew",6+4*ZExpertUser) 'Pe 10/21/89
- IF ZPersonalDnld THEN _
- ExtraPrompt$ = ExtraPrompt$ + ",*)new" ' DD063004
- IF CanDnld THEN _
- ExtraPrompt$ = ExtraPrompt$ + ",E)xtend+/-,M)ark,D)nld" ' DD080802
- MaxPrint = ZPageLength - 1
- BelowMinSec = (ZUserSecLevel < ZMinSecToView)
- ZNonStop = ZNonStop OR (ZPageLength < 1)
- FMSCheckPoint = 0
- WildSearch = (INSTR(SearchString$,CHR$(63)) > 0) _ '? ' DD021301
- OR (INSTR(SearchString$,CHR$(42)) > 0) '* ' DD021301
- CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
- 'print "zansindex=";zansindex;" zlastindex=";zlastindex;:for ii=zansindex to zlastindex: print "<";zuserin$(ii);">";:next:print " zlc=<";zlastcommand$;">";:print:INPUT XXX$
- IF ZAnsIndex > 0 THEN _
- IF ZLastCommand$ = "FP" AND INSTR("Ll",ZUserIn$(ZLastIndex)) = 0 THEN _
- ZUserIn$(ZAnsIndex) = CHR$(68) : _ 'D ' DD021301
- IF (UpldIndex > 0 AND UpldIndex <= LastRec) THEN _
- GOTO 58180 _
- ELSE Temp$ = "" : _
- GOTO 58196
- * REPLACING old line(s) by new
- 58169 CALL CheckInt (MID$(PartToPrint$,34))
- IF ZUserSecLevel < ZTestedIntValue THEN _
- LastOK = ZFalse : _
- FailedSearch = ZFalse : _
- GOTO 58168
- * ------[ first line different ]------
- MID$(PartToPrint$,1,13) = MID$(PartToPrint$,2,12) + SPACE$(1) ' DD021301
- ZWasA = LEN(STR$(ZTestedIntValue))
- MID$(PartToPrint$,34) = MID$(PartToPrint$,34 + ZWasA) + SPACE$(ZWasA)
- GOTO 58172
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 58171 IF Category$ = STRING$(3,42) THEN _ ' display line ' DD021301
- GOTO 58176 _
- ELSE HoldCat$ = CHR$(44) + Category$ + CHR$(44) : _ ', ' DD021301
- IF INSTR(Categories$,HoldCat$) > 0 THEN _
- GOTO 58176 _
- ELSE GOTO 58168
- * REPLACING old line(s) by new
- 58172 LastOK = ZFalse ' normal file entry display
- FailedSearch = ZFalse
- LastFName = UpldIndex
- * ------[ first line different ]------
- IF Category$ = STRING$(3,42) THEN _ ' DD021301
- IF ZUserSecLevel < ZSysopSecLevel THEN _ ' DD021101
- GOTO 58178
- IF Category$ = ZDefaultCatCode$ THEN _
- IF BelowMinSec THEN _
- GOTO 58178
- * REPLACING old line(s) by new
- 58173 IF LEN(Categories$) > 2 THEN _
- GOSUB 58191 : _
- IF NOT CanGet THEN _
- * ------[ first line different ]------
- IF CatLen < 4 OR ZUserSecLevel < ZSysopSecLevel THEN _ ' DD021101
- GOTO 58178
- IF ZJumpSearching OR SearchString$ <> "" THEN _
- ZOutTxt$ = PartToPrint$ : _
- IF WildSearch THEN _
- Temp$ = LEFT$(PartToPrint$,INSTR(PartToPrint$,SPACE$(1))-1) : _ ' DD021301
- Temp$ = MID$(Temp$,1-(LEFT$(Temp$,1)=CHR$(61))) : _ '= ' DD021301
- CALL WildFile (SearchString$,Temp$,ZOK) : _
- IF ZOK THEN _
- FoundString$ = SearchString$ : _
- GOTO 58175 _
- ELSE GOTO 58178 _
- ELSE CALL AllCaps (ZOutTxt$) : _
- HiLitePos = INSTR(ZOutTxt$,SearchFor$) : _
- IF HiLitePos = 0 THEN _
- FailedSearch = ZTrue : _
- GOTO 58178 _
- ELSE HiLiteRec = UpldIndex : _
- FoundString$ = SearchFor$ : _
- IF ZJumpSearching THEN _
- ZJumpSearching = ZFalse : _
- SearchFor$ = PrevSearch$
- * REPLACING old line(s) by new
- 58176 ZWasA = EndDesc
- * ------[ first line different ]------
- IF LEFT$(PartToPrint$,5) = SPACE$(5) THEN _ ' DD021301
- GOTO 58178
- IF ZShowTimesDownloaded AND NOT ZPersonalDnld THEN ' DD052301
- ZOutTxt$ = LEFT$(PartToPrint$,LEN(PartToPrint$)-5) ' DD052301
- TimesDL$ = STR$(VAL(RIGHT$(PartToPrint$,5))) ' DD052301
- ELSE ' DD052301
- ZOutTxt$ = PartToPrint$ ' DD052301
- END IF ' DD052301
- IF PersonalStatus$ = CHR$(42) AND LEFT$(ZOutTxt$,1) <> SPACE$(1) THEN _ ' DD021301
- MID$(ZOutTxt$, INSTR(ZOutTxt$,SPACE$(1))) = CHR$(42) ' DD021301
- CALL TrimTrail (ZOutTxt$,SPACE$(1)) ' DD021301
- XferTime$ = "" ' DD052301
- IF INSTR("\ *",LEFT$(ZOutTxt$,1)) = 0 AND _ ' DD052301
- NOT ZExtendedOff AND _ ' DD052301
- (ZShowXferTime OR ZShowTimesDownloaded) THEN ' DD052301
- Description$ = SPACE$(2) + MID$(ZoutTxt$,34,ZMaxDescLen) ' DD052301
- ZOutTxt$ = LEFT$(ZOutTxt$,33) ' DD052301
- FileSize# = VAL(MID$(ZOutTxt$,14,9)) ' DD052301
- FLen = ZFlen ' DD052301
- IF FLen < 1 THEN ' DD052301
- FLen = 1024 ' DD052301
- END IF ' DD052301
- Blocks# = FIX(FileSize#/Flen) ' DD052301
- Blocks# = Blocks# / _ ' DD052301
- VAL(MID$("000003000450120024004800720096012001440168019203840", -4 * ZCBPS, 4)) ' DD052301
- Speed! = ZSpeedFactor! ' DD052301
- IF Speed! < 1 THEN ' DD052301
- Speed! = 0.95 ' DD052301
- END IF ' DD052301
- Blocks# = Blocks# * Flen / Speed! ' DD052301
- mins$ = STR$(INT(Blocks# / 60)) ' DD052301
- CALL Trim (mins$) ' DD052301
- IF VAL(mins$) < 10 THEN ' DD052301
- mins$ = "0" + mins$ ' DD052301
- END IF ' DD052301
- secs$ = STR$(INT(Blocks# - (INT(Blocks# / 60) * 60))) ' DD052301
- CALL Trim (secs$) ' DD052301
- IF VAL(secs$) < 10 THEN ' DD052301
- secs$ = "0" + secs$ ' DD052301
- END IF ' DD052301
- IF ZShowXferTime THEN ' DD052301
- XferTime$ = ZFG9$ + "DL Time: " + _ ' DD052301
- ZFG4$ + mins$ + _ ' DD052301
- ZFG7$ + ":" + _ ' DD052301
- ZFG4$ + secs$ + _ ' DD052301
- SPACE$(2) ' DD052301
- END IF ' DD052301
- IF ZShowTimesDownloaded AND NOT ZPersonalDnld THEN ' DD052301
- XferTime$ = XferTime$ + _ ' DD052301
- ZFGD$ + _ ' DD052301
- "DownLoads:" + _ ' DD052301
- ZFG3$ + _ ' DD052301
- TimesDL$ ' DD052301
- END IF ' DD052301
- XferTime$ = XferTime$ + ZEmphasizeOff$ ' DD052301
- ELSE ' DD052301
- XferTime$ = "" ' DD052301
- END IF ' DD052301
- CALL ColorDir (ZOutTxt$,CHR$(89)) 'Y ' DD021301
- CALL CheckColor (ZOutTxt$,FoundString$,"") ' DD052301
- CALL CheckColor (Description$,FoundString$,ZDR4$) ' DD070203
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 58177 IF ZLocalUser THEN ' DD052301
- IF XferTime$ <> "" THEN ' DD052301
- CALL SkipLine (1) ' DD052301
- CALL QuickTPut1 (ZOutTxt$ + XferTime$) ' DD052301
- CALL QuickTPut1 (ZDR4$ + Description$ + ZEmphasizeOff$) ' DD070203
- ELSE ' DD052301
- CALL QuickTPut1 (ZOutTxt$) ' DD052301
- END IF ' DD052301
- GOTO 58178
- END IF ' DD052301
- CALL EofComm (Char)
- IF Char = -1 THEN ' DD052301
- IF XferTime$ <> "" THEN ' DD052301
- CALL SkipLine (1) ' DD052301
- CALL QuickTPut1 (ZOutTxt$ + XferTime$) ' DD052301
- CALL QuickTPut1 (ZDR4$ + Description$ + ZEmphasizeOff$) ' DD070203
- ELSE ' DD052301
- CALL QuickTPut1 (ZOutTxt$) ' DD052301
- END IF ' DD052301
- ELSE ZSubParm = 5 ' DD052301
- CALL TPut ' DD052301
- IF ZRet THEN ' DD052301
- GOTO 58198 ' DD052301
- END IF ' DD052301
- END IF ' DD052301
- * REPLACING old line(s) by new
- 58178 IF ZLinesPrinted <= MaxPrint AND (FMSCheckPoint MOD 1000 <> 0) THEN _
- GOTO 58168
- CALL CheckCarrier
- IF ZSubParm = -1 THEN _
- GOTO 58198
- CALL TimeRemain (MinsRemaining)
- IF MinsRemaining <= 0 THEN _
- ZSubParm = -1 : _
- GOTO 58198
- IF ZNonStop THEN _
- GOTO 58168
- * ------[ first line different ]------
- IF ZLinesPrinted <= MaxPrint THEN ' DD052301
- IF ZShowXferTime OR ZShowTimesDownloaded THEN ' DD052301
- CALL SkipLine (1) ' DD052301
- END IF ' DD052301
- IF ZDateOrderedFMS THEN ' DD052301
- CALL QuickTPut1 (ZFGB$ + _ ' DD092502
- "Files checked thru " + _ ' DD092502
- ZFG9$ + MID$(PartToPrint$,24,8) + _ ' DD092502
- ZEmphasizeOff$) ' DD052301
- ELSE ' DD052301
- CALL QuickTPut1 (ZFG2$ + STR$(FMSCheckPoint) + _ ' DD092502
- ZFGA$ + " files checked" + ZEmphasizeOff$) ' DD092502
- END IF ' DD052301
- END IF ' DD)52301
- * REPLACING old line(s) by new
- 58180 WasX$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps (WasX$)
- * ------[ first line different ]------
- IF InList AND (ZAnsIndex >= ZLastIndex OR WasX$ <> CHR$(68)) THEN _ ' DD021301
- ZTurboKey = -ZTurboKeyUser : _
- ZStackC = ZTrue : _
- CALL AskMore (ExtraPrompt$, ZTrue, ZFalse,AbortIndex,ZFalse) : _
- IF ZSubParm = -1 THEN _
- EXIT SUB _
- ELSE ZLastIndex = ZWasQ : _ ' DD021301
- IF NOT ZNo THEN _
- ZAnsIndex = 1
- IF ZSubParm = -1 THEN _
- GOTO 58198
- IF ZNo THEN _
- ZLastIndex = 0 : _
- GOTO 58198
- WasX$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps (WasX$)
- 'print "WASX$=<";WASX$;"> zansindex=";zansindex;" zlastindex=";zlastindex;:for ii=zansindex to zlastindex: print "<";zuserin$(ii);">";:next:print:INPUT XXX$
- IF WasX$ = CHR$(84) THEN _ 'T ' DD021301
- CALL TypeFile : _ ' Mpl090202
- ZwasA = UpldIndex : _ ' Mpl090202
- GOSUB 58185 : _ ' Mpl090202
- UpldIndex = ZwasA : _ ' Mpl090202
- GOTO 58180 ' Mpl090202
- IF WasX$ = CHR$(86) THEN IF CanView THEN _ 'V ' DD021301
- CALL GetArc : _
- ZJumpSupported = ZTrue : _
- ZWasA = UpldIndex : _
- GOSUB 58185 : _
- UpldIndex = ZWasA : _
- GOTO 58180
- IF WasX$ = CHR$(69) THEN _ 'E ' DD021301
- ZExtendedOff=NOT ZExtendedOff : _ 'Pe 11/07/91
- CALL QuickTPut1 (ZFGE$ + "Extended directory display " + _ ' DD092502
- ZFGB$ + FNOffOn$(NOT ZExtendedOff) + ZEmphasizeOff$) : _' DD092502
- GOTO 58168
- 'print "wasx$=<";wasx$;"> candnld=";candnld;" zlc=<";zlastcommand$;"> inlist=";inlist
- * REPLACING old line(s) by new
- 58181 MarkingFiles = ZFalse
- * ------[ first line different ]------
- IF ((WasX$ = CHR$(68) OR WasX$ = CHR$(77)) AND CanDnld) OR (WasX$ = CHR$(86) AND CanView) THEN _ ' DD021301
- MarkingFiles = (WasX$ = CHR$(77)) : _ 'M ' DD021301
- AtEndList = ZFalse : _ 'PE 08/04/91
- CALL AskItems ("DMV",WasX$,ZTrue,"file",ZMarkedFiles$) : _ ' KG091001
- IF ZWasQ = 0 THEN _
- GOTO 58183
- IF WasX$ = CHR$(42) THEN IF ZPersonalDnld THEN _ '* ' DD021301
- GOTO 58193
- * REPLACING old line(s) by new
- 58183 IF ZJumpSearching THEN _
- PrevSearch$ = SearchFor$ : _
- SearchFor$ = ZJumpTo$ _
- ELSE SearchFor$ = SearchString$ : _
- IF NOT ZYes AND CanDnld THEN _
- GOSUB 58188 : _
- * ------[ first line different ]------
- IF WasX$ = CHR$(86) AND CanView AND ZLastIndex >= ZAnsIndex THEN _ ' DD021301
- ZAnsIndex = ZAnsIndex - 1 : _ ' KG091001
- CALL GetArc : _ ' KG091001
- ZJumpSupported = ZTrue : _ ' KG091001
- ZWasA = UpldIndex : _ ' KG091001
- GOSUB 58185 : _ ' KG091001
- UpldIndex = ZWasA : _ ' KG091001
- GOTO 58180 _ ' KG091001
- ELSE IF WasX$ <> CHR$(76) AND ZLastIndex >= ZAnsIndex AND _ ' DD021301
- NOT MarkingFiles AND NOT AtEndList THEN _ ' DD012303
- CALL SkipLine (1) : _
- DnldFlag = 1 : _
- ReListAt = UpldIndex : _
- EXIT SUB _ ' exit for downloading
- ELSE IF UpldIndex = CutoffRec THEN _
- GOTO 58184
- IF ZNonStop THEN IF UpldIndex > 999 THEN _
- IF (SearchDate$ = "" OR NOT ZExpertUser) THEN _
- ZOutTxt$ = STR$(UpldIndex) + _
- " lines left to search. Really go non-stop?" + ZNoPrompt$ : _' DD091202
- ZNoAdvance = ZTrue : _
- ZTurboKey = -ZTurboKeyUser : _
- ZSubParm = 1 : _
- CALL TGet : _
- CALL WipeLine (79) : _
- ZNonStop = ZYes
- GOTO 58168
- * REPLACING old line(s) by new
- 58184 IF ZChainedDir$ <> "" THEN _
- ZActiveFMSDir$ = ZChainedDir$ : _
- GOSUB 58185 : _
- LastFName = 0 : _
- GOTO 58168
- 'print "58184 ZNo=";zno;" zlistonly=";zlistonly
- IF ZNo THEN _
- GOTO 58198
- * ------[ first line different ]------
- Temp$ = ZFG2$ + CHR$(45) + ZFG3$ + CHR$(61) + ZFGE$ + "End list" + _ ' DD021301
- ZFG3$ + CHR$(61) + ZFG2$ + CHR$(45) + ZEmphasizeOff$ + ZCrLf$' DD021301
- AtEndList = ZTrue
- UpldIndex = CutOffRec - ZUpInc
- ZLastIndex = 0
- GOTO 58196
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 58185 IF PassedCats$ = CHR$(80) THEN _ 'P ' DD021301
- ZActiveFMSDir$ = ZPersonalDir$
- CALL OpenFMS (UpldIndex,CatLen)
- LastRec = UpldIndex
- EndDesc = 33 + ZMaxDescLen
- IF ZPersonalDnld THEN ' DD052301
- EndDesc = EndDesc + (5 * ZShowTimesDownloaded) ' DD052301
- END IF ' DD052301
- IF CatLen > 3 THEN _
- Categories$ = ZActiveUserName$ : _
- CALL Trim (Categories$) : _
- Categories$ = CHR$(44) + Categories$ + CHR$(44) + LEFT$(",SYSOP,",-7*ZSysOp) : _ ' DD021301
- CanDnld = ZTrue : _
- StatLen = 1 _
- ELSE StatLen = 0
- 'print "58185 enddesc=";enddesc;" catlen=";catlen;" statlen=";statlen
- FIELD 2, EndDesc AS PartToPrint$, _
- CatLen AS Category$, _
- StatLen AS PersonalStatus$, _
- 2 AS Filler$
- PrevFMS$ = ZActiveFMSDir$
- * REPLACING old line(s) by new
- 58188 IF ProcessedNew OR MarkingFiles OR NOT ZListOnly THEN _
- ProcessedNew = ZFalse : _
- RETURN
- ZUserIn$(0) = ""
- WasI = ZAnsIndex ' check whether in dir
- WHILE WasI <= ZLastIndex
- CALL AraAllCaps (ZUserIn$(),WasI)
- ZWasZ$ = ZUserIn$(WasI)
- CALL UnMarkItems (ZMarkedFiles$,WasI,ZLastIndex,WasX,ZTrue)
- Temp$ = ZUserIn$(WasI)
- * ------[ first line different ]------
- CALL AllCaps (Temp$) ' KG062401
- 'print "wasi=";wasi;" temp$=<";temp$;"> Zdef=<";zdefaultxfer$;">"
- IsProto = (LEN(Temp$) = 1 AND _
- INSTR(ZDefaultXfer$,Temp$) > 0)
- ZOK = IsProto
- WasJ = LastRec + 1
- WasX = INSTR(Temp$,CHR$(46)) ' DD021301
- AltTemp$ = ""
- IF NOT IsProto THEN _
- IF WasX = 0 THEN _
- AltTemp$ = Temp$ + CHR$(46) + ZDefaultExtension$ _ ' DD021301
- ELSE IF WasX = LEN(Temp$) THEN _
- AltTemp$ = LEFT$(Temp$,WasX-1)
- 'print "58188 b4 while zok=";zok;" wasj=";wasj;" looking for <";temp$;">"
- WHILE WasJ > 1 AND NOT ZOK
- WasJ = WasJ - 1
- GET #2,WasJ
- GOSUB 58191
- 'print "bk 58191 canget=";catget;" ptp<";parttoprint$;">";:input xx$
- IF CanGet THEN _
- MID$(PartToPrint$,13,1) = SPACE$(1) : _ ' DD021301
- ZWasY$ = LEFT$(PartToPrint$,INSTR(PartToPrint$,SPACE$(1)) - 1) : _ ' DD021301
- ZOK = (Temp$ = ZWasY$) : _ ' KG091001
- IF NOT ZOK THEN _
- IF AltTemp$ <> "" THEN _
- ZOK = (AltTemp$ = ZWasY$) ' KG091001
- WEND
- 'print "58188 aft while zok=";zok;" wasj=";wasj;" looking for <";temp$;">":input xxx$
- IF ZOK THEN _
- GOSUB 58189 : _
- IF ZOK OR IsProto THEN _
- ZWasY$ = MID$(STR$(WasJ),2) : _ ' KG091001
- ZUserIn$(0) = ZUserIn$(0) + _
- ZWasY$ + _ ' KG091001
- SPACE$(5 - LEN(ZWasY$)) ' KG091001
- IF NOT ZOK AND NOT IsProto THEN _
- CALL QuickTPut1 (ZWasZ$ + " not found - omitted") : _
- FOR WasK = WasI + 1 TO ZLastIndex : _
- ZUserIn$(WasK - 1) = ZUserIn$(WasK) : _
- NEXT : _
- ZLastIndex = ZLastIndex - 1 : _
- WasI = WasI - 1
- WasI = WasI + 1
- WEND
- ZWasQ = ZLastIndex
- 'print "end 58188 zlastindex=";zlastindex;" zok=";zok
- RETURN
- * REPLACING old line(s) by new
- 58189 IF IsProto THEN _
- RETURN
- * ------[ first line different ]------
- ZUserIn$(WasI) = LEFT$(PartToPrint$,INSTR(PartToPrint$,SPACE$(1)) - 1) ' DD021301
- CALL FindFile (ZPersonalDrvPath$ + ZUserIn$(WasI),ZOK)
- IF ZOK THEN _
- ZUserIn$(WasI) = ZPersonalDrvPath$ + ZUserIn$(WasI) _
- ELSE CALL RotorsDir (ZUserIn$(WasI),ZSubDir$(),ZSubDirCount + _
- ((ZUserSecLevel < ZMinSecToView) OR _
- NOT ZCanDnldFromUp),ZTrue,CHR$(68)) : _ ' DD021301
- GOSUB 58185
- RETURN
- * REPLACING old line(s) by new
- 58191 IF LEN(Categories$) < 3 THEN _
- CanGet = ZTrue : _
- RETURN
- HoldCat$ = Category$
- * ------[ first line different ]------
- CALL TrimTrail (HoldCat$,SPACE$(1)) ' DD021301
- CALL AllCaps (HoldCat$)
- HoldCat$ = CHR$(44) + HoldCat$ + CHR$(44) ' DD021301
- CanGet = (INSTR(Categories$,HoldCat$) > 0)
- IF NOT CanGet THEN _
- IF ZPersonalDnld AND ZUserSecLevel >= ZSysopSecLevel THEN _ ' DD021101
- CanGet = ZTrue
- IF NOT CanGet THEN _
- IF ASC(Category$) = 32 THEN _
- IF LEN(HoldCat$) > 2 THEN _
- CALL CheckInt (Category$) : _
- CanGet = (ZUserSecLevel >= ZTestedIntValue)
- RETURN
- * REPLACING old line(s) by new
- 58193 GOSUB 58185 ' handle new files
- PersIndex = LastRec
- ProcessedNew = ZTrue
- ZLastIndex = 0
- ZUserIn$(0) = ""
- WHILE PersIndex > 0 AND ZLastIndex < UBOUND(ZUserIn$)
- GET 2,PersIndex
- GOSUB 58191
- IF NOT CanGet THEN _
- GOTO 58194
- * ------[ first line different ]------
- IF PersonalStatus$ <> CHR$(42) THEN _ '* ' DD021301
- GOTO 58194
- ZLastIndex = ZLastIndex + 1
- WasI = ZLastIndex
- GOSUB 58189
- IF ZOK THEN _
- WasX$ = MID$(STR$(PersIndex),2) : _
- ZUserIn$(0) = ZUserIn$(0) + _
- WasX$ + _
- SPACE$(5 - LEN(WasX$)) _
- ELSE ZLastIndex = ZLastIndex - 1
- * REPLACING old line(s) by new
- 58196 CALL QuickTPut (ZEmphasizeOff$,0)
- * ------[ first line different ]------
- ZOutTxt$ = Temp$ + "L)ist,A)bort,T)ype," + _ ' DD012303
- LEFT$("*)new,",-6*ZPersonalDnld) + _ ' DD063004
- "M)ark" + LEFT$(",D)nld",-6*CanDnld) + _
- LEFT$(",V)iew",-6*CanView) + _ ' DD063004
- ",E)xtend+/-,H)elp" + _ ' DD080802
- ZPressEnterExpert$ ' DD050302
- ZTurboKey = -ZTurboKeyUser
- IF ZDnldCompleted and ZAutoEnd = 1 THEN _ 'Pe 10/22/91
- ZNonStop = ZTrue : _ ' DD092501
- ZStopInterrupts = ZTrue : _ ' DD092501
- ZAutoLogOffReq = ZTrue : _ ' DD092501
- GOTO 58199 ' DD092501
- CALL PopCmdStack
- WasX$ = ZUserIn$(ZAnsIndex)
- CALL AllCaps (WasX$)
- IF WasX$ = CHR$(65) THEN _ 'A ' DD021301
- ZLastIndex = 0 : _ ' DD012304
- ZRet = ZTrue ' DD012304
- IF ZWasQ = 0 OR ZRet OR ZSubParm < 0 THEN _
- GOTO 58198
- IF WasX$ = CHR$(69) THEN 'E ' DD063004
- ZExtendedOff = NOT ZExtendedOff ' DD063004
- GOTO 58196 ' DD063004
- END IF ' DD063004
- IF WasX$ = CHR$(76) THEN _ 'L ' DD021301
- ZActiveFMSDir$ = OrigDir$ : _
- GOSUB 58185 : _
- AtEndList = ZFalse : _
- GOTO 58168
- IF WasX$ = CHR$(84) THEN _ 'T ' DD021301
- CALL TypeFile : _ ' Mpl090202
- ZwasA = UpldIndex : _ ' Mpl090202
- GOSUB 58185 : _ ' Mpl090202
- UpldIndex = ZwasA : _ ' Mpl090202
- GOTO 58180 ' Mpl090202
- IF WasX$ = "H" THEN ' DD050302
- IF ZPersonalDnld THEN ' DD050302
- temp$ = "FP" ' DD050302
- ELSE ' DD050302
- temp$ = "FILE" ' DD050302
- END IF ' DD050302
- CALL BufFile (ZHelpPath$ + temp$ + ZHelpExtension$,WasX) : _ ' DD050302
- ZLastIndex = 0 : _ ' DD050302
- GOSUB 58185 : _ ' DD050302
- ZYes = ZFalse : _ ' DD050302
- GOTO 58196 ' DD050302
- END IF ' DD050302
- IF WasX$ = CHR$(86) THEN IF CanView THEN _ 'V ' DD021301
- CALL GetArc : _
- ZJumpSupported = ZTrue : _ ' Mpl090202
- ZWasA = UpldIndex : _ ' Mpl090202
- GOSUB 58185 : _ ' Mpl090202
- UpldIndex = ZWasA : _ ' Mpl090202
- GOTO 58180 ' Mpl090202
- ZYes = ZFalse
- GOTO 58181
- * REPLACING old line(s) by new
- 58198 CLOSE 2
- ZNonStop = (ZPageLength < 1)
- ZStopInterrupts = ZFalse
- * ------[ first line different ]------
- * INSERTING new line(s)
- 58199 ZOutTxt$ = "" ' DD092501
- ZActiveFMSDir$ = ""
- ZJumpSupported = ZFalse
- DnldFlag = 0
- EXIT SUB
- END SUB
- ' ' Mpl090202
- ' $SUBTITLE: 'TypeFile - subroutine to TYPE an ASCII FILE' ' Mpl090202
- ' $PAGE ' Mpl090202
- ' ' Mpl090202
- ' NAME -- TYPEAFILE ' Mpl090202
- ' ' Mpl090202
- ' PARAMETERs ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- ' PURPOSE -- Type a ASCII file to screen ' Mpl090202
- ' ' Mpl090202
- SUB TypeFile STATIC ' Mpl090202
- 59141 CALL SkipLine (1) ' Mpl090202
- ZOutTxt$ = "What ASCII file(s) to type? "+ZPressEnterExpert$ ' DD060101
- CALL PopCmdStack ' Mpl090202
- IF ZSubParm = -1 OR ZWasQ = 0 THEN _ ' Mpl090202
- EXIT SUB ' Mpl090202
- 59142 ZViolation$ = "TYPE File" ' Mpl090202
- TypeVio = ZFalse ' DD040101
- WasX = ZAnsIndex ' Mpl090202
- FOR ZAnsIndex = WasX TO ZLastIndex ' Mpl090202
- GOSUB 59143 ' Mpl090202
- IF ZSubParm < 0 THEN _ ' Mpl090202
- ZAnsIndex = ZLastIndex + 1 ' Mpl090202
- NEXT ZAnsIndex ' Mpl090202
- IF ZLastIndex > 1 THEN _ ' Mpl090202
- EXIT SUB _ ' Mpl090202
- ELSE GOTO 59141 ' Mpl090202
- 59143 WasZ$ = ZUserIn$(ZAnsIndex) ' Mpl090202
- CALL AllCaps (WasZ$) ' Mpl090202
- IF INSTR(WasZ$,CHR$(42)) OR INSTR(WasZ$,CHR$(63)) THEN _ '*? ' DD021301
- CALL QuickTPut ("Wildcards NOT allowed!",1) : _ ' DD062304
- RETURN ' Mpl090202
- ZFileName$ = WasZ$ ' Mpl090202
- ZFileNameHold$ = WasZ$ ' Mpl090202
- CALL BadFile (ZFileNameHold$,BadFileNameIndex) ' Mpl090202
- ON BadFileNameIndex GOTO 59145,59148,59150 ' Mpl090202
- 59145 CALL BadName (BadFileNameIndex,ZTrue) 'Pe 06/03/91
- ON BadFileNameIndex GOTO 59146,59150 ' Mpl090202
- 59146 CALL RotorsDir (ZFileName$,ZSubDir$(),ZSubDirCount + _ ' Mpl090202
- (NOT ZSysop),ZTrue,CHR$(86)) ' DD040101
- CALL FilSecChk (ZViolation$,ZFileName$,ZOK) ' DD040101
- IF NOT ZOK THEN _ ' DD040101
- TypeVio = ZTrue : _ ' DD040101
- GOTO 59150 ' DD040101
- IF ZPersonalDnld THEN ' DD040101
- ZFileName$ = ZPersonalDrvPath$ + WasZ$ ' DD040101
- CALL PersFilSecChk (ZViolation$,ZFileName$,ZOK) ' DD040101
- IF NOT ZOK THEN ' DD040101
- TypeVio = ZTrue ' DD040101
- GOTO 59150 ' DD040101
- END IF ' DD040101
- CALL FindFile (ZFileName$,ZOK) ' Mpl090202
- IF ZOK THEN _ ' DD040101
- GOTO 59158 ' DD040101
- END IF ' DD040101
- GOTO 59158 ' DD040101
- 59148 WasZ$ = ZUserIn$(ZAnsIndex) + _ ' Mpl090202
- " not found!" ' Mpl090202
- CALL UpdtCalr (WasZ$,2) ' Mpl090202
- ZOutTxt$ = WasZ$ + _ ' Mpl090202
- " Type correct filename" + ZPressEnterExpert$ ' Mpl090202
- ZSubParm = 1 ' Mpl090202
- CALL TGet ' Mpl090202
- IF ZSubParm = -1 OR ZWasQ = 0 THEN _ ' Mpl090202
- RETURN ' Mpl090202
- ZUserIn$(ZAnsIndex) = ZUserIn$(1) ' Mpl090202
- GOTO 59143 ' Mpl090202
- 59150 CALL SecViolation ' Mpl090202
- IF ZDenyAccess THEN _ ' Mpl090202
- EXIT SUB ' Mpl090202
- IF TypeVio THEN _ ' DD040101
- EXIT SUB ' DD040101
- GOTO 59148 ' Mpl090202
- 59158 CALL BreakFileName (WasZ$,Drive$,Prefix$,Ext$,ZFalse) ' Mpl090202
- IF Ext$ = "" THEN _ ' Mpl090202
- GOTO 59160 ' Mpl090202
- IF INSTR("DWC,COM,EXE,GIF,PIC,DAT,BIN,ZIP,ARC,LZH,ZOO,PAK,ARJ,",Ext$+CHR$(44)) > 0 THEN _ ' DD021301
- CALL QuickTPut ("Not an ASCII File, Cannot Type files with " + _' Mpl090202
- Ext$ + " Extensions",1) : _ ' Mpl090202
- RETURN ' Mpl090202
- 59160 CALL BufFile (ZFileName$,WasX) ' Mpl090202
- RETURN ' Mpl090202
- END SUB ' Mpl090202
- ' $SUBTITLE: 'WhoDidIt - subroutine to Display Who Uploaded that file'' Mpl090202
- ' $PAGE ' Mpl090202
- ' ' Mpl090202
- ' NAME -- WhoDidIt ' Mpl090202
- ' ' Mpl090202
- ' PARAMETERs None ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- ' ' Mpl090202
- 'PURPOSE - Maple Version of RBBS creates a file Called Uploadlg.def ' Mpl090202
- ' this file keeps track of who Uploaded what file ' Mpl090202
- ' File location is Drive/Path were *.DIR files are stored 'Pe 03/13/92
- ' Allows reading UPLOADLG.DEF file in reverse order ' Mpl090202
- ' ' Mpl090202
- SUB WhoDidIt STATIC ' Mpl090202
- 59500 CALL SkipLine (3) ' Mpl090202
- ' Mpl090202
- ZOutTxt$ = STRING$(72,45) + ZCrLF$ + SPACE$(1) + _ ' DD021301
- "File Name" + SPACE$(4) + "Uploader" + _ ' DD021301
- SPACE$(26) + "Date" + SPACE$(9) + "Time" + _ ' DD021301
- ZCrLf$ + STRING$(72,45) ' DD021301
- Call QuickTput1 (ZOutTxt$) ' Mpl090202
- CLOSE 7 ' DD012502
- IF ZShareIt THEN _ ' Mpl090202
- OPEN ZDirPath$ + "UPLOADLG.DEF" FOR RANDOM SHARED AS #7 LEN=86 _' DD012502
- ELSE OPEN "R",7,ZDirPAth$ +"UPLOADLG.DEF",86 ' DD012502
- FIELD 7,84 AS ShowUp$, 2 AS fill$ ' DD012502
- RecordNum! = FIX(LOF(7) / 86) ' DD012502
- ZJumpSupported = ZTrue ' Mpl090202
- ZJumpSearching = ZFalse ' Mpl090202
- ZJumpLast$ = "" ' Mpl090202
- 59502 IF RecordNum! < 1 OR ZRet THEN _ ' Mpl090202
- GOTO 59560 ' Mpl090202
- GET #7, RecordNum! ' DD012502
- ZOutTxt$ = ShowUp$ ' Mpl090202
- RecordNum! = RecordNum! - 1 ' Mpl090202
- IF INSTR(ZOutTxt$,CHR$(42)) > 0 and NOT ZSysop THEN _ '* ' DD021301
- GOTO 59502 ' Mpl090202
- GOSUB 59550 ' Mpl090202
- GOTO 59502 ' Mpl090202
- ' Mpl090202
- 59550 IF ZJumpSearching THEN _ ' Mpl090202
- ZWasDF$ = ZOutTxt$ : _ ' Mpl090202
- CALL AllCaps (ZWasDF$) : _ ' Mpl090202
- IF INSTR(ZWasDF$,ZJumpTo$) = 0 THEN _ ' Mpl090202
- RETURN _ ' Mpl090202
- ELSE CALL CheckColor (ZOutTxt$,ZJumpTo$,"") : _ ' Mpl090202
- ZJumpSearching = ZFalse ' Mpl090202
- ZSubParm = 5 ' Mpl090202
- CALL SmartText (ZOutTxt$,ZTrue,ZFalse,ZFalse) ' Mpl020601
- CALL Tput ' Mpl090202
- WasX=1 ' Mpl090202
- CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse) ' Mpl090202
- IF ZNo OR ZSubParm = -1 THEN _ ' Mpl090202
- ZJumpSupported = ZFalse : _ ' Mpl090202
- ZJumpSearching = ZFalse : _ ' Mpl090202
- ZJumpLast$ = "" : _ ' Mpl090202
- CLOSE 7 : _ ' DD012502
- EXIT SUB ' Mpl090202
- RETURN ' Mpl090202
- 59560 IF ZJumpSearching THEN _ ' Mpl090202
- CALL QuickTput ("Search string NOT found",2) ' DD031302
- ZJumpSupported = ZFalse ' Mpl090202
- ZJumpSearching = ZFalse ' Mpl090202
- ZJumpLast$ = "" ' Mpl090202
- CLOSE 7 ' DD012502
- END SUB ' Mpl090202
-