home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
BBS_UTIL
/
BM0406_A.ZIP
/
0406.ZIP
/
RSB10406.MRG
< prev
next >
Wrap
Text File
|
1994-04-06
|
96KB
|
1,956 lines
* ------------[ BLED merge (c) Ken Goosens ]-------------
* Merge this against RBBSSUB1.BAS to produce RBBSSUB1.NEW
* RBBSSUB1.BAS: Date 6-20-1992 Size 55569 bytes
* BusiMod (tm) mods for RBBS v17.4 - (c) 1993,94 by respective authors
* RBBS v17.4 (c) 1986,1992 by D Thomas Mack
* ------------[ Created 04-06-1994 22:00:00 ]------------
* REPLACING old line(s) by new
' $linesize:132
' $title: 'RBBS-SUB1.BAS 17.4, Copyright 1986-92 by D. Thomas Mack'
' Copyright 1990 by D. Thomas Mack, all rights reserved.
' Name ...............: RBBSSUB1.BAS
' First Released .....: June 21, 1992
' Subsequent Releases.:
' Copyright ..........: 1986-1992
' Purpose.............:
' Subprorams that require error trapping are incorporated
' within RBBSSUB1.BAS as separately callable subroutines
' in order to free up as much code as possible within
' the 64WasK code segment used by RBBS-PC.BAS.
' Parameters..........: Most parameters are passed via a COMMON statement.
'
' Subroutine Line Function of Subroutine
' Name Number
' ChangeDir 20101 Change subdirectory
' CheckInt 58360 Check input is valid integer
* ------[ first line different ]------
' CommPut 59725 Write string to communications port
' DisplayUser 10091 Display user/callers files ' DU174/RM08049301
' DropCarrier 63901 Change users security level with excessive carrier drops ' DROP174
' ExpiredPswd 63801 Force change of password ' PSWD174
' FindFile 59790 Determine whether a file exists without opening it
' FindFree 51098 Find amount of space on the upload disk drive
' FindItX 20219 Find if a file exists on a device
' FindUser 12598 Find a user in the USERS file
' FlushCom 20308 Read all characters in the communications port
' GetCom 1418 Read a character from the communications port
' GetLogoff 63930 Gets logoff command from user ' LOFF174/RM07249301
' GetMenuNew 58370 Read "MNEWx.DEF" file for MENU0 Updates ' MENU174
' GetPassword 58280 Read RBBS-PC's "PASSWORD" file
' GETWRK 58330 Read record from file number 2
' GraphicsSet 43000 Allows user to set graphics default ' GR174/RM08039303
' KillWork 58258 Delete a RBBS-PC "WORK" file
'MessageExport 63955 Exports message to txt file ' ME174/RM08039302
' NetBIOS 20898 Lock/Unlock NetBIOS semaphore files
' OpenCom 200 Open communications port (number 3)
' OpenFMS 58188 Open the upload management system directory
' OpenOutW 58220 Open RBBS-PC's "WORK" file (number 2) for output
' OpenRSeq 1479 Open a sequential file (number 2) for random I/O
' OpenUser 9398 Open the USER file (number 5)
' OpenWork 57978 Open RBBS-PC's work file (number 2)
' OpenWorkA 58340 Open RBBS-PC's "WORK" file (number 2) for append
' OpenWorkB 58040 Open an RBBS-PC work file for append ' BTCH174
' Printit 13673 Print line on the local PC printer
' PrintWork 58320 Print string to file #2 w/o CR/LF
' PrintWorkA 58350 Print string to file #2 with CR/LF
' PrintWorkB 58327 Print string to file opened for append with CR/LF ' BTCH174
' PutCom 59650 Write to the communications port
' PutWork 59660 Write to work file randomly
' RBBSPlay 59680 Plays a musical string
' ReadAny 58310 Read file number 2 into ZOutTxt$
' ReadDef 112 Read configuration file
' ReadDir 58290 Read entire lines
' ReadParmsX 58300 Read certain number of parameters from specified file
' SysInfo 63910 Subroutine to get DOS/DV/OS2 version ' SIN174
' Talk 59700 RBBS-PC Voice synthesizer support for sight impaired
' SetCall 108 Find where next callers record is
' UpdateC 43048 Update the caller's file with elasped session time
' UpdtCalr 13661 Update to the caller's file
'
' $INCLUDE: 'RBBS-VAR.BAS'
'
* REPLACING old line(s) by new
108 ' $SUBTITLE: 'SetCall - subroutine to find last callers rec'
' $PAGE
'
' NAME -- SetCall
'
' INPUTS -- PARAMETER MEANING
'
' OUTPUTS -- ZCallersFileIndex!
'
' PURPOSE -- To find where to leave off on callers file
'
* ------[ first line different ]------
SUB SetCall ' RM11159302
ON ERROR GOTO 65000
IF ZPrevCaller$ = ZCallersFile$ OR ZCallersFilePrefix$ = "" THEN _
EXIT SUB
ZPrevCaller$ = ZCallersFile$
ZCallersFileIndex! = 1
CLOSE 2
CLOSE 4
IF ZShareIt THEN _
OPEN ZCallersFile$ FOR RANDOM SHARED AS #4 LEN=64 _
ELSE OPEN "R",4,ZCallersFile$,64
FIELD 4,64 AS ZCallersRecord$
IF LOF(4) > 0 THEN _
ZCallersFileIndex! = LOF(4) / 64
IF ZCallersFileIndex! < 1 THEN _
ZCallersFileIndex! = 0
ZUserIn$ = STRING$(13,0)
* REPLACING old line(s) by new
112 ' $SUBTITLE: 'ReadDef - subroutine to read RBBS-PC.DEF file'
' $PAGE
'
' NAME -- ReadDef
'
' INPUTS -- PARAMETER MEANING
' ZConfigFileName$ NAME OF RBBS-PC.DEF FILE
' ZSubParm = -62 ONLY READ THE .DEF FILE
'
' OUTPUTS -- ALL THE RBBS-PC.DEF PARAMETERS
'
' PURPOSE -- TO READ THE PARAMETERS FROM THE RBBS-PC.DEF FILE
'
* ------[ first line different ]------
SUB ReadDef (ConfigFile$) ' RM11159302
ON ERROR GOTO 65000
'
' **** OPEN AND READ RBBS-PC CONFIGURATION DEFINITIONS ***
'
* REPLACING old line(s) by new
117 IF ZSubParm <> -62 THEN _
* ------[ first line different ]------
IF ZPrevRead$ = ConfigFile$ THEN _ ' RM11159302
EXIT SUB _
ELSE ZPrevRead$ = ConfigFile$ ' RM11159302
CLOSE 2
ZBulletinSave$ = ZBulletinMenu$
CALL OpenWork (2,ConfigFile$)
ZCurDef$ = ConfigFile$
INPUT #2,ZWasDF$, _
ZDnldDrives$, _
ZSysopPswd1$, _
ZSysopPswd2$, _
ZSysopFirstName$, _
ZSysopLastName$, _
ZRequiredRings, _
ZStartOfficeHours, _
ZEndOfficeHours, _
ZMinsPerSession, _
ZWasDF, _
ZWasDF, _
ZUpldDir$, _
ZExpertUserDef, _
ZActiveBulletins, _
ZPromptBellDef, _
ZWasDF, _
ZMenusCanPause, _
ZMenu$(1), _
ZMenu$(2), _
ZMenu$(3), _
ZMenu$(4), _
ZMenu$(5), _
ZMenu$(6), _
ZConfMenu$, _
ZTestANSITime, _
ZWelcomeInterruptable, _
ZRemindFileXfers, _
ZPageLengthDef, _
ZMaxMsgLinesDef, _
ZDoorsAvail, _
ZWasDF$, _
ZMainMsgFile$, _
ZMainMsgBackup$
INPUT #2, WasX$, _
ZCmntsFile$, _
ZMainUserFile$, _
ZWelcomeFile$, _
ZNewUserFile$, _
ZMainDirExtension$
CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
IF ZWasDF$ <> "" THEN _
ZCallersFile$ = WasX$
INPUT #2, ZWasDF$
IF ZComPort$ <> "COM0" THEN _
IF NOT ZConfMode THEN _
ZComPort$ = ZWasDF$
INPUT #2, ZBulletinsOptional, _
ZModemInitCmd$, _
ZRTS$, _
ZCallersLst$, _
ZFG, _
ZBG, _
ZBorder
IF ZConfMode THEN _
INPUT #2, ZWasDF$, _
ZWasDF$ _
ELSE INPUT #2, ZRBBSBat$ , _
ZRCTTYBat$
INPUT #2,ZOmitMainDir$, _
ZFirstNamePrompt$, _
ZHelp$(3), _
ZHelp$(4), _
ZHelp$(7), _
ZHelp$(9), _
ZBulletinMenu$, _
ZBulletinPrefix$, _
ZWasDF$, _
ZMsgReminder, _
ZRequireNonASCII, _
ZAskExtendedDesc, _
ZMaxNodes ' KG100701
IF ZConfMode THEN _
INPUT #2, ZwasDF, ZwasDF _ ' KG100701
ELSE INPUT #2, ZNetworkType, _ ' KG100701
ZRecycleToDos
INPUT #2,ZWasDF, _
ZWasDF, _
ZTrashcanFile$
INPUT #2,ZMinLogonSec, _
ZDefaultSecLevel, _
ZSysopSecLevel, _
ZFileSecFile$, _
ZSysopMenuSecLevel, _
ZConfMailList$, _
ZMaxViolations, _
ZOptSec(50), _ ' SECURITY FOR SYSOP COMMANDS 1
ZOptSec(51), _
ZOptSec(52), _
ZOptSec(53), _
ZOptSec(54), _
ZOptSec(55), _
ZOptSec(56), _ ' SYSOP 7
ZPswdFile$, _
ZMaxPswdChanges, _
ZMinSecForTempPswd, _
ZOverWriteSecLevel, _
ZDoorsTermType, _
ZMaxPerDay
INPUT #2,ZOptSec(1), _ ' SECURITY FOR MAIN MENU COMMANDS 1
ZOptSec(2), _
ZOptSec(3), _
ZOptSec(4), _
ZOptSec(5), _
ZOptSec(6), _
ZOptSec(7), _
ZOptSec(8), _
ZOptSec(9), _
ZOptSec(10), _
ZOptSec(11), _
ZOptSec(12), _
ZOptSec(13), _
ZOptSec(14), _
ZOptSec(15), _
ZOptSec(16), _
ZOptSec(17), _
ZOptSec(18), _ ' MAIN COMMAND 18
ZMinNewCallerBaud, _
ZWaitBeforeDisconnect
INPUT #2,ZOptSec(19), _ ' Security for FILE COMMANDS 1
ZOptSec(20), _
ZOptSec(21), _
ZOptSec(22), _
ZOptSec(23), _
ZOptSec(24), _
ZOptSec(25), _
ZOptSec(26), _ ' FILE COMMAND 8
ZOptSec(27), _ ' SECURITY FOR UTILITY COMMANDS 1
ZOptSec(28), _
ZOptSec(29), _
ZOptSec(30), _
ZOptSec(31), _
ZOptSec(32), _
ZOptSec(33), _
ZOptSec(34), _
ZOptSec(35), _
ZOptSec(36), _
ZOptSec(37), _
ZOptSec(38), _ ' UTIL COMMAND 12
ZOptSec(46), _ ' SECURITY FOR GLOBAL COMMANDS 1
ZOptSec(47), _
ZOptSec(48), _
ZOptSec(49), _
ZUpldTimeFactor!, _
ZComputerType, _
ZRemindProfile, _
ZRBBSName$, _
ZCmdsBetweenRings, _
ZCopyrightSecs, _
ZPagingPtrSupport$
IF ZConfMode THEN _
INPUT #2, ZwasDF _
ELSE INPUT #2, ZModemInitBaud$
IF ZErrCode > 0 THEN _
EXIT SUB
* REPLACING old line(s) by new
119 INPUT #2, ZPersonalDrvPath$, _
ZPersonalDir$, _
ZPersonalBegin, _
ZPersonalLen, _
ZPersonalProtocol$, _
ZPersonalConcat , _
ZPrivateReadSec, _
ZPublicReadSec, _
ZSecChangeMsg
IF ZConfMode THEN _
INPUT #2, ZwasDF _
ELSE INPUT #2, ZKeepInitBaud
INPUT #2, ZMainPUI$
IF ZConfMode THEN _
INPUT #2, ZWasDF$,ZWasDF$,ZWasDF$ _
ELSE INPUT #2, ZDefaultEchoer$, _
ZHostEchoOn$, _
ZHostEchoOff$
INPUT #2, ZSwitchBack, _
ZDefaultLineACK$, _
ZAltdirExtension$, _
ZDirPrefix$
IF ZConfMode THEN _
INPUT #2, ZWasDF, _
ZWasDF, _
ZWasDF _
ELSE INPUT #2, ZWasDF,_
ZModemInitWaitTime, _
ZModemCmdDelayTime
INPUT #2, ZTurboRBBS, _
ZSubDirCount, _
ZWasDF, _
ZUpldToSubdir, _
ZWasDF, _
ZUpldSubdir$, _
ZMinOldCallerBaud, _
ZMaxWorkVar, _
ZDiskFullGoOffline, _
ZExtendedLogging
IF ZConfMode THEN _
INPUT #2, ZWasDF$, _
ZWasDF$, _
ZWasDF$, _
ZWasDF$ _
ELSE INPUT #2, ZModemResetCmd$, _
ZModemCountRingsCmd$, _
ZModemAnswerCmd$, _
ZModemGoOffHookCmd$
INPUT #2,ZDiskForDos$, _
ZDumbModem, _
ZCmntsAsMsgs
IF ZConfMode THEN _
INPUT #2, ZWasDF, _
ZWasDF, _
ZWasDF, _
ZWasDF, _
ZWasDF, _
ZWasDF _
ELSE INPUT #2, ZLSB,_
ZMSB,_
ZLineCntlReg,_
ZModemCntlReg,_
ZLineStatusReg,_
ZModemStatusReg
INPUT #2,ZKeepTimeCredits, _
ZXOnXOff, _
ZAllowCallerTurbo, _
ZUseDeviceDriver$, _
ZPreLog$, _
ZNewUserQuestionnaire$, _
ZEpilog$, _
ZRegProgram$, _
ZQuesPath$, _
ZUserLocation$, _
ZWasDF$, _
ZWasDF$, _
ZWasDF$, _
ZEnforceRatios, _
ZSizeOfStack, _
ZSecExemptFromEpilog, _
ZUseBASICWrites, _
ZDosANSI, _
ZEscapeInsecure, _
ZUseDirOrder, _
ZAddDirSecurity, _
ZMaxExtendedLines, _
ZOrigCommands$
INPUT #2,ZLogonMailLevel$, _
ZMacroDrvPath$, _
ZMacroExtension$, _
ZEmphasizeOnDef$, _
ZEmphasizeOffDef$, _
ZFG1Def$, _
ZFG2Def$, _
ZFG3Def$, _
ZFG4Def$, _
ZSecVioHelp$
IF ZConfMode THEN _
INPUT #2,ZWasDF _
ELSE INPUT #2,ZFossil
INPUT #2,ZMaxCarrierWait, _
ZWasDF, _
ZSmartTextCode, _
ZTimeLock, _
ZWriteBufDef, _
ZSecKillAny, _
ZDoorsDef$, _
ZScreenOutMsg$, _
ZAutoPageDef$
* ------[ first line different ]------
ZLibDriveSave$ = ZLibDrive$ ' RM03289401
ZFastFileListSave$ = ZFastFileList$ ' RM03269401
ZFastFileLocatorSave$ = ZFastFileLocator$ ' RM03269401
ZDirCatFileSave$ = ZDirCatFile$ ' RM03269401
ZLibSubdirPrefixSave$ = ZLibSubdirPrefix$ ' RM03269401
ZLibDirExtensionSave$ = ZLibDirExtension$ ' RM03269401
ZLibDirPathSave$ = ZLibDirPath$ ' RM03269401
ZDirPrefixSave$ = ZDirPrefix$ ' RM03269401
ZUpldSubDirTemp$ = ZUpldSubDir$ ' RM01219401
ZCDRomWorkDir$ = ZUpldSubDir$ + "\" + "NODE" + ZNodeFileID$ + "\" ' RM03239401
ZCDRom = ZFalse ' RM03249401
IF ZErrCode > 0 THEN _
EXIT SUB
ZConfigFileName$ = ConfigFile$
CALL EditDef
ZLibDirSave$ = ZLibDir$ ' RM03269401
ZCurDirPathSave$ = ZCurDirPath$ ' RM03279401
IF NOT ZConfMode AND NOT ZSubBoard THEN _ ' RM11219301/RM02029401
CALL ReadColorDef ' RM11159301
END SUB
* REPLACING old line(s) by new
200 ' $SUBTITLE: 'OpenCom - subroutine to open the communications port'
' $PAGE
'
' NAME -- OpenCom
'
' INPUTS -- PARAMETER MEANING
' BaudRate$ BAUD TO OPEN MODEM
' Parity$ PARITY TO OPEN MODEM
'
' OUTPUTS -- BaudTest! BAUD RATE TO SET RS232 AT
'
' PURPOSE -- To open the communications port.
'
SUB OpenCom (BaudRate$,Parity$) STATIC
ON ERROR GOTO 65000
IF ZFossil THEN _
IF ZRTS$ = "YES" THEN _
ZFlowControl = ZTrue : _
Flow = &H00F2 : _
CALL FosFlowCtl(ZComPort,Flow)
IF INSTR(Parity$,"N") THEN _
Parity = 2 : _ ' No PARITY
DataBits = 3 : _ ' 8 DATA BITS
StopBits = 0 _ ' 1 STOP BIT
ELSE Parity = 3 : _ ' EVEN PARITY
DataBits = 2 : _ ' 7 DATA BITS
StopBits = 0 ' 1 STOP BIT
IF NOT ZFossil THEN _
GOTO 202
* ------[ first line different ]------
IF Baudrate$ = "12000" THEN _ ' BB09199301
ComSpeed = &H2EE0 _ ' BB09199301
ELSE IF Baudrate$ = "14400" THEN _ ' BB09199301
ComSpeed = &H3840 _ ' BB09199301
ELSE IF Baudrate$ = "16800" THEN _ ' BB09199301
ComSpeed = &H41A0 _ ' BB09199301
ELSE IF Baudrate$ = "19200" THEN _ ' BB09199301
ComSpeed = &H4B00 _ ' BB09199301
ELSE IF Baudrate$ = "21600" THEN _ ' BB09039301
ComSpeed = &H5460 _ ' BB09039301
ELSE IF Baudrate$ = "24000" THEN _ ' RM11279301
ComSpeed = &H5E88 _ ' RM11279301
ELSE IF Baudrate$ = "26400" THEN _ ' RM11279301
ComSpeed = &H6720 _ ' RM11279301
ELSE IF Baudrate$ = "28800" THEN _ ' BB062501/BB09039301
ComSpeed = &H7080 _ ' BB062501/BB09039301
ELSE IF Baudrate$ = "38400" THEN _ ' BB062501
ComSpeed = &H9600 _
ELSE IF Baudrate$ = "57600" THEN _ ' BB062501
ComSpeed = &H0E100 _ ' BB062501
ELSE ComSpeed = VAL(BaudRate$)
CALL FosSpeed(ZComPort,ComSpeed,Parity,DataBits,StopBits)
EXIT SUB
* REPLACING old line(s) by new
202 CLOSE 3
IF ZRTS$ = "YES" THEN _
ZFlowControl = ZTrue : _
WasX$ = ",CS26600,CD,DS" _
ELSE WasX$ = ",RS,CD,DS"
WasX = (VAL(BaudRate$) > 19200)
IF WasX THEN _
ZWasY$ = "19200" _
ELSE ZWasY$ = BaudRate$
OPEN ZComPort$ + ":" + ZWasY$ + Parity$ + WasX$ AS #3
'
' ****************************************************************************
' * RAISE THE RTS SIGNAL IF THE MODEM USES RTS FOR MODEM FLOW CONTROL (ONCE
' * IT IS RAISED, IT WILL STAY UP UNTIL THE REGISTER IS CLEARED OUT).
' ****************************************************************************
'
END SUB
* ------[ first line different ]------
'
* INSERTING new line(s)
1450 ' $SUBTITLE: 'CopyFile - Copy a file from CD-ROM to holding directory'
' $PAGE
'
' NAME -- CopyFile
'
' INPUTS -- PARAMETER MEANING
' FilName$ Name of file to copy
' Whereto$ Where to copy file to
' Type 1 = CD-ROM
' 0 = Other
'
' OUTPUTS --
'
'
' PURPOSE -- To copy a file from CD-ROM to a download holding directory.
' Can be used to copy a file from one directory to another
' Including across drives.
'
' WRITTEN BY: R. Molinelli - 03/23/94
'
SUB CopyFile (FilName$,Whereto$,FType) ' RM03239401/RM03259402
ON ERROR GOTO 65000
IF FType = 1 THEN ' Create semaphore file to lock out ' RM03259402
FilNum1 = FREEFILE ' out nodes in multinode environ ' RM03259402
OPEN "A",FilNum1,"CDWORK" + ZLibDrive$ + ".WRK" ' RM03259402
CLOSE FilNum1 ' RM03259402
END IF
FileLen# = 0
LenLastRec# = 0
NumRecs# = 0
RecLen# = 1024
FilNum1 = FREEFILE
IF FType = 1 OR ZShareIt THEN
OPEN FilName$ FOR BINARY ACCESS READ SHARED AS #FilNum1 LEN = RecLen#
ELSE
OPEN FilName$ FOR BINARY ACCESS READ AS #FilNum1 LEN = RecLen#
END IF
FileLen# = LOF(FilNum1)
IF FileLen# >= 1024 THEN
NumRecs# = FileLen# \ RecLen#
LenLastRec# = FileLen# - (NumRecs# * RecLen#)
END IF
IF FileLen# < 1024 THEN
NumRecs# = 1
RecLen# = FileLen#
CLOSE FilNum1
IF FType = 1 OR ZShareIt THEN
OPEN FilName$ FOR BINARY ACCESS READ SHARED AS #FilNum1 LEN = RecLen#
ELSE
OPEN FilName$ FOR BINARY ACCESS READ AS #FilNum1 LEN = RecLen#
END IF
END IF
CALL BreakFileName (FilName$,DR$,Pre$,Ext$,ZTrue)
OutFile$ = WhereTo$ + Pre$ + Ext$
FilNum2 = FREEFILE
IF FType = 1 OR ZShareIt THEN
OPEN OutFile$ FOR BINARY ACCESS WRITE SHARED AS #FilNum2 LEN = RecLen#
ELSE
OPEN OutFile$ FOR BINARY ACCESS WRITE AS #FilNum2 LEN = RecLen#
END IF
IF ZErrCode >= 75 AND ZErrCode <=76 THEN
ZErrCode = 0
CALL LPrnt ("CD-ROM work directory missing...creating directory",1)
CLOSE FilNum2
MKDIR MID$(WhereTo$,1,LEN(WhereTo$) - 1)
IF FType = 1 OR ZShareIt THEN
OPEN OutFile$ FOR BINARY ACCESS WRITE SHARED AS #FilNum2 LEN = RecLen#
ELSE
OPEN OutFile$ FOR BINARY ACCESS WRITE AS #FilNum2 LEN = RecLen#
END IF
END IF
CopyFrom$ = STRING$(RecLen#," ")
CopyTo$ = STRING$(RecLen#," ")
FOR X# = 1 TO NumRecs#
GET #FilNum1,,CopyFrom$
LSET CopyTo$ = CopyFrom$
PUT #FilNum2,,CopyTo$
NEXT
IF LenLastRec# > 0 THEN
CopyFrom$ = STRING$(LenLastRec#," ")
CopyTo$ = STRING$(LenLastRec#," ")
GET #FilNum1,,CopyFrom$
LSET CopyTo$ = CopyFrom$
PUT #FilNum2,,CopyTo$
END IF
CLOSE FilNum1,FilNum2
CopyTo$ = ""
CopyFrom$ = ""
FilName$ = OutFile$
IF FType = 1 THEN _ ' RM03259402
CALL KillWork ("CDWORK" + ZLibDrive$ + ".WRK") ' Delete semaphore file ' RM03259402
1460 END SUB ' RM03239401
'
1465 ' $SUBTITLE: 'KillCDWork - Kill files copied to CD Work Dir'
' $PAGE
'
' NAME -- KillCDWork
'
' INPUTS -- PARAMETER MEANING
'
'
'
' OUTPUTS --
'
'
' PURPOSE -- Delete files copied to hard disk for downloading from
' CD-ROM drive.
'
' WRITTEN BY: Richie Molinelli - 03/23/94
'
SUB KillCDWork ' RM03249401
Temp$ = DIR$(ZCDRomWorkDir$ + "*.*")
WHILE Temp$ <> ""
Temp1$ = ZCDRomWorkDir$ + Temp$
KILL Temp1$
Temp$ = DIR$
WEND
END SUB ' RM03249401
'
* REPLACING old line(s) by new
1479 ' $SUBTITLE: 'OpenRSeq - open sequential file randomly'
' $PAGE
'
' NAME -- OpenRSeq
'
' INPUTS -- PARAMETER MEANING
' FilName$ NAME OF SEQUENTIAL FILE TO OPEN AS #2
' RecLen Length of a record
* ------[ first line different ]------
' FilNum File number to open
'
' OUTPUTS -- NumRecs& NUMBER OF RECORDS IN THE FILE based on RecLen ' LRGE174/YB102001
' LenLastRec NUMBER OF BYTES IN THE LAST RECORD
' MAY BE LESS THAN OR EQUAL TO RecLen).
'
' PURPOSE -- Open a sequential file as file #2 and read it randomly
'
SUB OpenRSeq (FilName$,NumRecs&,LenLastRec,RecLen,FilNum) STATIC ' LRGE174/YB102001/RM01139402
ON ERROR GOTO 65000
CALL OpenRand2 (FilName$,RecLen,FilNum) ' RM01139402
IF ZErrCode > 0 THEN _
EXIT SUB
FIELD FilNum, RecLen AS ZDnldRecord$ ' RM01139402
WasI# = LOF(FilNum) ' RM01139402
NumRecs& = FIX(WasI#/RecLen) ' LRGE174/YB102001
LenLastRec = WasI# - CDBL(NumRecs&) * RecLen ' LRGE174/YB102001
IF LenLastRec > 0 THEN _
NumRecs& = NumRecs& + 1 _ ' LRGE174/YB102001
ELSE LenLastRec = RecLen
END SUB
* REPLACING old line(s) by new
* ------[ first line different ]------
1486 SUB OpenRand2 (FileToOpen$,FileLen,FilNum) ' RM01139402
ON ERROR GOTO 65000
CLOSE FilNum ' RM01139402
* REPLACING old line(s) by new
1487 ZErrCode = 0
IF ZShareIt THEN _
* ------[ first line different ]------
OPEN FileToOpen$ FOR RANDOM SHARED AS FilNum LEN=FileLen _ ' RM01139402
ELSE OPEN "R",FilNum,FileToOpen$,FileLen ' RM01139402
END SUB
* REPLACING old line(s) by new
9398 ' $SUBTITLE: 'OpenUser - subroutine to open users file as #5'
' $PAGE
'
' NAME -- OpenUser
'
' INPUTS -- PARAMETER MEANING
' ZShareIt
'
' OUTPUTS -- ZActiveUserFile$
' ZCityState$
' ZElapsedTime$
' ZLastDateTimeOn$
' LastRec # OF Last RECORD IN USERS FILE
' ZListNewDate$
' ZPswd$
' ZSecLevel$
' ZUserDnlds$
' ZUserName$
' ZUserOption$
' ZUserRecord$
' ZUserUplds$
'
' PURPOSE -- Open the user file as file #5
'
* ------[ first line different ]------
SUB OpenUser (LastRec) ' RM11159302
ON ERROR GOTO 65000
'
' **** OPEN AND DEFINE USER FILE RECORD VARIABLES ****
'
* REPLACING old line(s) by new
9400 CLOSE 5
IF ZShareIt THEN _
OPEN ZActiveUserFile$ FOR RANDOM SHARED AS #5 LEN=128 _
ELSE OPEN "R",5,ZActiveUserFile$,128
WasI# = LOF(5)
LastRec = FIX(WasI#/128)
FIELD 5,31 AS ZUserName$, _
15 AS ZPswd$, _
2 AS ZSecLevel$, _
14 AS ZUserOption$, _
24 AS ZCityState$, _
* ------[ first line different ]------
1 AS MachineType$, _ ' DROP174
1 AS ZDropTimes$, _ ' DROP174
1 AS ZBankTime$,_
4 AS ZTodayDl$, _
4 AS ZTodayBytes$, _
4 AS ZDlBytes$, _
4 AS ZULBytes$, _
14 AS ZLastDateTimeOn$, _
3 AS ZListNewDate$, _
2 AS ZUserDnlds$, _
2 AS ZUserUplds$, _
2 AS ZElapsedTime$
FIELD 5,128 AS ZUserRecord$
END SUB
' ' DU174/RM08049301
* INSERTING new line(s)
10091 '$SUBTITLE: 'DisplayUser -- subroutine to display users file' ' DU174/RM08049301
' $PAGE ' DU174/RM08049301
' ' DU174/RM08049301
' NAME: DisplayUser ' DU174/RM08049301
' ' DU174/RM08049301
' PURPOSE: To display users file with "U" from Utility Menu or ' DU174/RM08049301
' 2 from SysOp Menu. Formerly in RBBS-PC.BAS ' DU174/RM08049301
' ' DU174/RM08049301
' INPUTS: ' DU174/RM08049301
' ' DU174/RM08049301
' OUTPUTS: ' DU174/RM08049301
' ' DU174/RM08049301
' ' DU174/RM08049301
SUB DisplayUser STATIC ' DU174/RM08049301
10092 CALL Muzak (6) ' DU174/RM08049301
ZOutTxt$ = "List - U)sers, R)ecent callers" ' DU174/RM08049301
ZMacroMin = 2 ' DU174/RM08049301
CALL SkipLine (1) ' DU174/RM08049301
GOSUB 10100 ' DU174/RM08049301
IF ZWasQ = 0 THEN _ ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
CALL AraAllCaps (ZUserIn$(),ZAnsIndex) ' DU174/RM08049301
ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10092,10096,10093 ' DU174/RM08049301
10093 CALL DispCall ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
10096 UserRecordHold$ = ZUserRecord$ ' DU174/RM08049301
IF ZConfMode THEN _ ' DU174/RM08049301
ZOutTxt$ = "Users of " + _ ' DU174/RM08049301
ZConfName$ + _ ' DU174/RM08049301
":" : _ ' DU174/RM08049301
GOSUB 10101 ' DU174/RM08049301
CALL OpenUser (ZHighestUserRecord) ' DU174/RM08049301
FIELD 5,128 AS ZUserRecord$ ' DU174/RM08049301
ZStopInterrupts = ZFalse ' DU174/RM08049301
WasI = 1 ' DU174/RM08049301
ZWasZ$ = ZSecretName$ ' DU174/RM08049301
10097 IF WasI > ZHighestUserRecord OR ZRet THEN _ ' DU174/RM08049301
GOTO 10099 ' DU174/RM08049301
GET 5,WasI ' DU174/RM08049301
WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash) ' DU174/RM08049301
IF ASC(WasX$)=0 OR LEFT$(WasX$,3)=" " THEN _ ' DU174/RM08049301
GOTO 10098 ' DU174/RM08049301
IF INSTR(WasX$,ZWasZ$) > 0 OR ZSysopSecLevel <= CVI(MID$(ZUserRecord$,47,2)) THEN _ ' DU174/RM08049301
IF NOT ZSysop THEN _ ' DU174/RM08049301
GOTO 10098 ' DU174/RM08049301
CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse) ' DU174/RM08049301
IF ZNo OR ZSubParm = -1 THEN _ ' DU174/RM08049301
GOTO 10099 ' DU174/RM08049301
ZOutTxt$ = LEFT$(WasX$,36) + ZCityState$ + ZLastDateTimeOn$ ' DU174/RM08049301
GOSUB 10101 ' DU174/RM08049301
10098 WasI = WasI + 1 ' DU174/RM08049301
GOTO 10097 ' DU174/RM08049301
10099 ZOutTxt$ = "" ' DU174/RM08049301
LSET ZUserRecord$ = UserRecordHold$ ' DU174/RM08049301
ZStopInterrupts = ZTrue ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
10100 ZTurboKey = -ZTurboKeyUser ' DU174/RM08049301
CALL PopCmdStack ' DU174/RM08049301
IF ZSubParm < 0 THEN _ ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
RETURN ' DU174/RM08049301
10101 ZSubParm = 5 ' DU174/RM08049301
CALL TPut ' DU174/RM08049301
IF ZSubParm < 0 THEN _ ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
IF ZSubParm = 8 THEN _ ' DU174/RM08049301
ZSubParm = 1 : _ ' DU174/RM08049301
CALL TGet : _ ' DU174/RM08049301
IF ZSubParm < 0 THEN _ ' DU174/RM08049301
EXIT SUB ' DU174/RM08049301
RETURN ' DU174/RM08049301
END SUB ' DU174/RM08049301
* REPLACING old line(s) by new
13661 ' $SUBTITLE: 'UpdtCalr - subroutine to write to CALLERS file'
' $PAGE
'
' NAME -- UpdtCalr
'
' INPUTS -- PARAMETER MEANING
' ErrMsg$ MESSAGE TO GO IN CALLER LOG
' EXTLog = 1 CHECK FOR EXTENDED LOGGING
' BEFORE UPDATING.
' = 2 UPDATE CALLER LOG WITH ZWasZ$
' = 3 Time stamp before logging
'
' OUTPUTS -- ZCurDate$ CURRENT DATE (MM-DD-YY)
' ZTime$ CURRENT TIME (I.E. 1:13 PM)
' TIME.LOGGEND.ON$ TIME USER LOGGED ON (HH:MM:SS)
'
' PURPOSE -- To update the caller's file and/or print on the
' local printer if it is enabled
'
* ------[ first line different ]------
SUB UpdtCalr (ErrMsg$,EXTLog) ' RM11159302
ON ERROR GOTO 65000
IF ZCallersFilePrefix$ = "" OR (ZLocalUser AND ZSysop) THEN _
EXIT SUB
WasX$ = " " + ErrMsg$
* REPLACING old line(s) by new
13673 ' $SUBTITLE: 'Printit - subroutine to print on the local printer'
' $PAGE
'
' NAME -- Printit
'
' INPUTS -- PARAMETER MEANING
' Strng$ STRING TO WRITE TO THE Printer
'
' OUTPUTS -- NONE
'
' PURPOSE -- To write to the printer attached to the pc running
' RBBS-PC and toggle the printer switch off whenever
' the printer is/becomes unavailable
'
* ------[ first line different ]------
SUB Printit (Strng$) ' RM11159302
ON ERROR GOTO 65000
* REPLACING old line(s) by new
20101 ' $SUBTITLE: 'ChangeDir - subroutine to change subdirectories'
' $PAGE
'
' NAME -- ChangeDir
'
' INPUTS -- PARAMETER MEANING
' NewDir$ NAME OF SUBDIRECTORY
'
' OUTPUTS -- ZOK TRUE IF CHDIR SUCCESSFUL
' ZErrCode ERROR CODE
'
' PURPOSE -- Change subdirectory
'
* ------[ first line different ]------
SUB ChangeDir (NewDir$) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
ZOK = ZTrue
* REPLACING old line(s) by new
20219 ' $SUBTITLE: 'FINDITX - subroutine to find if a file exists'
' $PAGE
'
' NAME -- FINDITX
'
' INPUTS -- PARAMETER MEANING
' FilName$ NAME OF FILE TO FIND
' FileNum # TO OPEN FILE AS
'
' OUTPUTS -- ZOK TRUE IF FILE EXISTS
' ZErrCode ERROR CODE
'
' PURPOSE -- Determine whether a file exists
'
* ------[ first line different ]------
SUB FindItX (FilName$,FileNum) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
ZOK = ZFalse
IF LEN(FilName$) < 1 THEN _
EXIT SUB
IF ZTurboRBBS THEN _
CALL FindFile (FilName$,ZOK) : _
IF ZOK THEN _
GOTO 20222 _
ELSE EXIT SUB
* REPLACING old line(s) by new
20308 ' $SUBTITLE: 'FlushCom -- subroutine reads all char. from comm. port'
' $PAGE
'
' NAME -- FlushCom
'
' INPUTS -- PARAMETER MEANING
' STrng$ STRING TO READ CHARACTERS INTO FROM
' THE COMMUNICATIONS PORT (FILE #3)
'
' OUTPUTS -- Strng$
'
' PURPOSE -- Reads all characters from the communications port.
'
* ------[ first line different ]------
SUB FlushCom (Strng$) ' RM11159302
ON ERROR GOTO 65000
IF ZLocalUser THEN _
EXIT SUB
Strng$ = ""
IF NOT ZFossil THEN _
GOTO 20311
* REPLACING old line(s) by new
29920 ZErrCode = 0
IF IBMFileLock = 6 AND IBMRecLock = 3 THEN _
IBMCount = IBMCount - 1 : _
IF IBMCount > 0 THEN _
EXIT SUB _
ELSE IBMCount = 0
UNLOCK IBMFileLock, IBMRecLock TO IBMRecLock
IF ZErrCode = 70 THEN _
EXIT SUB
IF ZErrCode <> 0 THEN _
GOTO 29920
END SUB
* ------[ first line different ]------
' ' GR174/RM08039303
* INSERTING new line(s)
43000 '$SUBTITLE: 'GraphicsSet -- subroutine to allow user to set graphics pref' ' GR174/RM08039303
' $PAGE ' GR174/RM08039303
' ' GR174/RM08039303
' NAME: GraphicsSet ' GR174/RM08039303
' ' GR174/RM08039303
' PURPOSE: To allow user to set their graphics preference ' GR174/RM08039303
' Formerly in RBBS-PC.BAS ' GR174/RM08039303
' ' GR174/RM08039303
' INPUTS: ' GR174/RM08039303
' ' GR174/RM08039303
' OUTPUTS: ' GR174/RM08039303
' ' GR174/RM08039303
' ' GR174/RM08039303
SUB GraphicsSet STATIC ' GR174/RM08039303
43002 IF ZRIPTest AND NOT ZNewUser THEN ' RM07159301/RIP/RM07259301
WasRIP = ZFalse ' RM08049302/RIP
ZOutTxt$ = "Disable RIP Support (Y, [N])" ' RM07159301/RIP
CALL TGet ' RM07159301/RIP
CALL AllCaps (ZUserIn$) ' RMO7159301/RIP
IF ZUserIn$ = "Y" THEN ' RM07159301/RIP
WasRIP = ZTrue ' RM08049302/RIP
ZRIPTest = ZFalse ' RM07159301/RIP
ZUserGraphicDefault$ = "C" ' RM07159301/RIP
END IF ' RM07159301/RIP
GOTO 43003 ' RM08049302/RIP
END IF ' RM07159301/RIP
IF WasRIP THEN ' RM08049302/RIP
ZOutTxt$ = "Re-enable RIP Support (Y, [N])" ' RM08049302/RIP
CALL TGet ' RM08049302/RIP
CALL AllCaps (ZUserIn$) ' RM08049302/RIP
IF ZUserIn$ = "Y" THEN ' RM08049302/RIP
WasRIP = ZFalse ' RM08049302/RIP
ZRIPTest = ZTrue ' RM08049302/RIP
ZUserGraphicDefault$ = "R" ' RM08049302/RIP
END IF ' RM08049302/RIP
GOTO 43003 ' RM08049302/RIP
END IF ' RM08049302/RIP
GOTO 43005 ' RM08049302/RIP
43003 ZOutTxt$ = "Change GRAPHICS Defaults (Y, [N])" ' RM07159301/RIP
CALL TGet ' RM07159301/RIP
CALL AllCaps (ZUserIn$) ' RM07159301/RIP
IF ZUserIn$ <> "Y" THEN ' RM07159301/RIP
EXIT SUB ' RM07159301/RIP
END IF ' RM07159301/RIP
43005 GOSUB 43007 ' RM02199401
GOTO 43022 ' RM02199401
43007 CALL AskGraphics ' GR174/RM08039303
IF ZSubParm = -1 THEN _ ' GR174/RM08039303
EXIT SUB ' GR174/RM08039303
IF ZWasQ = 0 THEN _ ' GR174/RM08039303
RETURN ' GR174/RM08039303
43020 ZOutTxt$ = "Text Graphics: " + _ ' GR174/RM08039303
MID$("None AsciiColor",ZWasGR * 5 + 1,5) ' GR174/RM08039303
ZSubParm = 5 ' GR174/RM08039303
CALL TPut ' GR174/RM08039303
IF ZSubParm < 0 THEN _ ' GR174/RM08039303
EXIT SUB ' GR174/RM08039303
IF ZSubParm = 8 THEN _ ' GR174/RM08039303
CALL TGet : _ ' GR174/RM08039303
IF ZSubParm < 0 THEN _ ' GR174/RM08039303
EXIT SUB ' GR174/RM08039303
RETURN ' RM02199401
43022 ZPrevPUI$ = "" ' GR174/RM08039303
IF ZEmphasizeOnDef$ = "" THEN _ ' GR174/RM08039303
EXIT SUB ' GR174/RM08039303
ZOutTxt$ = "Do you want colorized prompts ([Y],N)" ' GR174/RM08039303
ZTurboKey = -ZTurboKeyUser ' GR174/RM08039303
CALL PopCmdStack ' GR174/RM08039303
IF ZSubParm < 0 THEN _ ' GR174/RM08039303
EXIT SUB ' GR174/RM08039303
ZHiLiteOff = NOT ZNo ' GR174/RM08039303
CALL Toggle(5) ' GR174/RM08039303
END SUB ' GR174/RM08039303
* REPLACING old line(s) by new
57978 ' $SUBTITLE: 'OpenWork - subroutine to open RBBS-PC's work file (2)'
' $PAGE
'
' NAME -- OpenWork
'
' INPUTS -- PARAMETER MEANING
' FileNum # OF FILE TO OPEN AS
' FilName$ NAME OF FILE TO FIND
' ZShareIt USE DOS' "SHARE" FACILITIES
'
' OUTPUTS -- ZErrCode ERROR CODE
'
' PURPOSE -- To open RBBS-PC's "work" file (number 2)
'
* ------[ first line different ]------
SUB OpenWork (FileNum,FilName$) ' RM11159302
ON ERROR GOTO 65000
* INSERTING new line(s)
58040 ' $SUBTITLE: 'OpenWorkB - subroutine to an RBBS-PC work file for append' ' BTCH174
' $PAGE ' BTCH174
' ' BTCH174
' NAME -- OpenWorkB ' BTCH174
' ' BTCH174
' INPUTS -- PARAMETER MEANING ' BTCH174
' FileNum # OF FILE TO OPEN ' BTCH174
' FilName$ NAME OF FILE TO FIND ' BTCH174
' ZShareIt USE DOS' "SHARE" FACILITIES ' BTCH174
' ' BTCH174
' OUTPUTS -- ZErrCode ERROR CODE ' BTCH174
' ' BTCH174
' PURPOSE -- To open an RBBS-PC work file for appended output ' BTCH174
' ' BTCH174
' WRITTEN BY: R. Molinelli ' BTCH174
' ' BTCH174
SUB OpenWorkB (FileNum,FilName$) ' BTCH174/RM11159302
ON ERROR GOTO 65000 ' BTCH174
58050 CLOSE FileNum ' BTCH174
58060 ZErrCode = 0 ' BTCH174
58070 IF ZShareIt THEN _ ' BTCH174
OPEN FilName$ FOR APPEND SHARED AS #FileNum _ ' BTCH174
ELSE OPEN "A",FileNum,FilName$ ' BTCH174
IF ZErrCode = 52 THEN _ ' BTCH174
GOTO 58060 ' BTCH174
58080 END SUB ' BTCH174
* REPLACING old line(s) by new
58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
' $PAGE
'
' NAME -- OpenFMS
'
' INPUTS -- PARAMETER MEANING
' ZShareIt DOS SHARING FLAG
' ZFMSDirectory$ NAME OF FMS DIRECTORY
'
' OUTPUTS -- LastRec NUMBER OF THE Last
' RECORD IN THE FILE
' CatLen Length of the category code
'
' PURPOSE -- To open the upload directory as a random file and find
' the number of the last record in the file.
'
SUB OpenFMS (LastRec,CatLen) STATIC
ON ERROR GOTO 65000
CLOSE 2
IF ZActiveFMSDir$ = "" THEN _
IF ZMenuIndex = 6 THEN _
ZActiveFMSDir$ = ZLibDir$ _
ELSE ZActiveFMSDir$ = ZFMSDirectory$
OldFile = (ZActiveFMSDir$ = PrevFMS$)
IF OldFile THEN _
GOTO 58192
CALL OpenWork (2,ZActiveFMSDir$)
CALL ReadDir (2,1)
* ------[ first line different ]------
IF ZErrCode > 0 OR LEN(ZOutTxt$) < 37 THEN _ ' KG091002
IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
ZFMSFileLength = 36 + ZMaxDescLen + ZPersonalLen _
ELSE ZFMSFileLength = 38 + ZMaxDescLen _
ELSE ZFMSFileLength = LEN(ZOutTxt$) + 2
IF ZFMSFileLength < 86 THEN _ ' KG091002
CalcCatLen = 3 : _ ' KG091002
ZMaxDescLen = ZFMSFileLength - 38 _ ' KG091002
ELSE CalcCatLen = ZPersonalLen : _ ' KG091002
ZMaxDescLen = ZFMSFileLength - 36 - ZPersonalLen ' KG091002
CLOSE 2
* REPLACING old line(s) by new
58192 ZErrCode = 0
IF ZShareIt THEN _
OPEN ZActiveFMSDir$ FOR RANDOM SHARED AS #2 LEN=ZFMSFileLength _
ELSE OPEN "R",2,ZActiveFMSDir$,ZFMSFileLength
IF ZErrCode > 0 THEN _
CALL QuickTPut1 ("Drive/path does not exist or bad name for FMS dir " + _
ZActiveFMSDir$) : _
END
LastRec = LOF(2)/ZFMSFileLength
CatLen = CalcCatLen
* ------[ first line different ]------
FIELD 2, ZFMSFileLength AS FMSRec$
GET #2,1
IF ZMenuIndex <> 6 THEN _ ' RM03259401
ZCDRom = INSTR(FMSRec$,"CDROM") > 0 : _ ' RM03229402
ZUseCDWorkDrive = ZCDRom ' RM03309401
IF OldFile THEN _ ' RM03259401
EXIT SUB ' RM03259401
PrevFMS$ = ZActiveFMSDir$ ' RM03259401
ZWasA = (LEFT$(FMSRec$,4) <> "\FMS")
ZUpInc = 2*(INSTR(FMSRec$," TOP ") = 0 OR ZWasA) + 1
ZDateOrderedFMS = ZWasA OR (INSTR(FMSRec$," NOSORT") = 0)
ZWasDF = INSTR(FMSRec$,"CH(")
ZChainedDir$ = ""
IF ZWasDF > 0 AND (NOT ZWasA) THEN _
WasX = INSTR(ZWasDF,FMSRec$,")") : _
IF WasX > 0 THEN _
ZChainedDir$ = MID$(FMSRec$,ZWasDF+3,WasX-ZWasDF-3) : _
CALL FindFile (ZChainedDir$,ZOK) : _
IF NOT ZOK THEN _
ZChainedDir$ = ""
IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
ZFileWaiting = ZFalse
ZPersonalDnld = ((ZActiveFMSDir$ = ZPersonalDir$) OR _
(INSTR(FMSRec$," PERS") > 0 AND NOT ZWasA))
ZFreeDnld = ZPersonalDnld
IF NOT ZWasA THEN _
IF INSTR(FMSRec$," NOFREE") > 0 THEN _
ZFreeDnld = ZFalse _
ELSE IF INSTR(FMSRec$," FREE") > 0 THEN _
ZFreeDnld = ZTrue
ZListOnly = ZPersonalDnld
IF NOT ZWasA THEN _
IF INSTR(FMSRec$," LISTONLY ") > 0 THEN _
ZListOnly = ZTrue
ZExtraDnldTime = -60 * ZPersonalDnld
IF NOT ZWasA THEN _
WasX = INSTR(FMSRec$," TIMEEXTRA ")
IF WasX > 0 THEN _
CALL CheckInt (MID$(FMSRec$,WasX+10)) : _
ZExtraDnldTime = ZTestedIntValue
END SUB
* REPLACING old line(s) by new
58220 ' $SUBTITLE: 'OpenOutW - sub to open output work file (2)'
' $PAGE
'
' NAME -- OpenOutW
'
' INPUTS -- PARAMETER MEANING
' ZFileName$ NAME OF FILE TO FIND
' ZShareIt USE DOS' "SHARE" FACILITIES
'
' OUTPUTS -- ZErrCode ERROR CODE
'
' PURPOSE -- To open RBBS-PC's "work" file (number 2) for output
'
* ------[ first line different ]------
SUB OpenOutW (FilName$) ' RM11159302
ON ERROR GOTO 65000
CLOSE 2
* REPLACING old line(s) by new
58260 ' $SUBTITLE: 'KillWork - subroutine to delete a "work" file'
' $PAGE
'
' NAME -- KillWork
'
' INPUTS -- PARAMETER MEANING
' FilName$ NAME OF FILE TO DELETE
'
' OUTPUTS -- ZErrCode ERROR CODE
'
' SUBROUTINE PURPOSE -- To delete a RBBS-PC "work" file
'
* ------[ first line different ]------
SUB KillWork (FilName$) ' RM11159302
ON ERROR GOTO 65000
CLOSE 2
ZErrCode = 0
CALL FindFile (FilName$,ZOK) ' RM01199401
IF NOT ZOK THEN _ ' RM01199401
EXIT SUB ' RM01199401
* REPLACING old line(s) by new
58280 ' $SUBTITLE: 'GetPassword - sub to read the "passwords" file'
' $PAGE
'
' NAME -- GetPassword
'
' PARAMETER MEANING
' INPUTS -- FILE # 2 OPENED
* ------[ first line different ]------
' NumFinds # of params in PASSWORDS file ' RM01159402
'
' OUTPUTS -- ZTempPassword$
' ZTempSecLevel
' ZTempTimeAllowed
' ZTempRegPeriod
' ZTempMaxPerDay
'
' PURPOSE -- To read the RBBS-PC "PASSWORDS" file
'
SUB GetPassword (NumFinds) ' RM11159302/RM01159402
ON ERROR GOTO 65000
ZErrCode = 0
ZPswdChngReqTime = 0 ' RM01159402
ZDropCarSecChng = 0 ' RM01159402
ZDropIncrement = 0 ' RM01159402
ZDoMailCheck = 0 ' RM01159402
ZTimeBankInActive = ZFalse ' RM01159402
ZAutoLogoffSecTime! = 20 ' RM01159402
ZAllowInternodeChat = ZFalse ' RM01159402
INPUT #2,ZTempPassword$, ZTempSecLevel, _
ZTempTimeAllowed, ZTempMaxPerDay, _
ZTempRegPeriod, ZTempExpiredSec, _
ZStartTime, ZEndTime, _
ZByteMethod, ZRatioRestrict#, _
ZInitialCredit#, ZTempTimeLock, _
ZTempMaxBank ' PSWD174/DROP174
IF NumFinds > 13 THEN _ ' RM01159402
INPUT #2,ZPswdChngReqTime ' PSWD174/DROP174
IF NumFinds > 14 THEN _ ' RM01159402
INPUT #2,ZDropCarSecChng ' DROP174/RM01159402
IF NumFinds > 15 THEN _ ' RM01159402
INPUT #2,ZDropIncrement ' DROP174/RM01159402
IF NumFinds > 16 THEN _ ' RM01159402
INPUT #2,ZDoMailCheck ' MAIL174/RM101901/RM01159402
IF NumFinds > 17 THEN _ ' RM01159402
INPUT #2,ZTimeBankInActive ' BB09039301/RM01159402
IF NumFinds > 18 THEN _ ' RM01159402
INPUT #2,ZAutoLogoffSecTime! ' RM09169301/RM01159402
IF NumFinds > 19 THEN _ ' RM01159402
INPUT #2,ZAllowInternodeChat ' RM11199301/RM01159402
IF NumFinds > 20 THEN _ ' RM02089401
INPUT #2,ZOnlyOneTimeLockPerDay ' RM02089401
IF ZTempMaxBank > 255 THEN _ ' RM030801
ZTempMaxBank = 255 ' RM030801
IF ZDropCarSecChng > 255 THEN _ ' DROP174/RM030801
ZDropCarSecChng = 255 ' DROP174/RM030801
IF ZAutoLogoffSecTime! > 99 THEN _ ' RM09169301
ZAutoLogoffSecTime! = 99 ' RM09169301
IF ZAutoLogoffSecTime! < 1 THEN _ ' RM09169301
ZAutoLogoffSecTime! = 1 ' RM09169301
IF ZAllowInternodeChat <> 0 THEN _ ' RM11199301
ZAllowInternodeChat = ZTrue ' RM11199301
IF ZTimeBankInActive <> 0 THEN _ ' RM12299301
ZTimeBankInActive = ZTrue ' RM12299301
IF ZOnlyOneTimeLockPerDay <> 0 THEN _ ' RM02089401
ZOnlyOneTimeLockPerDay = ZTrue ' RM02089401
* REPLACING old line(s) by new
58290 ' $SUBTITLE: 'ReadDir - subroutine to read the "DIR" files'
' $PAGE
'
' NAME -- ReadDir
'
' PARAMETER MEANING
' INPUTS -- FileNum WHICH # FILE TO READ
' WhichLine HOW MANY LINES TO ADVANCE
'
' OUTPUTS -- ZOutTxt$
'
' PURPOSE -- To read possible "DIR" files
'
* ------[ first line different ]------
SUB ReadDir (FileNum,WhichLine) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
FOR WasI = 1 TO WhichLine
LINE INPUT #FileNum,ZOutTxt$
Temp = INSTR(ZOutTxt$,"|") ' RM10079302
IF Temp > 0 THEN _ ' RM10079302
IF Temp = 1 THEN _ ' RM10079302
WasI = WasI - 1 _ ' RM10079302
ELSE _ ' RM10079302
ZOutTxt$ = MID$(ZOutTxt$,1,Temp - 1) : _ ' RM10079302
CALL Trim (ZOutTxt$) ' RM10079302
NEXT
* REPLACING old line(s) by new
58300 ' $SUBTITLE: 'ReadParmsX - subroutine to read parameter values'
' $PAGE
'
' NAME -- ReadParmsX
'
' PARAMETER MEANING
' INPUTS -- FILE # 2 OPENED
' NumParms # parameters to read
' WhichLine Which set of parms to return
' OUTPUTS -- ARA.TO.USER$ Array of string values
' FILE.SECURITY
' FilePswd$
'
' PURPOSE -- To read different values, where values are
' separated by a comma or carriage-return-line-feed.
'
* ------[ first line different ]------
SUB ReadParmsX (FilNum,AraToUse$(1),NumParms,WhichLine) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
FOR WasJ = 1 TO WhichLine
FOR WasI = 1 TO NumParms
INPUT #FilNum,AraToUse$(WasI)
NEXT
NEXT
* REPLACING old line(s) by new
58310 ' $SUBTITLE: 'ReadAny - subroutine to read file 2 into ZOutTxt$'
' $PAGE
'
' NAME -- ReadAny
'
' PARAMETER MEANING
' INPUTS -- FILE # 2 OPENED
'
' OUTPUTS -- ZOutTxt$
'
' PURPOSE -- To read file #2 into ZOutTxt$
'
* ------[ first line different ]------
SUB ReadAny ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
INPUT #2,ZOutTxt$
* REPLACING old line(s) by new
58320 ' $SUBTITLE: 'PrintWork - subroutine to print to file 2'
' $PAGE
'
' NAME -- PrintWork
'
' PARAMETER MEANING
' INPUTS -- FILE # 2 OPENED
' STRING TO WRITE OUT
'
' OUTPUTS -- NONE
'
' PURPOSE -- To print a string to file #2
'
* ------[ first line different ]------
SUB PrintWork (Strng$) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
PRINT #2,Strng$;
* INSERTING new line(s)
58327 ' $SUBTITLE: 'PrintWorkB - subroutine to print to file' ' BTCH174
' $PAGE ' BTCH174
' ' BTCH174
' NAME -- PrintWorkB ' BTCH174
' ' BTCH174
' PARAMETER MEANING ' BTCH174
' INPUTS -- FilNum FILE # OPENED ' BTCH174
' Strng$ STRING TO WRITE OUT ' BTCH174
' ' BTCH174
' OUTPUTS -- NONE ' BTCH174
' ' BTCH174
' PURPOSE -- To print a string to file opened for append ' BTCH174
' ' BTCH174
' WRITTEN BY: R. Molinelli ' BTCH174
' ' BTCH174
SUB PrintWorkB (FilNum,Strng$) ' BTCH174/RM11159302
ON ERROR GOTO 65000 ' BTCH174
ZErrCode = 0 ' BTCH174
PRINT #FilNum,Strng$ ' BTCH174
58328 END SUB ' BTCH174
* REPLACING old line(s) by new
58330 ' $SUBTITLE: 'GetWork - subroutine to read file 2'
' $PAGE
'
' NAME -- GetWork
'
' PARAMETER MEANING
' INPUTS -- RecLen Length of record
'
' OUTPUTS -- NONE
'
' PURPOSE -- To read a record from file #2
'
* ------[ first line different ]------
SUB GetWork (RecLen) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
FIELD 2, RecLen AS ZDnldRecord$
GET 2,(LOC(2)+1)
* REPLACING old line(s) by new
58340 ' $SUBTITLE: 'OpenWorkA - subroutine to open output work file (2)'
' $PAGE
'
' NAME -- OpenWorkA
'
' INPUTS -- PARAMETER MEANING
' FilName$ NAME OF FILE TO FIND
' ZShareIt USE DOS' "SHARE" FACILITIES
'
' OUTPUTS -- ZErrCode ERROR CODE
'
' PURPOSE -- To open RBBS-PC's "work" file (number 2) for appended output
'
* ------[ first line different ]------
SUB OpenWorkA (FilName$) ' RM11159302
ON ERROR GOTO 65000
CLOSE 2
ZErrCode = 0
IF ZShareIt THEN _
OPEN FilName$ FOR APPEND SHARED AS #2 _
ELSE OPEN "A",2,FilName$
* REPLACING old line(s) by new
58350 ' $SUBTITLE: 'PrintWorkA - subroutine to print to file 2 with CR'
' $PAGE
'
' NAME -- PrintWorkA
'
' PARAMETER MEANING
' INPUTS -- FILE # 2 OPENED
' STRING TO WRITE OUT
'
' OUTPUTS -- NONE
'
' PURPOSE -- To print a string to file #2 followed by a carriage return
'
* ------[ first line different ]------
SUB PrintWorkA (Strng$) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
PRINT #2,Strng$
* REPLACING old line(s) by new
58360 ' $SUBTITLE: 'CheckInt - subroutine to check input is an integer'
' $PAGE
'
' NAME -- CheckInt
'
' PARAMETER MEANING
' INPUTS -- Strng$ STRING TO VERIFY CAN BE AN INTEGER
'
' OUTPUTS -- ZErrCode = 0 MEANS IT IS AN INTEGER VALUE
' <> 0 MEANS IT IS NOT AN INTEGER VALUE
' ZTestedIntValue Integer value of expression
'
' PURPOSE -- To validate that a string represents an integer
'
* ------[ first line different ]------
SUB CheckInt (Strng$) ' RM11159302
ON ERROR GOTO 65000
ZErrCode = 0
WasX$ = Strng$
CALL Trim (WasX$)
ZTestedIntValue = VAL(LEFT$(WasX$,INSTR(WasX$+" "," ")-1))
* REPLACING old line(s) by new
58365 END SUB
* ------[ first line different ]------
' ' MENU174
* INSERTING new line(s)
58370 ' $SUBTITLE: 'GetMenuNew - sub to read the "MENUNEW.DEF" File' ' MENU174
' $PAGE ' MENU174
' ' MENU174
' NAME -- GetMenuNew ' MENU174
' ' MENU174
' PARAMETER MEANING ' MENU174
' INPUTS -- FILE # 2 OPENED ' MENU174
' ' MENU174
' OUTPUTS -- ZMenuNewDate$ Date Sysop Last Online ' MENU174
' ZMenuNewTime$ Time Sysop Last Online ' MENU174
' ZMenuNewUpld New Uploads Since Sysop on ' MENU174
' ZMenuNewUsers New Users Since Sysop on ' MENU174
' ZMenuNewSysop New Sysop Mail Waiting ' MENU174
' ZMenuNewCalls Calls received since last on ' MENU174
' ' MENU174
' PURPOSE -- To read the RBBS-PC "MENUx.DEF" file ' MENU174/RM08079301
' ' MENU174
SUB GetMenuNew ' MENU174
Found = ZFalse
FilName$ = ZNodeWorkDrvPath$ + "MNEW" + ZNodeID$ + ".DEF"
CALL FindFile (FilName$,Found)
IF Found THEN
CALL OpenWork (2,FilName$)
WHILE NOT EOF(2)
LINE INPUT #2,ZMenuNewDate$
LINE INPUT #2,ZMenuNewTime$
LINE INPUT #2,Temp$
ZMenuNewUpld = VAL(Temp$)
LINE INPUT #2,Temp$
ZMenuNewUsers = VAL(Temp$)
LINE INPUT #2,Temp$
ZMenuNewCalls = VAL(Temp$)
LINE INPUT #2,Temp$
ZMenuNewSysop = VAL(Temp$) ' MENU174/RM08079301
WEND
CLOSE 2
END IF
58375 END SUB ' MENU174
* REPLACING old line(s) by new
59680 ' $SUBTITLE: 'RBBSPlay -- subroutine to play music'
' $PAGE
'
' NAME -- RBBSPlay
'
' INPUTS -- PARAMETER MEANING
' Strng$ STRING TO PLAY
'
' OUTPUTS --
'
' PURPOSE -- Play music. Skip if get an error.
'
* ------[ first line different ]------
SUB RBBSPlay (StringToPlay$) ' RM11159302
PLAY StringToPlay$
ZErrCode = 0
END SUB
* REPLACING old line(s) by new
59790 ' $SUBTITLE: 'FindFile -- subroutine to find a file'
' $PAGE
'
' NAME -- FindFile
'
' INPUTS -- PARAMETER MENANING
' FilName$ NAME OF FILE TO LOOK FOR
' FExists WHETHER FILE EXISTS
'
' OUTPUTS -- RETURNED.VALUE VALUE RETURNED
' TRUE = FILE EXISTS
' TRUE = FILE DOES NOT EXIST
'
' PURPOSE -- Determine whether passed file FilName$ exists
' Unlike, FindIt, this routine does not open any
' file and, hence, does not create one in determining
' whether a file exists.
'
* ------[ first line different ]------
SUB FindFile (FilName$,FExists) ' RM11159302
CALL BadFileChar (FilName$,FExists)
* REPLACING old line(s) by new
59791 IF FExists THEN _
IOErrorCount = 0 : _
CALL RBBSFind (FilName$,WasZ,WasY,WasM,WasD) : _
FExists = (WasZ = 0)
END SUB
* ------[ first line different ]------
' ' PSWD174
* INSERTING new line(s)
63801 '$SUBTITLE: 'ExpiredPswd -- Subroutine to force change of password' ' PSWD174
' $PAGE
'
' NAME: -- ExpiredPswd
'
' PURPOSE: -- Force a user to change his/her password every X times
' logged on to the system.
'
' WRITTEN BY: Richie Molinelli on 03-14-92
'
SUB ExpiredPswd ' PSWD174/RM11159302
IF ZPswdChngReqTime = 0 THEN _ ' PSWD174
EXIT SUB ' PSWD174
IF ZTimesLoggedOn MOD ZPswdChngReqTime <> 0 THEN _ ' PSWD174
EXIT SUB ' PSWD174
CALL CmdStackPushPop (1) ' RM11239301
ZLastIndex = 0 ' RM11239301
63802 CALL SkipLine (1) ' PSWD174
CALL QuickTPut1 ("Your password has expired...you must change your password.") ' PSWD174
Prompt$ = "Enter a New Password" ' PSWD174
CALL NewPassword (Prompt$,ZTrue) ' PSWD174
CALL AllCaps (ZOldPassword$) ' PSWD174
IF ZWasZ$ = ZOldPassword$ THEN _ ' PSWD174
CALL SkipLine (1) : _ ' PSWD174
CALL QuickTPut1 ("You CANNOT reuse your OLD PASSWORD!") : _ ' PSWD174
CALL SkipLine (1) : _ ' PSWD174
GOTO 63802 ' PSWD174
ZOutTxt$ = "Re-enter your New Password" ' PSWD174
ZHidden = ZTrue ' PSWD174
ZSubParm = 1 ' PSWD174
CALL TGet ' PSWD174
CALL AllCaps (ZUserIn$) ' PSWD174
IF ZWasZ$ <> ZUserIn$ THEN _ ' PSWD174
ZOutTxt$ = "Passwords do not match" : _ ' PSWD174
ZSubParm = 1 : _ ' PSWD174
CALL TPut : _ ' PSWD174
GOTO 63802 ' PSWD174
CALL UpdtCalr ("Expired Password! " + Time$,2) ' PSWD174
ZSubParm = 6 ' PSWD174
CALL FileLock ' PSWD174
CALL OpenUser (HighestUserRecord) ' PSWD174
GET 5,ZUserFileIndex ' PSWD174
CALL AllCaps (ZUserIn$) ' PSWD174
LSET ZPswd$ = ZUserIn$ ' PSWD174
IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _ ' PSWD174
PUT 5,ZUserFileIndex ' PSWD174
ZSubParm = 8 ' PSWD174
CALL FileLock ' PSWD174
ZOutTxt$ = "Password Changed." ' PSWD174
ZStopInterrupts = ZTrue ' PSWD174
ZSubParm = 1 ' PSWD174
CALL TPut ' PSWD174
CALL SkipLine (1) ' PSWD174
CALL UpdtCalr ("New Password " + ZUserIn$(1),2) ' PSWD174
CALL DelayTime (2) ' PSWD174
CALL CmdStackPushPop (2) ' RM11239301
END SUB ' PSWD174
' ' DROP174
63901 '$SUBTITLE: 'DropCarrier -- Subroutine to change users sec level' ' DROP174
' $PAGE ' DROP174
' ' DROP174
' NAME: DropCarrier ' DROP174
' ' DROP174
' PURPOSE: To change a users security level who is dropping carrier ' DROP174
' excessively ' DROP174
' ' DROP174
' INPUTS: ZDropCarSecChng ' DROP174
' ' DROP174
' WRITTEN BY: Richie Molinelli - 7/12/92 ' DROP174
' ' DROP174
SUB DropCarrier ' DROP174/RM11159302
63902 IF ZDropCarSecChng = 0 THEN _ ' DROP174
EXIT SUB ' DROP174
IF ZTransferFunction = 3 THEN _ ' RM03269401
EXIT SUB ' RM03269401
IF ZDropTimes > ZDropCarSecChng THEN _ ' DROP174
ZDropTimes = ZDropCarSecChng - 1 ' DROP174
IF ZDropChange = ZFalse THEN ' DROP174
ZDropTimes = ZDropTimes + 1 ' DROP174
IF ZDropTimes MOD ZDropCarSecChng <> 0 THEN ' DROP174
ZGlobalDropTimes = ZDropTimes ' DROP174
ZDropChange = ZTrue ' DROP174
EXIT SUB ' DROP174
END IF ' DROP174
ZUserSecLevel = ZUserSecLevel - ZDropIncrement ' DROP174
ZSubParm = 6 ' DROP174
CALL FileLock ' DROP174
CALL OpenUser (HighestUserRecord) ' DROP174
GET 5,ZUserFileIndex ' DROP174
LSET ZSecLevel$ = MKI$(ZUserSecLevel) ' DROP174
IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _ ' DROP174
PUT 5,ZUserFileIndex ' DROP174
ZSubParm = 8 ' DROP174
CALL FileLock ' DROP174
ZDropChange = ZTrue ' DROP174
CALL UpdtCalr ("Security reset for Dropped Carriers!",2) ' DROP174
ZDropTimes = 0 ' DROP174
ZGlobalDropTimes = ZDropTimes ' DROP174
ZSubParm = -1 ' DROP174
END IF ' DROP174
END SUB ' DROP174
' ' SIN174
63910 '$SUBTITLE: 'SysInfo -- Subroutine to get DOS/DV version' ' SIN174
' $PAGE ' SIN174
' ' SIN174
' NAME: SysInfo ' SIN174
' ' SIN174
' PURPOSE: To get DOS or OS2 version RBBS is running under and store ' SIN174/RM042401
' it for display. Also checks for DESQview and, if found, ' SIN174
' gets version and stores it for display. ' SIN174
' ' SIN174
' INPUTS: ' SIN174
' ' SIN174
' OUTPUTS: ZDOSversion$ - version of DOS ' SIN174
' ZDVversion$ - version of DESQview ' SIN174
' ZOS2version$ - version of OS2 ' SIN174
' ' SIN174
' WRITTEN BY: Richie Molinelli - 1/30/93 ' SIN174
' ' SIN174
SUB SysInfo ' SIN174/RM11159302
ZDOSversion$ = "" ' SIN174
ZOS2version$ = "" ' SIN174/RM042401
ZDVversion$ = "" ' SIN174
CALL RBBSDOS (Maj,Min) ' SIN174
IF Maj > 9.99 THEN _ ' SIN174/RM042401
Maj$ = STR$(Maj/10) _ ' SIN174/RM042401
ELSE _ ' SIN174/RM042401
Maj$ = STR$(Maj) ' SIN174
Min$ = STR$(Min) ' SIN174
CALL TRIM (Maj$) ' SIN174
CALL TRIM (Min$) ' SIN174
IF Maj > 9.99 THEN _ ' SIN174/RM042401
ZOS2version$ = Maj$ + "." + Min$ : _ ' SIN174/RM042401/RM11099301
ZNetworkType = 7 _ ' RM11099301
ELSE _ ' SIN174/RM042401
ZDOSversion$ = Maj$ + "." + Min$ ' SIN174
CALL RBBSDESQ (Maj,Min) ' SIN174
IF Maj > 0 THEN _ ' SIN174
Maj$ = STR$(Maj) : _ ' SIN174
Min$ = STR$(Min) : _ ' SIN174
CALL TRIM (Maj$) : _ ' SIN174
CALL TRIM (Min$) : _ ' SIN174
IF ZNetworkType <> 7 THEN _ ' RM10069302/RM10089301
ZDVversion$ = Maj$ + "." + Min$ : _ ' SIN174/RM10089301
PRINT "DESQview detected!" : _ ' RM10019301/RM10089301
ZNetworkType = 4 ' RM10069302
CALL CKSHARE(Min) ' RM10019301
IF Min > 0 THEN _ ' RM10019301
PRINT "SHARE detected!" : _ ' RM10019301
IF ZNetworkType <> 4 THEN _ ' RM10069302
ZShareIt = ZTrue ' RM10019301
END SUB ' SIN174
' ' LOFF174/RM07249301
63930 '$SUBTITLE: 'GetLogoff -- Subroutine to get Logoff command' ' LOFF174/RM07249301
' $PAGE ' LOFF174/RM07249301
' ' LOFF174/RM07249301
' NAME: GetLogoff ' LOFF174/RM07249301
' ' LOFF174/RM07249301
' PURPOSE: To get LogOff command options from user. ' LOFF174/RM07249301
' ' LOFF174/RM07249301
' INPUTS: ' LOFF174/RM07249301
' ' LOFF174/RM07249301
' OUTPUTS: Wherego - what user wants to do ' LOFF174/RM07249301
' ' LOFF174/RM07249301
' WRITTEN BY: Richie Molinelli - 7/24/93 ' LOFF174/RM07249301
' Based on original code by unknown author ' LOFF174/RM07249301
' ' LOFF174/RM07249301
SUB GetLogoff (Wherego) ' LOFF174/RM07249301/RM11159302
InvalidOptSave$ = ZInvalidOpts$ ' RM01289401
ZInvalidOpts$ = "" ' RM01289401
IF ZMaxBank < 1 OR ZTimeBankInActive THEN _ ' RM01289401
ZInvalidOpts$ = ZInvalidOpts$ + "Bb" ' RM01289401
IF ZNetConference THEN _ ' RM01289401
ZInvalidOpts$ = ZInvalidOpts$ + "Cc" ' RM01289401
63935 ZFileName$ = ZHelpPath$ + "LOGOFF.MNU" ' RM01279401
CALL Graphic (ZFileName$) ' RM01279401
IF ZOK THEN _ ' RM01279401
ZDeleteInvalid = ZTrue : _ ' RM01289401
CALL BufFile (ZFileName$,WasX) : _ ' RM01279401
ZDeleteInvalid = ZFalse : _ ' RM01289401
GOTO 63941 ' RM01279401
63940 CALL SkipLine (1) ' LOFF174
IF ZMaxBank < 1 OR ZTimeBankInActive THEN _ ' BANKCK/RM11169301
ZOutTxt$ = ZFG7$ + " A" + ZFG5$ + ")bort Logoff " + ZCrLF$ _ ' BANKCK
ELSE ZOutTxt$ = ZFG7$ + " A" + ZFG5$ + ")bort Logoff " + ZCrLF$ + _ ' BANKCK
ZFG7$ + " B" + ZFG5$ + ")ank Time " + ZCrLF$ ' LOFF174
IF NOT ZNetConference THEN _ ' LOFF174/RM07249301
ZOutTxt$ = ZOutTxt$ + ZFG7$ + " C" + ZFG5$ + ")omment to SysOp and Logoff " + _ ' LOFF174
ZCrLF$ + ZFG7$ + " G" + ZFG5$ + ")o ahead, log me off now " + ZCrLF$ _ ' LOFF174
ELSE _
ZOutTxt$ = ZOutTxt$ + ZFG7$ + " G" + ZFG5$ + ")o ahead, log me off now " + ZCrLF$ ' ' LOFF174/RM07249301
CALL QuickTPut1 (ZOutTxt$ + ZEmphasizeOff$) ' LOFF174
63941 CALL SkipLine (1) ' LOFF174/RM01279401
IF ZMaxBank > 0 AND ZTimeBankInActive = 0 THEN _ ' LOFF174/RM07249301/RM11169301
ZOutTxt$ = ZFG5$ + " Enter Choice (" + ZFG7$ + "A,B," _ ' LOFF174/RM07249301
ELSE _ ' LOFF174/RM07249301
ZOutTxt$ = ZFG5$ + " Enter Choice (" + ZFG7$ + "A," ' LOFF174/RM07249301
IF NOT ZNetConference THEN _ ' LOFF174/RM07249301
ZOutTxt$ = ZOutTxt$ + ZFG7$ + "C,[G]" + ZFG5$ + ")" + _ ' LOFF174/RM07249301
ZEmphasizeOff$ _ ' LOFF174/RM07249301
ELSE _ ' LOFF174/RM07249301
ZOutTxt$ = ZOutTxt$ + ZFG5$ + "[G]" + ZFG5$ + ")" + ZEmphasizeOff$ ' LOFF174/RM07249301
ZSubParm = 1 ' LOFF174
ZTurboKey = -ZTurboKeyUser ' LOFF174/RM07249301
CALL PopCmdStack ' LOFF174/RM07249301
IF ZSubParm < 0 THEN _ ' LOFF174/RM07249301
EXIT SUB ' LOFF174/RM07249301
CALL AllCaps (ZUserIn$) ' LOFF174
WasX = INSTR("ABCGY",ZUserIn$) ' LOFF174/DGS092001-DS
IF ZUserIn$ = "" THEN _ ' LOFF174/RM07249301
GOTO 63948 ' LOFF174/RM07249301
IF WasX = 0 THEN _ ' LOFF174/RM07249301
GOTO 63948 ' LOFF174
ON WasX GOTO 63942,63944,63946,63948,63948 ' LOFF174/DGS092001-DS
63942 Wherego = 1 ' LOFF174/RM07249301
GOTO 63950 ' LOFF174/RM07249301
63944 IF ZMaxBank < 1 THEN _ ' LOFF174/RM07249301
CALL SkipLine (1) : _ ' LOFF174/RM07249301
CALL QuickTPut1 (ZFG6$ + "You do not have time bank privileges!" + _
ZEmphasizeOff$) : _ ' LOFF174/RM07249301
GOTO 63940 ' LOFF174/RM07249301
IF ZTimeBankInActive = 1 THEN _ ' RM11169301
CALL SkipLine (1) : _ ' RM11169301
CALL QuickTPut1 (ZFG6$ + "Time Bank NOT Available!" + ZEmphasizeOff$) : _ ' RM11169301
GOTO 63940 ' RM11169301
Wherego = 2 ' LOFF174/RM07249301
GOTO 63950 ' LOFF174/RM07249301
63946 Wherego = 3 ' LOFF174/RM07249301
GOTO 63950 ' LOFF174/RM07249301
63948 Wherego = 4 ' LOFF174/RM07249301
GOTO 63950 ' LOFF174/RM07249301
63950 ZInvalidOpts$ = InvalidOptSave$ ' RM01289401
END SUB ' LOFF174/RM07249301
' ' ME174/RM08039302
63955 '$SUBTITLE: 'MessageExport -- subroutine to export messages to file' ' ME174/RM08039302
' $PAGE ' ME174/RM08039302
' ' ME174/RM08039302
' NAME: MessageExport ' ME174/RM08039302
' ' ME174/RM08039302
' PURPOSE: To allow SysOp to export messages to text file ' ME174/RM08039302
' ' ME174/RM08039302
' INPUTS: ' ME174/RM08039302
' ' ME174/RM08039302
' OUTPUTS: ' ME174/RM08039302
' ' ME174/RM08039302
' WRITTEN BY: Richie Molinelli - 8/3/93 ' ME174/RM08039302
' ' ME174/RM08039302
SUB MessageExport (EMsgRec$, ESent$, Year$, MsgSec, MsgTo$, MsgFrom$, Subject$) ' ME174/RM08039302/RM11159302
FilNum = FREEFILE ' RM03319401
CALL OpenWorkB (FilNum,"NODE" + ZNodeID$ + ".TXT") ' ME174/RM08039302/RM03319401
Temp$ = " Security:" + STR$(MsgSec) ' ME174/RM08039302
CALL PrintWorkB (FilNum," Msg #: " + EMsgRec$ + Temp$ + _ ' ME174/RM08039302/RM03319401
SPACE$(24 - LEN(Temp$)) + ZConfName$) ' ME174/RM08039302
CALL PrintWorkB (FilNum," From: " + MsgFrom$ + " Sent: " + ESent$) ' ME174/RM08039302/RM03319401
Temp$ = Year$ ' ME174/RM08039302
IF LEFT$(Temp$,2) <> " R" THEN _ ' ME174/RM08039302
Temp$ = " Rcvd: " + Year$ ' ME174/RM08039302
CALL PrintWorkB (FilNum," To: " + MsgTo$ + " " + Temp$) ' ME174/RM08039302/RM03319401
CALL PrintWorkB (FilNum," Re: " + Subject$) ' ME174/RM08039302/RM03319401
CALL PrintWorkB (FilNum," ") ' ME174/RM08039302/RM03319401
FOR I = 1 TO ZLinesInMsg ' ME174/RM08039302
CALL PrintWorkB (FilNum,ZOutTxt$(I)) ' ME174/RM08039302/RM03319401
NEXT I ' ME174/RM08039302
CALL PrintWorkB (FilNum," ") ' ME174/RM08039302/RM03319401
CLOSE FilNum ' ME174/RM08039302/RM03319401
END SUB ' ME174/RM08039302
'
' $SUBTITLE: 'Error Handling for separately compiled subroutines'
' $PAGE
'
'
' Error handling for the separately compiled subroutines of RBBS-PC
'
'
* REPLACING old line(s) by new
65000 IF ZDebug THEN _
ZOutTxt$ = "RBBSSUB1 DEBUG Error Trap Entry ERL=" + _
STR$(ERL) + _
" ERR=" + _
STR$(ERR) : _
IF ZPrinter THEN _
CALL Printit(ZOutTxt$) _
ELSE CALL LPrnt(ZOutTxt$,1)
ZErrCode = ERR
'
' SetCall
'
IF ERL = 108 THEN _
CALL PScrn ("Unable to create callers log " + ZCallersFile$) : _
SYSTEM
IF ERL = 110 THEN _
RESUME NEXT
'
' OPEN CONFIG FILE
'
IF ERL => 117 AND ERL <= 119 THEN _
RESUME NEXT
'
' OPEN COM PORT ERROR HANDLING
'
IF ERL = 200 THEN _
CLS : _
CALL PScrn (ZComPort$ + " does not exist/not responding- Error" + STR$(ERR)) : _
STOP
'
' GetCom ERROR HANDLING
'
IF ERL = 1420 AND ERR = 57 THEN _
RESUME NEXT
IF ERL = 1420 AND ERR = 69 THEN _
ZSubParm = -1 :_
RESUME NEXT
'
' OPENRESEQ ERROR HANDLING
'
IF ERL = 1480 OR ERL = 1487 THEN _
ZErrCode = ERR : _
RESUME NEXT
* ------[ first line different ]------
' ' RM03249401
' CopyFile ERROR HANDLING ' RM03249401
' ' RM03249401
IF ERL = 1454 AND ERR => 75 AND ERR <= 76 THEN _ ' RM03249401
ZErrCode = ERR : _ ' RM03249401
RESUME NEXT ' RM03249401
'
' OpenUser ERROR HANDLING
'
IF ERL = 9400 AND ERR = 75 AND ZShareIt THEN _
CALL DelayTime (30) : _
RESUME
'
' FindUser ERROR HANDLING
'
IF ERL = 12610 OR ERL = 12600 THEN _
RESUME NEXT
'
' UpdtCalr ERROR HANDLING
'
IF ERL = 13663 THEN _
RESUME NEXT
IF ERL = 13672 AND ERR = 61 THEN _
CALL QuickTPut1 ("Disk Full") : _
IF ZDiskFullGoOffline THEN _
GOTO 65010 _
ELSE RESUME NEXT
IF ERL = 13672 THEN _
ZCallersFileIndex! = ZCallersFileIndex! - 1 : _
RESUME NEXT
'
' ZPrinter ERROR HANDLING
'
IF ERL = 13674 THEN _
ZPrinter = ZFalse : _
RESUME
'
' ChangeDir ERROR HANDLING
'
IF ERL = 20103 THEN _
ZOK = ZFalse : _
RESUME NEXT
'
' FindIt ERROR HANDLING
'
IF ERL = 20221 THEN _
RESUME NEXT
IF ERL = 20223 AND ZErrCode = 58 THEN _
ZErrCode = 64 : _
ZOK = ZFalse : _
RESUME NEXT
IF ERL = 20223 AND ZErrCode = 76 THEN _
CALL LPrnt("Bad path. File name is " + FilName$,1) : _
ZErrCode = 76 : _
ZOK = ZFalse : _
RESUME NEXT
IF ERL => 20221 AND ERL <= 20223 AND ZErrCode = 70 _
AND (ZNetworkType = 6 OR ZNetworkType = 7) THEN _ ' RM01109402
ZErrCode = 0 : _
RESUME NEXT
IF ERL => 20221 AND ERL <= 20223 THEN _
RESUME
'
' FlushCom ERROR HANDLING
'
IF ERL = 20311 AND ERR = 57 THEN _
RESUME NEXT
IF ERL = 20311 AND ERR = 69 THEN _
ZAbort = ZTrue : _
ZSubParm = -1 : _
RESUME NEXT
'
' NetBIOS ERROR HANDLING
'
IF ERL => 29900 AND ERL <= 29920 THEN _
RESUME NEXT
'
' UpdateC ERROR HANDLING
'
IF ERL => 43050 AND ERL <= 43060 AND ERR = 61 THEN _
ZOutTxt$ = "* Disk full - terminating *" : _
ZSubParm =2 : _
CALL TPut : _
IF ZDiskFullGoOffline THEN _
GOTO 65010 _
ELSE SYSTEM
'
' CheckInt ERROR HANDLING
'
IF (ERL = 59652 OR ERL = 59727) AND ERR = 24 THEN _
ZNotCTS = ZTrue : _
CALL Line25 : _
ZErrCode = 0 : _
RESUME
IF ERL => 52000 AND ERL <= 59725 THEN _
RESUME NEXT
'
' FindFile ERROR HANDLING
'
IF ERL = 59791 THEN _
IF ERR <> 57 THEN _
RESUME NEXT _
ELSE IF ERR = 57 THEN _
CALL DelayTime (1) : _
CALL UpdtCalr ("SLOW I/O ERROR",1) : _
IOErrorCount = IOErrorCount + 1 : _
IF IOErrorCount < 11 THEN _
RESUME
'
' CATCH ALL OTHER ERRORS
'
ZOutTxt$ = "RBBS-SUB1 Untrapped Error" + _
STR$(ERR) + _
" in line" + _
STR$(ERL)
CALL QuickTPut1 (ZOutTxt$)
CALL UpdtCalr (ZOutTxt$,2)
RESUME NEXT
' SHARED ROUTINE FOR GOING OFF LINE WHEN DISK FULL