home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
CNAV_401.ZIP
/
CNAV.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-10-20
|
37KB
|
1,770 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER017
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String TSTRING018(18)
String STRING019
String TSTRING020(20)
String STRING021
String TSTRING022(2)
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String STRING046
String STRING047
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String TSTRING053(30)
String STRING054
String STRING055
String STRING056
String STRING057
String STRING058
String STRING059
String TSTRING060(18)
String STRING061
String STRING062
String TSTRING063(200)
String STRING064
String STRING065
String STRING066
String STRING067
String STRING068
String STRING069
String STRING070
String STRING071
String STRING072
String STRING073
String STRING074
String STRING075
String STRING076
String STRING077
String STRING078
String STRING079
String STRING080
String STRING081
String STRING082
String STRING085
String STRING086
String STRING087
String STRING088
String STRING089
Time TIME001
BigStr TBIGSTR001(2)
BigStr BIGSTR002
Declare Function FUNCTION001(Integer INTEGER015, Integer INTEGER016) Boolean
Declare Function FUNCTION002() Boolean
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
Declare Procedure PROC007()
Declare Procedure PROC008()
Declare Procedure PROC009()
Declare Procedure PROC010()
Declare Procedure PROC011()
Declare Procedure PROC012()
Declare Procedure PROC013()
Declare Procedure PROC014()
Declare Procedure PROC015()
Declare Procedure PROC016()
Declare Procedure PROC017(String STRING083)
Declare Procedure PROC018()
Declare Procedure PROC019()
Declare Procedure PROC020(String STRING084)
Declare Procedure PROC021()
Declare Procedure PROC022()
Declare Procedure PROC023()
;------------------------------------------------------------------------------
STRING002 = Chr(67) + Chr(78) + Chr(65) + Chr(86)
STRING003 = Chr(118) + Chr(52) + Chr(46) + Chr(48) + Chr(49)
STRING001 = Chr(67) + Chr(117) + Chr(115) + Chr(116) + Chr(111) + Chr(109) + Space(1) + Chr(78) + Chr(111) + Chr(100) + Chr(101) + Space(1) + Chr(65) + Chr(99) + Chr(116) + Chr(105) + Chr(118) + Chr(105) + Chr(116) + Chr(121) + Space(1) + Chr(86) + Chr(105) + Chr(101) + Chr(119) + Chr(101) + Chr(114) + Space(1) + Chr(80) + Chr(80) + Chr(69)
STRING004 = PPEPath() + STRING002 + "." + "O" + "P" + "T"
STRING005 = PPEPath() + STRING002 + "." + "E" + "X" + "C"
STRING006 = PPEPath() + STRING002 + "." + "C" + "O" + "L"
STRING007 = PPEPath() + STRING002 + "." + "D" + "A" + "T"
STRING008 = PPEPath() + STRING002 + "." + "A" + "C" + "T"
STRING009 = PPEPath() + STRING002 + "." + "H" + "L" + "P"
STRING010 = PPEPath() + STRING002 + "." + "S" + "T" + "A"
STRING011 = PPEPath() + STRING002 + "_" + "A" + "E" + "X" + "."
If (!Exist(STRING007)) PROC008()
STRING074 = 1
STRING037 = 0
BOOLEAN003 = 0
INTEGER008 = 255
INTEGER007 = 0
INTEGER009 = 0
STRING030 = 0
STRING027 = 0
STRING067 = 0
BOOLEAN001 = 1
BOOLEAN002 = 1
RdUNet PcbNode()
STRING065 = UN_Stat()
WrUNet PcbNode(), "D", UN_Name(), UN_City(), UN_Name() + " - " + STRING002, ""
INTEGER011 = ReadLine(STRING007, 1)
FClose -1
STRING015 = ReadLine("PCBOARD.DAT", 29)
FClose -1
PROC004()
PROC007()
If (Exist(STRING008)) PROC003()
If (Exist(STRING006)) PROC005()
If (Exist(STRING004)) PROC006()
If (Exist(STRING005)) PROC012()
STRING021 = LTrim(STRING021 + " ", " ") + TokenStr()
:LABEL001
PROC002()
Tokenize STRING021
GetToken TSTRING022(1)
GetToken TSTRING022(2)
INTEGER010 = 4
If (TSTRING022(1) <> "") Then
PROC017(TSTRING022(1))
Else
PROC020("/DEF=V")
Endif
If (INTEGER001 == 1) Then
INTEGER001 = ""
Goto LABEL001
Endif
Select Case (INTEGER010)
Case 1
STRING046 = "T" + "i" + "n" + "y"
Case 3
STRING046 = "B" + "r" + "i" + "e" + "f"
Case 5
STRING046 = "(" + String(Time()) + ") A" + "c" + "t" + "i" + "v" + "e"
StartDisp 1
Case Else
STRING046 = "V" + "e" + "r" + "b" + "o" + "s" + "e"
End Select
Log "
" + STRING002 + " " + STRING003 + "
[" + STRING046 + " " + "View" + "]", 0
:LABEL002
If ((INTEGER010 == 4) || (INTEGER010 == 5)) Then
Cls
Else
Newline
Endif
STRING066 = STRING074
For INTEGER003 = 1 To INTEGER011
RdUNet INTEGER003
If (Abort()) Then
If (INTEGER010 == 5) Then
ResetDisp
Goto LABEL002
Goto LABEL003
Endif
End
Endif
:LABEL003
PROC014()
If (STRING028 == STRING074) Continue
If ((STRING059 == STRING074) && ((INTEGER010 == 3) || (INTEGER010 == 4))) Then
STRING049 = ReadLine(STRING007, String(INTEGER003) + 1)
FClose -1
PROC001()
STRING070 = STRING054 + "PCBOARD" + ".S" + "Y" + "S"
PROC018()
If (U_RecNum(UN_Name()) <> -1) Then
If (BOOLEAN003) Goto LABEL004
FOpen 6, STRING015, 0, 0
FSeek 6, (U_RecNum(UN_Name()) - 1) * 400 + 107, 0
FRead 6, STRING079, 1
FClose 6
STRING079 = Right(Asc(STRING079), 3)
Goto LABEL005
:LABEL004
GetAltUser U_RecNum(UN_Name())
STRING079 = Right(String(U_Sec), 3)
Endif
:LABEL005
Else
STRING051 = "[Time]"
STRING050 = "Connect: [Speed/Port]"
Endif
STRING067 = 1
Select Case (INTEGER010)
Case 1
If (STRING066 == STRING074) Then
Print TSTRING020(20) + "═"
Gosub LABEL007
PrintLn "═" + TSTRING020(0)
STRING066 = STRING037
Endif
PrintLn TSTRING020(20) + "- " + TSTRING020(1) + Left("Node #", 7 - Len(String(INTEGER003))) + String(INTEGER003) + TSTRING020(20) + " - " + TSTRING020(3) + STRING076 + Space(25 - Len(STRING076)) + TSTRING020(20) + "- " + TSTRING020(5) + STRING078 + Space(38 - Len(StripAtx(STRING078))) + TSTRING020(20) + " -" + TSTRING020(0)
Case 3
If (STRING066 == STRING074) Then
Gosub LABEL008
STRING066 = STRING037
Else
Gosub LABEL006
Endif
Gosub LABEL010
Case 5
If (STRING066 == STRING074) Then
Gosub LABEL008
STRING066 = STRING037
Else
If (INTEGER011 <= 9) Gosub LABEL006
Endif
TSTRING060(INTEGER003) = GetY()
PrintLn TSTRING020(20) + "│ " + TSTRING020(1) + Left("Node #", 7 - Len(String(INTEGER003))) + String(INTEGER003) + TSTRING020(20) + " │ " + TSTRING020(3) + STRING076 + Space(25 - Len(STRING076)) + TSTRING020(20) + "│ " + TSTRING020(5) + STRING078 + Space(38 - Len(StripAtx(STRING078))) + TSTRING020(20) + " │" + TSTRING020(0)
Case Else
Gosub LABEL008
Gosub LABEL010
Gosub LABEL009
End Select
If ((INTEGER010 == 4) && (STRING027 == STRING074)) Then
STRING030 = STRING037
Gosub LABEL012
Endif
If ((INTEGER010 == 4) && (STRING030 == STRING074)) Gosub LABEL016
Next
Select Case (INTEGER010)
Case 3
If (STRING067 == STRING037) Then
Gosub LABEL008
Gosub LABEL011
Endif
Gosub LABEL009
PrintLn TSTRING020(20) + " └ " + "[" + "M" + "S" + "] " + STRING002 + " " + STRING003 + " / " + STRING024 + " ┘ " + TSTRING020(0)
Case 1
If (STRING067 == STRING037) Then
Print TSTRING020(20) + "═"
Gosub LABEL007
PrintLn "═" + TSTRING020(0)
PrintLn TSTRING020(20) + "-" + TSTRING020(1) + " Node ?" + TSTRING020(20) + " - " + TSTRING020(3) + "<User Name> " + TSTRING020(20) + "- " + TSTRING020(5) + "No Users Found to Display! - Aborting!" + TSTRING020(20) + " -" + TSTRING020(0)
Endif
Print TSTRING020(20) + "═"
Gosub LABEL007
PrintLn "═" + TSTRING020(0)
PrintLn TSTRING020(20) + " └ " + "[" + "M" + "S" + "] " + STRING002 + " " + STRING003 + " / " + STRING024 + " ┘ " + TSTRING020(0)
Case 5
If (STRING067 == STRING037) Then
Gosub LABEL008
Gosub LABEL011
Endif
Gosub LABEL009
If (STRING067 == STRING037) Then
Newline
End
Endif
Goto LABEL025
Case Else
If (STRING067 == STRING037) Then
Gosub LABEL008
Gosub LABEL011
Gosub LABEL009
Endif
Print TSTRING020(20) + "╒"
Gosub LABEL007
PrintLn "╕" + TSTRING020(0)
PrintLn TSTRING020(20) + "└─ " + "[" + "M" + "S" + "] " + STRING002 + " " + STRING003 + ": " + STRING001 + " ───────────────[" + STRING024 + "]─┘" + TSTRING020(0)
End Select
DefColor
PROC022()
End
STRING081 = "If you have suggestions or requests for permanent or optional features,"
STRING082 = "please send mail to <mslasher@io.org>. - Rob Hunter / CNAV (c)1993-94 "
:LABEL006
PrintLn TSTRING020(20) + "├─────────┼──────────────────────────┼────────────────────────────────────────┤" + TSTRING020(0)
Return
:LABEL007
Print "═════════════════════════════════════════════════════════════════════════════"
Return
:LABEL008
PrintLn TSTRING020(20) + "╒═════════╤══════════════════════════╤════════════════════════════════════════╕" + TSTRING020(0)
Return
:LABEL009
PrintLn TSTRING020(20) + "╘═════════╧══════════════════════════╧════════════════════════════════════════╛" + TSTRING020(0)
Return
:LABEL010
PrintLn TSTRING020(20) + "│ " + TSTRING020(1) + Left("NODE #", 7 - Len(String(INTEGER003))) + String(INTEGER003) + TSTRING020(20) + " │ " + TSTRING020(3) + STRING076 + Space(25 - Len(STRING076)) + TSTRING020(20) + "│ " + TSTRING020(5) + STRING078 + Space(38 - Len(StripAtx(STRING078))) + TSTRING020(20) + " │" + TSTRING020(0)
PrintLn TSTRING020(20) + "│" + TSTRING020(2) + " SL: " + STRING079 + TSTRING020(20) + " │ " + TSTRING020(4) + Left(STRING077, 25) + TSTRING020(20) + "│ " + TSTRING020(6) + "Login: " + STRING051 + Space(31 - Len(STRING050 + STRING051)) + STRING050 + TSTRING020(20) + " │" + TSTRING020(0)
Return
:LABEL011
PrintLn TSTRING020(20) + "│" + TSTRING020(1) + " NODE ?" + TSTRING020(20) + " │ " + TSTRING020(3) + "<User Name> " + TSTRING020(20) + "│ " + TSTRING020(5) + "No Users Found to Display! - Aborting!" + TSTRING020(20) + " │" + TSTRING020(0)
Return
:LABEL012
TBIGSTR001(1) = ""
TBIGSTR001(2) = ""
STRING019 = STRING002 + "T" + "E" + "M" + "P." + String(INTEGER003)
STRING032 = ReadLine(STRING007, String(INTEGER003) + 1)
FClose -1
INTEGER006 = 0
If (FUNCTION002()) PROC022()
If (!Exist(STRING032) || (FileInf(STRING032, 4) == 0)) Goto LABEL016
Copy STRING032, STRING019
STRING031 = STRING074
FOpen 1, STRING019, 0, 0
:LABEL013
If (Ferr(1)) Goto LABEL015
FGet 1, STRING048
If (Left(STRING048, 1) == " ") Goto LABEL014
STRING061 = Left(STRING048, 1)
Select Case (Upper(STRING061))
Case "E"
STRING072 = TSTRING020(11) + "Error!"
Case "V"
STRING072 = TSTRING020(11) + "Verify"
Case Lower(STRING061)
STRING072 = TSTRING020(10) + "DNLoad"
Case Upper(STRING061)
STRING072 = TSTRING020(9) + "UPLoad"
Case Else
STRING072 = STRING071
End Select
STRING048 = LTrim(Right(STRING048, Len(STRING048) - 1), " ")
STRING039 = Left(STRING048, InStr(STRING048, " ") - 1)
STRING039 = STRING039 / 1024
If (STRING039 > 999) STRING039 = Left(STRING039, Len(STRING039) - 3) + "," + Right(STRING039, 3)
STRING048 = LTrim(Right(STRING048, Len(STRING048) - InStr(Upper(STRING048), "ERRORS") + 5), " ")
STRING048 = LTrim(Right(STRING048, Len(STRING048) - InStr(STRING048, " ") - 1), " ")
STRING048 = LTrim(Right(STRING048, Len(STRING048) - InStr(STRING048, " ") - 1), " ")
STRING038 = Upper(Left(STRING048, InStr(STRING048, " ") - 1))
While ((InStr(STRING038, "/") <> 0) || (InStr(STRING038, "\") <> 0)) Do
STRING038 = Right(STRING038, Len(STRING038) - InStr(STRING038, "/"))
STRING038 = Right(STRING038, Len(STRING038) - InStr(STRING038, "\"))
EndWhile
If (INTEGER006 <= 150) Then
TBIGSTR001(1) = TBIGSTR001(1) + STRING038
Else
TBIGSTR001(2) = TBIGSTR001(2) + STRING038
Endif
Inc INTEGER006
Forward 37
PrintLn TSTRING020(20) + "▐│" + Space(3 - Len(INTEGER002)) + "[" + TSTRING020(14) + String(INTEGER002) + TSTRING020(20) + "] [" + STRING072 + TSTRING020(20) + "] " + TSTRING020(7) + RTrim(Left(STRING038, 12), " ") + " " + Left(TSTRING020(20) + "··························", 24 - Len(STRING038) + Len(STRING039) + 1) + " " + TSTRING020(8) + STRING039 + "k " + TSTRING020(20) + "│▌"
Inc INTEGER002
If (Abort()) Then
FClose 1
Delete STRING019
ResetDisp
If (INTEGER010 == 5) Then
Goto LABEL002
Goto LABEL014
Endif
End
Endif
:LABEL014
Goto LABEL013
:LABEL015
FClose 1
Delete STRING019
:LABEL016
If ((INTEGER010 == 5) && (Right(TSTRING018(STRING016), 1) == 2)) Goto LABEL021
If (FUNCTION001(6, 2)) Then
PROC022()
Goto LABEL017
Endif
:LABEL017
If (STRING030 == 2) Goto LABEL021
STRING049 = ReadLine(STRING007, String(INTEGER003) + 1)
FClose -1
PROC001()
STRING041 = STRING054 + "F" + "L" + "I" + "S" + "T." + String(INTEGER003)
If (Exist(STRING041)) Then
Forward 37
Print TSTRING020(20) + "▐│" + Space(3 - Len(INTEGER002)) + "[" + TSTRING020(14) + String(INTEGER002) + TSTRING020(20) + "] [" + TSTRING020(13) + "*HOLD*" + TSTRING020(20) + "] " + TSTRING020(7) + "Loading Queue ... " + TSTRING020(20) + "│▌"
Backup 80
STRING031 = STRING074
FOpen 3, STRING041, 0, 0
STRING042 = "."
STRING073 = STRING074
INTEGER012 = 1
While (STRING042 <> "") Do
FRead 3, STRING042, 66
FRead 3, TSTRING063(INTEGER012), 63
If (STRING042 == "") Continue
If (INTEGER006 == 0) Then
TSTRING063(INTEGER012) = TSTRING020(12) + "Queue!" + TSTRING020(20) + "] " + TSTRING020(7) + TSTRING063(INTEGER012)
Goto LABEL019
Endif
If (INTEGER006 <= 150) Then
If (InStr(TBIGSTR001(1), TSTRING063(INTEGER012)) <> 0) Continue
Goto LABEL018
Endif
If (InStr(TBIGSTR001(1), TSTRING063(INTEGER012)) <> 0) Continue
If (InStr(TBIGSTR001(2), TSTRING063(INTEGER012)) <> 0) Continue
:LABEL018
If (STRING073 == STRING074) Then
TSTRING063(INTEGER012) = TSTRING020(13) + "*Send*" + TSTRING020(20) + "] " + TSTRING020(7) + TSTRING063(INTEGER012)
STRING073 = STRING037
Goto LABEL019
Endif
TSTRING063(INTEGER012) = TSTRING020(12) + "Queue!" + TSTRING020(20) + "] " + TSTRING020(7) + TSTRING063(INTEGER012)
:LABEL019
STRING042 = RTrim(STRING042, " ")
If (Exist(STRING042)) Then
STRING064 = FileInf(STRING042, 4) / 1024
If (STRING064 > 999) STRING064 = Left(STRING064, Len(STRING064) - 3) + "," + Right(STRING064, 3)
Goto LABEL020
Endif
STRING064 = "?"
:LABEL020
TSTRING063(INTEGER012) = TSTRING063(INTEGER012) + " " + Left(TSTRING020(20) + "··························", 32 - Len(StripAtx(TSTRING063(INTEGER012))) + Len(STRING064) + 1) + " " + TSTRING020(8) + STRING064 + "k "
Inc INTEGER012
If (Abort()) Then
FClose 3
ResetDisp
If (INTEGER010 == 5) Then
Goto LABEL002
Continue
Endif
End
Endif
EndWhile
FClose 3
INTEGER013 = INTEGER012
For INTEGER012 = 1 To INTEGER013 - 1
Forward 37
PrintLn TSTRING020(20) + "▐│" + Space(3 - Len(INTEGER002)) + "[" + TSTRING020(14) + String(INTEGER002) + TSTRING020(20) + "] [" + TSTRING063(INTEGER012) + TSTRING020(20) + "│▌"
Inc INTEGER002
Next
Endif
:LABEL021
STRING030 = STRING037
TSTRING018(INTEGER003) = Left(TSTRING018(INTEGER003), 6) + STRING037
If (STRING031 == STRING074) Gosub LABEL030
Return
End
;------------------------------------------------------------------------------
Procedure PROC014()
If (INTEGER010 <> 1) Then
INTEGER002 = 1
STRING079 = "000"
STRING031 = STRING037
STRING027 = STRING037
STRING030 = STRING037
STRING059 = STRING074
STRING077 = Strip(UN_City(), "@")
Endif
STRING028 = STRING037
STRING076 = Mixed(UN_Name())
If (INTEGER010 == 5) Then
TSTRING018(INTEGER003) = UN_Stat() + "," + STRING074 + "," + STRING037 + "," + STRING037
If (UN_Stat() == "") Then
TSTRING018(INTEGER003) = "Z" + "," + STRING037 + "," + STRING037 + "," + STRING037
Goto LABEL022
Endif
If (UN_Stat() == " ") Then
TSTRING018(INTEGER003) = "Y" + "," + STRING037 + "," + STRING037 + "," + STRING037
Endif
Endif
:LABEL022
If (Exist(STRING011 + String(INTEGER003))) Then
STRING012 = ReadLine(STRING011 + String(INTEGER003), 1)
FClose -1
If ((STRING012 == Upper(STRING076)) && (STRING012 <> "")) Then
PROC021()
EndProc
Goto LABEL023
Endif
Delete STRING011 + String(INTEGER003)
Endif
:LABEL023
If (InStr(BIGSTR002, "■" + String(UN_Name()) + "■") <> 0) Then
PROC021()
EndProc
Endif
STRING056 = Upper(UN_Stat())
If (INTEGER003 == PcbNode()) Then
STRING078 = TSTRING053(0)
EndProc
Endif
Select Case (STRING056)
Case "A"
STRING078 = TSTRING053(1)
Case "Y", " "
STRING076 = "<Open Node>"
If ((INTEGER010 == 3) || (INTEGER010 == 4)) Then
PROC009()
STRING077 = "IDLE " + STRING013 + " MINS " + Left("----", 10 - Len(STRING013) + Len(STRING044)) + " (" + STRING044 + ")"
Endif
STRING078 = ReadLine(STRING007, INTEGER011 + 1 + INTEGER003)
FClose -1
If (Len(StripAtx(STRING078)) > 38) Then
STRING078 = TSTRING053(16)
ElseIf ((((StripAtx(STRING078) == "") || (StripAtx(STRING078) == Space(38))) || (StripAtx(Upper(STRING078)) == "NONE")) || (Upper(STRING078) == "N")) Then
STRING078 = TSTRING053(16)
Endif
STRING059 = STRING037
TSTRING018(INTEGER003) = "Y," + STRING037 + "," + STRING037 + "," + STRING037
If (BOOLEAN002 == STRING037) Then
STRING028 = STRING074
TSTRING018(INTEGER003) = "/Y"
Endif
Case "T"
STRING078 = TSTRING053(20)
Select Case (Left(UN_Oper(), 3))
Case "(U)"
If ((Left(UN_Oper(), 15) == "(U) ... (Z) ...") || (Left(UN_Oper(), 16) == "(U) ... (ZM) ...")) Then
STRING071 = TSTRING020(9) + "UPLoad"
STRING030 = 2
STRING027 = STRING074
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING074 + "," + String(2)
STRING078 = TSTRING053(21)
ElseIf (Left(UN_Oper(), 15) == "(U) ... (H) ...") Then
STRING078 = TSTRING053(23)
STRING027 = STRING074
STRING030 = 2
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING074 + "," + String(2)
STRING071 = TSTRING020(9) + "UPLoad"
Else
STRING078 = TSTRING053(25)
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING037 + "," + String(2)
Endif
Case "(D)"
STRING057 = LTrim(LTrim(LTrim(LTrim(UN_Oper(), "("), "D"), ")"), " ")
STRING040 = Left(STRING057, InStr(STRING057, " ") - 1)
STRING058 = Right(UN_Oper(), Len(UN_Oper()) - Len(STRING040) + 5)
If (Left(STRING058, 3) == "(H)") Then
STRING071 = TSTRING020(10) + "DNLoad"
STRING027 = STRING074
STRING078 = TSTRING053(24)
STRING030 = STRING074
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING074 + "," + STRING074
Goto LABEL024
Endif
If ((Left(STRING058, 3) == "(Z)") || (Left(STRING058, 4) == "(ZM)")) Then
STRING078 = TSTRING053(22)
STRING027 = STRING074
STRING071 = TSTRING020(10) + "DNLoad"
STRING030 = STRING074
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING074 + "," + STRING074
Goto LABEL024
Endif
STRING078 = TSTRING053(26)
STRING030 = STRING074
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING074 + "," + STRING037 + "," + STRING074
End Select
:LABEL024
Case "D"
STRING029 = Right(String(UN_Oper()), Len(String(UN_Oper())) - Len(UN_Name()) + 3)
STRING078 = "Inside DOOR: " + STRING029
If (Upper(STRING029) == STRING002) STRING078 = TSTRING053(0)
Case "B"
STRING078 = TSTRING053(2)
Case "C"
STRING078 = TSTRING053(3)
Case "G"
STRING078 = TSTRING053(4)
Case "M"
STRING078 = TSTRING053(7)
Case "P"
STRING078 = TSTRING053(10)
Case "S"
STRING078 = TSTRING053(12)
Case "U", "Q"
STRING078 = TSTRING053(13)
Case "R"
STRING078 = TSTRING053(11)
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "L"
STRING078 = TSTRING053(6)
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "W"
STRING078 = TSTRING053(14)
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "X"
STRING078 = TSTRING053(15)
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "N"
STRING078 = TSTRING053(8)
STRING076 = "<Event Processing!>"
STRING077 = "UNAVAILABLE: SYSTEM DOWN"
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "O"
STRING078 = TSTRING053(9)
STRING076 = "<Login Process>"
STRING077 = "SYSTEM PERFORMING LOGIN!"
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
Case "F"
STRING080 = LTrim(LTrim(LTrim(LTrim(UN_Oper(), "F"), " "), "V"), " ")
STRING078 = "Viewing File(s) [F V]: " + Left(STRING080, 12)
Case "E"
STRING034 = RTrim(LTrim(Left(UN_Oper(), InStr(UN_Oper(), " ") - 1), "("), ")")
STRING035 = Right(UN_Oper(), Len(UN_Oper()) - Len(STRING034) + 6)
If (Left(STRING035, 1) == "@") STRING035 = "MACRO"
STRING078 = "Enter Message to: " + STRING035
Case "H"
STRING078 = TSTRING053(5)
STRING059 = STRING037
TSTRING018(INTEGER003) = Left(UN_Stat(), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
STRING076 = "<Closed Node>"
STRING077 = "UNAVAILABLE: SYSTEM DOWN"
STRING059 = STRING037
STRING076 = "<Closed Node>"
STRING077 = "UNAVAILABLE: SYSTEM DOWN"
STRING078 = TSTRING053(17)
TSTRING018(INTEGER003) = Left(TSTRING018(INTEGER003), 1) + "," + STRING037 + "," + STRING037 + "," + STRING037
If (UN_Stat() == "") TSTRING018(INTEGER003) = "Z," + STRING037 + "," + STRING037 + "," + STRING037
Case STRING037
STRING028 = STRING074
TSTRING018(INTEGER003) = "/Z"
End Select
EndProc
:LABEL025
StartDisp 1
STRING069 = ""
STRING033 = STRING074
STRING016 = ""
PROC002()
AnsiPos 1, 22
Print TSTRING020(20) + "╒"
Gosub LABEL007
PrintLn "╕" + TSTRING020(0)
Print TSTRING020(20) + "└─ " + "[" + "M" + "S" + "] " + STRING002 + " " + STRING003 + ": " + STRING001 + " ───────────────[" + STRING024 + "]─┘" + TSTRING020(0)
AnsiPos 1, 21
Print STRING017
DefColor
KbdChkOn
While (STRING016 <> Chr(27)) Do
STRING016 = Inkey()
If (Abort()) ResetDisp
If (STRING016 == Chr(13)) Then
If (STRING069 == 1) Then
Backup 1
Print " "
Backup 1
STRING069 = ""
STRING016 = 1
Goto LABEL027
Goto LABEL026
Endif
Break
Endif
:LABEL026
If ((STRING016 == 1) && (INTEGER011 >= 10)) Then
If (STRING069 <> 1) Then
Print STRING016
STRING069 = 1
STRING016 = ""
Continue
Endif
ElseIf ((STRING016 == Chr(8)) || (STRING016 == Chr(127))) Then
If (STRING069 == 1) Then
Backup 1
Print " "
Backup 1
STRING069 = ""
Endif
Endif
:LABEL027
If (((STRING016 <= INTEGER011) && (0 <= STRING016)) && (STRING016 <> "")) Then
If ((STRING069 == 1) && (InStr(Mask_Num(), STRING016) <> 0)) STRING016 = String(STRING069) + String(STRING016)
If (Left(Right(TSTRING018(STRING016), 5), 1) == STRING074) Then
DefColor
Print Upper(STRING016)
INTEGER002 = 1
STRING079 = "000"
STRING031 = STRING037
Cls
INTEGER003 = Upper(STRING016)
RdUNet INTEGER003
GetAltUser U_RecNum(UN_Name())
STRING049 = ReadLine(STRING007, String(STRING016) + 1)
FClose -1
PROC001()
STRING070 = STRING054 + "PCBOARD.SYS"
PROC018()
If (Exist(STRING010)) Then
FOpen 4, STRING010, 0, 0
For INTEGER005 = 1 To 23
FGet 4, STRING068
If (STRING068 == "") Break
If (Len(StripAtx(STRING068)) > 36) Continue
If (InStr(STRING068, "%") <> 0) Then
STRING068 = ReplaceStr(STRING068, "%SL", Right(U_Sec, 3))
STRING068 = ReplaceStr(STRING068, "%MIX_USER_FULL_NAME_FIELD", Mixed(Left(U_Name(), 25)))
STRING068 = ReplaceStr(STRING068, "%MIX_USERCITYSTATE_FIELD", Mixed(Left(U_City, 24)))
STRING068 = ReplaceStr(STRING068, "%CAP_USER_FULL_NAME_FIELD", Upper(Left(U_Name(), 25)))
STRING068 = ReplaceStr(STRING068, "%CAP_USERCITYSTATE_FIELD", Upper(Left(U_City, 24)))
STRING068 = ReplaceStr(STRING068, "%CONNECT_STRING", Left(Right(STRING050, Len(STRING050) - 9), 15))
STRING068 = ReplaceStr(STRING068, "%LAST_SC", Left(U_LDir(), 8))
STRING068 = ReplaceStr(STRING068, "%LAST_DT", Left(U_LDate(), 8))
STRING068 = ReplaceStr(STRING068, "%LTIM", Left(U_LTime(), 5))
STRING068 = ReplaceStr(STRING068, "%TCAL", Left(U_Logons(), 5))
STRING068 = ReplaceStr(STRING068, "%UPTF", Left(U_Ful(), 5))
STRING068 = ReplaceStr(STRING068, "%UPT_BYTES", Left(U_Bul(), 10))
STRING068 = ReplaceStr(STRING068, "%DNTF", Left(U_Fdl(), 5))
STRING068 = ReplaceStr(STRING068, "%DNT_BYTES", Left(U_Bdl(), 10))
Endif
PrintLn STRING068
Next
FClose 4
Goto LABEL028
Endif
PROC011()
:LABEL028
AnsiPos 1, 1
If ((Left(Right(TSTRING018(STRING016), 3), 1) == STRING074) || (Right(TSTRING018(STRING016), 1) == STRING074)) Gosub LABEL029
If (Left(Right(TSTRING018(STRING016), 3), 1) == STRING074) Gosub LABEL012
If (Right(TSTRING018(STRING016), 1) == STRING074) Gosub LABEL016
STRING030 = Right(TSTRING018(STRING016), 1)
If (INTEGER002 <= 19) AnsiPos 1, 23
Wait
Goto LABEL002
Endif
Endif
For INTEGER005 = 1 To INTEGER011
RdUNet INTEGER005
Select Case (UN_Stat())
Case ""
STRING075 = "Z"
Case " "
STRING075 = "Y"
Case Else
STRING075 = UN_Stat()
End Select
If ((STRING075 <> Left(TSTRING018(INTEGER005), 1)) || (((STRING075 == "T") && (Left(TSTRING018(INTEGER005), 1) == "T")) && (((UN_Oper() == "") && ((Left(Right(TSTRING018(INTEGER005), 3), 1) == STRING074) || (Right(TSTRING018(INTEGER005), 1) == STRING074))) || ((UN_Oper() <> "") && ((Left(Right(TSTRING018(INTEGER005), 3), 1) == STRING037) && (Right(TSTRING018(INTEGER005), 1) == STRING037)))))) Then
If (Left(TSTRING018(INTEGER005), 1) <> "/") Then
AnsiPos 1, TSTRING060(INTEGER005)
INTEGER003 = INTEGER005
PROC014()
If (Left(TSTRING018(INTEGER005), 1) <> "/") Then
PrintLn TSTRING020(20) + "│ " + TSTRING020(1) + Left("Node #", 7 - Len(String(INTEGER003))) + String(INTEGER003) + TSTRING020(20) + " │ " + TSTRING020(3) + STRING076 + Space(25 - Len(STRING076)) + TSTRING020(20) + "│ " + TSTRING020(5) + STRING078 + Space(38 - Len(StripAtx(STRING078))) + TSTRING020(20) + " │" + TSTRING020(0)
Endif
AnsiPos 57 + STRING069, 21
Continue
Endif
If (Left(TSTRING018(INTEGER005), 1) == "/") Then
If ((InStr(Chr(0) + " YZ", Right(TSTRING018(INTEGER005), 1)) <> 0) && (Right(TSTRING018(INTEGER005), 1) <> STRING075)) Goto LABEL002
Endif
Endif
Next
EndWhile
DefColor
Newlines 3
StartDisp 2
Log "
" + STRING002 + " " + STRING003 + "
[" + "(" + String(Time()) + ") A" + "c" + "t" + "i" + "v" + "e" + " " + "V" + "i" + "e" + "w" + "]", 0
PROC022()
:LABEL029
StartDisp 2
Forward 37
PrintLn TSTRING020(20) + "╒════════════════════════════════════════╕" + TSTRING020(0)
Forward 37
PrintLn TSTRING020(20) + "│" + TSTRING020(19) + " File Transfer Information! " + TSTRING020(20) + "│" + TSTRING020(0)
Forward 37
PrintLn TSTRING020(20) + "╘════════════════════════════════════════╛" + TSTRING020(0)
Return
:LABEL030
Forward 37
PrintLn TSTRING020(20) + " ╘══════════════════════════════════════╛ " + TSTRING020(0)
Return
End
;------------------------------------------------------------------------------
Procedure PROC018()
If (Exist(STRING070)) Then
FOpen 1, STRING070, 0, 0
FSeek 1, 9, 0
FRead 1, STRING036, 2
FSeek 1, 2, 1
FRead 1, STRING045, 5
FRead 1, STRING023, 5
FSeek 1, 33, 1
FRead 1, STRING047, 5
FClose 1
If ((STRING045 <> "") && (STRING045 <> Space(5))) Then
If ((STRING036 == "-1") && (Upper(STRING023) <> "LOCAL")) Then
STRING036 = "E"
Else
STRING036 = ""
Endif
If (STRING045 == "11520") STRING045 = "115200"
If (STRING023 == "11520") STRING023 = "115200"
STRING050 = "Connect: " + RTrim(STRING023, " ") + STRING036 + "/" + RTrim(STRING045, " ")
STRING051 = LTrim(Left(TimeAp(STRING047), 5) + Lower(Right(TimeAp(STRING047), 2)), " ")
Else
STRING051 = "[Time]"
STRING050 = "Connect: [Speed/Port]"
Endif
Else
STRING051 = "[Time]"
STRING050 = "Connect: [Speed/Port]"
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
STRING055 = STRING049
While (InStr(STRING055, "\") <> 0) Do
STRING055 = Right(STRING055, Len(STRING055) - InStr(STRING055, "\"))
EndWhile
STRING054 = Left(STRING049, Len(STRING049) - Len(STRING055))
EndProc
;------------------------------------------------------------------------------
Procedure PROC011()
PrintLn TSTRING020(20) + "╒══════════════════════════════════╕"
PrintLn TSTRING020(20) + "│ " + TSTRING020(19) + Mixed(Left(U_Name(), 25)) + " SL:" + Right(U_Sec, 3) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "╞══════════════════════════════════╡"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "City: " + TSTRING020(4) + Left(U_City, 24) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "Modem Connect: " + TSTRING020(4) + Left(Right(STRING050, Len(STRING050) - 9), 15) + TSTRING020(20) + "│"
PrintLn TSTRING020(20) + "│ │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "User's Last Scan: " + TSTRING020(4) + Left(U_LDir(), 8) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "User's Last Date: " + TSTRING020(4) + Left(U_LDate(), 8) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "User's Last Time: " + TSTRING020(4) + Left(U_LTime(), 5) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "Total Calls Made: " + TSTRING020(4) + Left(U_Logons(), 5) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + " UpLoad (Files): " + TSTRING020(4) + Left(U_Ful(), 5) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + " UpLoad (Bytes): " + TSTRING020(4) + Left(U_Bul(), 10) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "DownLoad (Files): " + TSTRING020(4) + Left(U_Fdl(), 5) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "│ " + TSTRING020(3) + "DownLoad (Bytes): " + TSTRING020(4) + Left(U_Bdl(), 10) + TSTRING020(20) + " │"
PrintLn TSTRING020(20) + "╘══════════════════════════════════╛"
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
STRING024 = Right("0" + LTrim(Left(TimeAp(Time()), 5) + Right(TimeAp(Time()), 3), " "), 8)
EndProc
;------------------------------------------------------------------------------
Procedure PROC019()
If (INTEGER011 <= 18) Then
INTEGER010 = 5
STRING017 = TSTRING020(18) + "[" + TSTRING020(17) + "Enter" + TSTRING020(18) + "]=" + TSTRING020(17) + "Exit " + TSTRING020(18) + "/" + TSTRING020(17) + " Display Extended Information for Node #" + TSTRING020(18) + ": "
Else
INTEGER010 = 1
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC017(String STRING083)
If (Upper(STRING083) == Chr(33)) Then
Newline
PROC016()
ElseIf (((Upper(STRING083) == "/TINY") || (Upper(STRING083) == "T")) || (Upper(STRING083) == "/TERSE")) Then
INTEGER010 = 1
Else
Select Case (Upper(STRING083))
Case "/BRIEF", "B"
INTEGER010 = 3
Case "/VERBOSE", "V"
INTEGER010 = 4
Case "/MSG", "M"
PROC023()
Case "/EXCLUDE", "E"
PROC013()
Case "/PEXCLUDE", "P"
PROC015()
Case "/ACTIVE", "A"
PROC019()
Case Else
PROC020(STRING083)
Endif
End Select
EndProc
;------------------------------------------------------------------------------
Procedure PROC020(String STRING084)
STRING062 = TSTRING020(15) + "[" + TSTRING020(16) + "?" + TSTRING020(15) + "/" + TSTRING020(16) + "!" + TSTRING020(15) + "/" + TSTRING020(16) + "Q" + TSTRING020(15) + "/" + TSTRING020(16) + "E" + TSTRING020(15) + "] [" + TSTRING020(16) + "T" + TSTRING020(15) + "]" + TSTRING020(16) + "erse, " + TSTRING020(15) + "[" + TSTRING020(16) + "B" + TSTRING020(15) + "]" + TSTRING020(16) + "rief, " + TSTRING020(15) + "[" + TSTRING020(16) + "V" + TSTRING020(15) + "]" + TSTRING020(16) + "erbose"
If (INTEGER011 < 19) STRING062 = STRING062 + " or " + TSTRING020(15) + "[" + TSTRING020(16) + "A" + TSTRING020(15) + "]" + TSTRING020(16) + "ctive"
STRING062 = STRING062 + " Mode? " + TSTRING020(15) + "("
If (TSTRING022(2) <> "") Then
If (Upper(TSTRING022(2)) == Chr(33)) Then
Newline
PROC016()
ElseIf (((Upper(TSTRING022(2)) == "/TINY") || (Upper(TSTRING022(2)) == "T")) || (Upper(TSTRING022(2)) == "/TERSE")) Then
INTEGER010 = 1
Goto LABEL032
Else
Select Case (Upper(TSTRING022(2)))
Case "/BRIEF", "B"
INTEGER010 = 3
Goto LABEL032
Case "/VERBOSE", "V"
INTEGER010 = 4
Goto LABEL032
Case "/EXCLUDE", "E"
PROC013()
Case "/PEXCLUDE", "P"
PROC015()
Case "/MSG", "M"
PROC023()
Case "/ACTIVE", "A"
PROC019()
Else
Endif
End Select
TpaGet STRING002, STRING014
If ((STRING014 <> "") && (STRING014 <> " ")) Then
If (Right(Asc(STRING014), 1) == "5") Then
PROC019()
Else
INTEGER010 = Right(Asc(STRING014), 1)
Endif
Else
Select Case (STRING084)
Case "/DEF=T"
STRING025 = "t"
STRING026 = 1
Case "/DEF=B"
STRING025 = "b"
STRING026 = 3
Case "/DEF=A"
If (INTEGER011 <= 18) Then
STRING025 = "a"
STRING026 = 5
Else
STRING025 = "t"
STRING026 = 1
Endif
Case Else
STRING025 = "v"
STRING026 = 4
End Select
Newline
Print STRING062
DefColor
Print STRING025 + TSTRING020(15) + ")"
Backup 2
DefColor
While (STRING052 <> Chr(13)) Do
STRING052 = Inkey()
If (Abort()) ResetDisp
If (Upper(STRING052) == "T") Then
Print "T"
INTEGER010 = 1
Goto LABEL031
Continue
Endif
If (Upper(STRING052) == "B") Then
Print "B"
INTEGER010 = 3
Goto LABEL031
Continue
Endif
If (Upper(STRING052) == "V") Then
Print "V"
INTEGER010 = 4
Goto LABEL031
Continue
Endif
If (Upper(STRING052) == "E") Then
Print "E"
Backup 80
ClrEol
PROC013()
Continue
Endif
If (Upper(STRING052) == "P") Then
Print "P"
Backup 80
ClrEol
PROC015()
Continue
Endif
If (Upper(STRING052) == "!") Then
Print "!"
Backup 80
ClrEol
PROC016()
Continue
Endif
If (Upper(STRING052) == "M") Then
Print "M"
Backup 80
ClrEol
PROC023()
Continue
Endif
If (Upper(STRING052) == "Q") Then
Print "Q"
Newline
End
Continue
Endif
If (Upper(STRING052) == "?") Then
Print "?"
Newline
PROC010()
Goto LABEL032
Continue
Endif
If (Upper(STRING052) == "A") Then
If (INTEGER011 <= 18) Then
Print "A"
PROC019()
Goto LABEL031
Endif
Endif
EndWhile
Print Upper(STRING025)
INTEGER010 = STRING026
:LABEL031
Backup 80
ClrEol
Endif
Endif
:LABEL032
EndProc
;------------------------------------------------------------------------------
Procedure PROC010()
If (Exist(STRING009)) Goto LABEL033
Newline
PrintLn "> " + STRING009 + " does not exist!"
Goto LABEL034
:LABEL033
DispFile STRING009, 0
:LABEL034
INTEGER001 = 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC006()
FOpen 3, STRING004, 0, 0
FGet 3, STRING043
If (Upper(Left(STRING043, 1)) == "N") BOOLEAN001 = STRING037
FGet 3, STRING043
If (Upper(Left(STRING043, 1)) == "N") BOOLEAN002 = STRING037
FGet 3, STRING043
If (Upper(STRING043) == "Y") BOOLEAN003 = 1
FGet 3, STRING043
If (STRING043 <> "") INTEGER007 = STRING043
FGet 3, STRING043
If (STRING043 <> "") INTEGER008 = STRING043
FGet 3, STRING043
If (STRING043 <> "") INTEGER009 = STRING043
FGet 3, STRING043
If (STRING043 <> "") STRING021 = RTrim(Left(STRING043, 6), " ")
FClose 3
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
FOpen 6, STRING008, 0, 0
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(1) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(2) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(3) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(4) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(5) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(6) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(7) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(8) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(9) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(10) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(11) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(12) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(20) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(13) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(14) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(15) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(16) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(17) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(21) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(22) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(23) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(24) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(25) = STRING043
FGet 6, STRING043
If ((STRING043 <> "") && (Len(StripAtx(STRING043)) <= 38)) TSTRING053(26) = STRING043
FClose 6
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
FOpen 1, STRING006, 0, 0
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(20) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(1) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(2) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(3) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(4) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(5) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(6) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(7) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(8) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(9) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(10) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(11) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(12) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(13) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(14) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(16) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(15) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(17) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(18) = Left(Upper(STRING043), 4)
FGet 1, STRING043
If (Left(STRING043, 1) == "@") TSTRING020(19) = Left(Upper(STRING043), 4)
FClose 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
TSTRING053(0) = STRING002 + " -> Viewing Node Activity! <- " + STRING002
TSTRING053(1) = "Available for CHAT; general BBS usage!"
TSTRING053(2) = "Remotely dropped to the BBS systems OS"
TSTRING053(3) = "User chatting with the System Operator"
TSTRING053(4) = "User is 'CHAT'ting in a group session!"
TSTRING053(5) = "Node is currently busy processing mail"
TSTRING053(6) = "Node has been requested to Logoff Soon"
TSTRING053(7) = "User is receiving a Broadcast Message!"
TSTRING053(8) = "Node is now processing a system event!"
TSTRING053(9) = "Modem has detected a RING; doing login"
TSTRING053(10) = "User is pageing board System Operator!"
TSTRING053(11) = "Node has been requested to DOS Recycle"
TSTRING053(12) = "User answering an online questionaire!"
TSTRING053(20) = "Initiating/completing a File Transfer!"
TSTRING053(13) = "UnAvailable for CHAT; general BBS use!"
TSTRING053(14) = "Node has been requested to drop to DOS"
TSTRING053(15) = "Node is RUSH requested to drop to DOS!"
TSTRING053(16) = "Node is open and waiting a RING detect"
TSTRING053(17) = "Node is down/closed; idle and inactive"
TSTRING053(21) = "UPLoading files with a ZModem Protocol"
TSTRING053(22) = "DNLoading files with a ZModem Protocol"
TSTRING053(23) = "UPLoading files with HS/Link Protocol!"
TSTRING053(24) = "BiDirectional File Transfer w/ HS/Link"
TSTRING053(25) = "UPLoading file(s) w/a PCBoard Protocol"
TSTRING053(26) = "DNLoading file(s) w/a PCBoard Protocol"
EndProc
;------------------------------------------------------------------------------
Procedure PROC007()
TSTRING020(0) = "@X07"
TSTRING020(20) = "@X08"
TSTRING020(1) = "@X0F"
TSTRING020(2) = "@X07"
TSTRING020(3) = "@X0B"
TSTRING020(4) = "@X03"
TSTRING020(5) = "@X0D"
TSTRING020(6) = "@X05"
TSTRING020(7) = "@X0F"
TSTRING020(8) = "@X07"
TSTRING020(9) = "@X0B"
TSTRING020(10) = "@X03"
TSTRING020(11) = "@X0C"
TSTRING020(12) = "@X09"
TSTRING020(13) = "@X89"
TSTRING020(14) = "@X0F"
TSTRING020(15) = "@X08"
TSTRING020(16) = "@X0F"
TSTRING020(17) = "@X0F"
TSTRING020(18) = "@X08"
TSTRING020(19) = "@X0F"
EndProc
;------------------------------------------------------------------------------
Procedure PROC008()
Newline
PrintLn TSTRING020(18) + "[" + TSTRING020(19) + "Error" + TSTRING020(18) + "] " + TSTRING020(19) + "Configuration File Error!"
Log "
" + STRING002 + " " + STRING003 + " " + "
" + "[" + "E" + "r" + "r" + "o" + "r" + "]", 0
End
EndProc
;------------------------------------------------------------------------------
Procedure PROC012()
FOpen 1, STRING005, 0, 0
BIGSTR002 = "■"
:LABEL035
If (Ferr(1)) Goto LABEL036
FGet 1, STRING043
If ((STRING043 <> "") && (Left(STRING043, 1) <> " ")) BIGSTR002 = BIGSTR002 + Upper(STRING043) + "■"
Goto LABEL035
:LABEL036
FClose 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC009()
Time TIME001
Integer INTEGER014
FOpen 1, ReadLine(PCBDat(), 200), 0, 0
FClose -1
FSeek 1, 77 * INTEGER003, 0
FSeek 1, 54, 1
FRead 1, STRING044, 6
FClose 1
If ((STRING044 <> "") && (STRING044 <> Space(6))) Then
TIME001 = STRING044
INTEGER004 = TIME001
INTEGER014 = Time()
If (INTEGER004 > INTEGER014) Then
STRING013 = String((86400 + INTEGER014 - INTEGER004) / 60)
Else
STRING013 = String((INTEGER014 - INTEGER004) / 60)
Endif
STRING044 = LTrim(Left(TimeAp(STRING044), 5) + Lower(Right(TimeAp(STRING044), 2)), " ")
Else
STRING044 = "00:00am"
STRING013 = "??"
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC013()
GetUser
If (U_Sec < INTEGER007) Then
Newline
PrintLn TSTRING020(3) + "Invalid Security Level"
PROC022()
Endif
If (Exist(STRING011 + String(PcbNode()))) Then
STRING012 = ReadLine(STRING011 + String(PcbNode()), 1)
FClose -1
If (STRING012 == U_Name()) Then
Delete STRING011 + String(PcbNode())
Newline
PrintLn TSTRING020(3) + STRING002 + " " + "Exclusion: " + TSTRING020(4) + "OFF"
Log "
" + STRING002 + " " + STRING003 + "
[EToggle: OFF]", 0
Else
Gosub LABEL037
Endif
Else
Gosub LABEL037
Endif
PROC022()
:LABEL037
FCreate 1, STRING011 + String(PcbNode()), 1, 0
FPutLn 1, Upper(U_Name())
FClose 1
Newline
PrintLn TSTRING020(3) + STRING002 + " " + "Exclusion: " + TSTRING020(4) + "ON"
Log "
" + STRING002 + " " + STRING003 + "
[EToggle: ON]", 0
Return
EndProc
;------------------------------------------------------------------------------
Procedure PROC015()
String STRING085
String STRING086
GetUser
If (U_Sec < INTEGER008) Then
Newline
PrintLn TSTRING020(3) + "Invalid Security Level"
PROC022()
Endif
If (Exist(STRING005)) Then
FOpen 2, STRING005, 0, 0
FCreate 3, PPEPath() + STRING002 + "_EXC." + String(PcbNode()), 1, 0
:LABEL038
If (Ferr(2)) Goto LABEL040
FGet 2, STRING085
If (STRING085 <> "") Then
If (Upper(STRING085) <> U_Name()) Then
FPutLn 3, STRING085
Goto LABEL039
Endif
STRING086 = 19
Endif
:LABEL039
Goto LABEL038
:LABEL040
FClose 2
FClose 3
Delete STRING005
Rename PPEPath() + STRING002 + "_EXC." + String(PcbNode()), STRING005
Endif
If (STRING086 == "") Then
If (Exist(STRING005)) Goto LABEL041
FCreate 1, STRING005, 1, 0
FPutLn 1, Upper(U_Name())
FClose 1
Goto LABEL042
:LABEL041
FAppend 1, STRING005, 1, 0
FPutLn 1, Upper(U_Name())
FClose 1
:LABEL042
Newline
PrintLn TSTRING020(3) + STRING002 + " Permanent Exclusion: " + TSTRING020(4) + "ON"
Log "
" + STRING002 + " " + STRING003 + "
[PEToggle: ON]", 0
Else
Newline
PrintLn TSTRING020(3) + STRING002 + " Permanent Exclusion: " + TSTRING020(4) + "OFF"
Log "
" + STRING002 + " " + STRING003 + "
[PEToggle: OFF]", 0
Endif
PROC022()
EndProc
;------------------------------------------------------------------------------
Function FUNCTION002() Boolean
String STRING087
If (FileInf(PPEPath() + PPEName() + ".PPE", 4) <> 36528) FUNCTION002 = 1
EndFunc
;------------------------------------------------------------------------------
Procedure PROC021()
Select Case (UN_Stat())
Case ""
STRING075 = "Z"
Case " "
STRING075 = "Y"
Case Else
STRING075 = UN_Stat()
End Select
TSTRING018(INTEGER003) = "/" + String(STRING075)
STRING028 = STRING074
EndProc
;------------------------------------------------------------------------------
Procedure PROC016()
String STRING087
TpaGet STRING002, STRING087
TpaPut STRING002, Chr(255)
TpaGet STRING002, STRING014
If (STRING014 <> Chr(255)) Then
Newline
PrintLn TSTRING020(3) + STRING002 + " TPA Not Installed"
Log "
" + STRING002 + " " + STRING003 + "
[Error: No TPA]", 0
PROC022()
Endif
TpaPut STRING002, STRING087
STRING014 = ""
If (INTEGER011 < 19) Then
Print TSTRING020(16) + "SET DEFAULT TO: " + TSTRING020(15) + "[" + TSTRING020(16) + "N" + TSTRING020(15) + "]" + TSTRING020(16) + "o Default, " + TSTRING020(15) + "[" + TSTRING020(16) + "T" + TSTRING020(15) + "]" + TSTRING020(16) + "erse, " + TSTRING020(15) + "[" + TSTRING020(16) + "B" + TSTRING020(15) + "]" + TSTRING020(16) + "rief, " + TSTRING020(15) + "[" + TSTRING020(16) + "V" + TSTRING020(15) + "]" + TSTRING020(16) + "erbose or " + TSTRING020(15) + "[" + TSTRING020(16) + "A" + TSTRING020(15) + "]" + TSTRING020(16) + "ctive Mode? "
InputStr "_", STRING014, 0, 1, "NnTtBbVvAa", 32
Else
Print TSTRING020(16) + "SET DEFAULT TO: " + TSTRING020(15) + "[" + TSTRING020(16) + "N" + TSTRING020(15) + "]" + TSTRING020(16) + "o Default, " + TSTRING020(15) + "[" + TSTRING020(16) + "T" + TSTRING020(15) + "]" + TSTRING020(16) + "erse, " + TSTRING020(15) + "[" + TSTRING020(16) + "B" + TSTRING020(15) + "]" + TSTRING020(16) + "rief, or " + TSTRING020(15) + "[" + TSTRING020(16) + "V" + TSTRING020(15) + "]" + TSTRING020(16) + "erbose Mode? "
InputStr "_", STRING014, 0, 1, "NnTtBbVv", 32
Endif
Select Case (STRING014)
Case "T", "t"
TpaPut STRING002, Chr(1)
Case "B", "b"
TpaPut STRING002, Chr(3)
Case "V", "v"
TpaPut STRING002, Chr(4)
Case "A", "a"
TpaPut STRING002, Chr(5)
Case Else
TpaPut STRING002, " "
End Select
PROC022()
EndProc
;------------------------------------------------------------------------------
Procedure PROC022()
RdUNet PcbNode()
WrUNet PcbNode(), STRING065, UN_Name(), UN_City(), UN_Name(), ""
End
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001(Integer INTEGER015, Integer INTEGER016) Boolean
Integer INTEGER017
If (Crc32(0, STRING002 + " " + STRING003) <> 2.5392e+09) FUNCTION001 = 1
EndFunc
;------------------------------------------------------------------------------
Procedure PROC023()
Integer INTEGER017
String STRING088
String STRING089
GetUser
If (U_Sec < INTEGER009) Then
Newline
PrintLn TSTRING020(3) + "Invalid Security Level"
End
Endif
Print TSTRING020(16) + "Send to Node #: "
InputStr "_", INTEGER017, 0, Len(INTEGER011), Mask_Num(), 32
RdUNet INTEGER017
STRING089 = UN_Stat()
If ((InStr("YHZ DBN", STRING089) <> 0) || (STRING089 == "")) Then
PrintLn TSTRING020(3) + "Node Unavailable for MSG"
PROC022()
Endif
Print TSTRING020(16) + "MSG: " + TSTRING020(15) + "[" + Space(62 - Len(String(PcbNode()))) + "]"
Backup 63 - Len(String(PcbNode()))
InputStr "_", STRING088, 0, 62 - Len(String(PcbNode())), Mask_Ascii(), 32
If (STRING088 <> "") Then
Broadcast INTEGER017, INTEGER017, "MSG FROM NODE " + String(PcbNode()) + ": " + STRING088
PrintLn TSTRING020(15) + "[" + TSTRING020(16) + STRING002 + " " + STRING003 + TSTRING020(15) + "]" + TSTRING020(16) + " MSG SENT TO NODE " + String(INTEGER017) + " ..."
Log "
" + STRING002 + " " + STRING003 + "
[MSG: Node " + String(INTEGER017) + "]", 0
Else
PrintLn TSTRING020(15) + "[" + TSTRING020(16) + STRING002 + " " + STRING003 + TSTRING020(15) + "]" + TSTRING020(16) + " MSG ABORTED ..."
Endif
PROC022()
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 11 End
; 2 Cls
; 5 ClrEol
; 1 Wait
; 324 Goto
; 398 Let
; 30 Print
; 55 PrintLn
; 259 If
; 1 DispFile
; 3 FCreate
; 11 FOpen
; 1 FAppend
; 27 FClose
; 55 FGet
; 4 FPutLn
; 5 ResetDisp
; 4 StartDisp
; 3 GetUser
; 6 DefColor
; 5 Delete
; 9 Log
; 4 InputStr
; 30 Gosub
; 10 Return
; 4 Inc
; 17 Newline
; 1 Newlines
; 1 Tokenize
; 2 GetToken
; 1 Broadcast
; 1 KbdChkOn
; 6 RdUNet
; 2 WrUNet
; 6 AnsiPos
; 12 Backup
; 7 Forward
; 1 Rename
; 6 FSeek
; 8 FRead
; 1 Copy
; 2 GetAltUser
; 3 TpaGet
; 7 TpaPut
; 26 EndProc
; 2 EndFunc
;
;
; ■ Functions used :
;
; 11 -
; 2 *
; 4 /
; 922 +
; 48 -
; 198 ==
; 69 <>
; 9 <
; 37 <=
; 5 >
; 9 >=
; 171 !
; 52 &&
; 42 ||
; 71 Len(
; 3 Lower()
; 86 Upper()
; 124 Left()
; 37 Right()
; 20 Space()
; 3 Ferr()
; 50 Chr()
; 3 Asc()
; 21 InStr()
; 5 Abort()
; 17 LTrim()
; 6 RTrim()
; 5 Time()
; 8 U_Name()
; 2 U_LDate()
; 2 U_LTime()
; 2 U_LDir()
; 2 U_Logons()
; 2 U_Ful()
; 2 U_Fdl()
; 2 U_Bdl()
; 2 U_Bul()
; 6 TimeAp()
; 34 StripAtx()
; 1 Strip()
; 2 Inkey()
; 46 String()
; 2 Mask_Num()
; 1 Mask_Ascii()
; 1 PCBDat()
; 11 PPEPath()
; 15 PcbNode()
; 10 ReadLine()
; 26 UN_Stat()
; 11 UN_Name()
; 3 UN_City()
; 17 UN_Oper()
; 15 Exist()
; 1 TokenStr()
; 1 GetY()
; 3 FileInf()
; 1 PPEName()
; 4 U_RecNum()
; 14 ReplaceStr()
; 4 Mixed()
; 1 Crc32()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Rd
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 5 While/EndWhile
; 95 If/Then or If/Then/Else
; 12 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------