home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .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.3O (Encryption type II) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- 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
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String TSTRING011(15)
- String TSTRING012(15)
- String TSTRING013(1)
- String STRING014
- String STRING015
- String STRING016
- String STRING017
- Word WORD001
- Word WORD002
- Int INT001
- Int INT002
- Int INT003
- Int INT004
- BigStr BIGSTR001
- BigStr BIGSTR002
- BigStr BIGSTR003
- BigStr BIGSTR004
- BigStr BIGSTR005
- BigStr BIGSTR006
- BigStr BIGSTR007
- BigStr BIGSTR008
-
- ;------------------------------------------------------------------------------
-
- GetUser
- If (U_Sec < SysopSec()) Then
- Log "UltraMoni: Insufficient Security To Use!", 0
- End
- Else
- Log "UltraMoni Entered at " + Left(Time(), 5), 0
- Endif
- If (AnsiOn()) Goto LABEL001
- PrintLn
- PrintLn "Sorry, this program requires ANSI capability."
- PrintLn
- Log "UltraMoni: Caller Does Not Have ANSI capability.", 0
- End
- :LABEL001
- BOOLEAN001 = 0
- GetToken INTEGER011
- If (INTEGER011 == 0) INTEGER011 = 60
- GetToken INTEGER009
- If (INTEGER009 == 0) INTEGER009 = 3
- GetToken STRING014
- GetToken STRING003
- BOOLEAN003 = 1
- If (STRING003 <> "CMS") BOOLEAN003 = 0
- If (BOOLEAN003) Then
- STRING008 = ""
- STRING008 = ReadLine(PPEPath() + "MONI.CMS", 1)
- FClose -1
- If (STRING008 == "") Then
- PrintLn
- PrintLn "MONI.CMS File Not Found!"
- PrintLn
- End
- Endif
- If (Exist(STRING008 + ".DAT")) Goto LABEL002
- PrintLn
- PrintLn "CMS Database (", STRING008, ") Not Found!"
- PrintLn
- End
- :LABEL002
- STRING009 = STRING008
- :LABEL003
- If (Right(STRING009, 1) <> "\") Then
- STRING009 = Left(STRING009, Len(STRING009) - 1)
- Goto LABEL003
- Goto LABEL004
- Endif
- STRING009 = STRING009 + "NOTES\"
- :LABEL004
- STRING017 = STRING008
- STRING008 = STRING008 + ".DAT"
- Endif
- BOOLEAN002 = 0
- BOOLEAN001 = 0
- INT004 = MaxNode()
- INT003 = 1
- STRING004 = "@X1F"
- STRING005 = "@X1F"
- INTEGER001 = 3
- INTEGER002 = 3
- STRING006 = "@X1E "
- TSTRING013(0) = "No "
- TSTRING013(1) = "Yes"
- STRING007 = ReadLine(PCBDat(), 45)
- STRING015 = ReadLine(PCBDat(), 41)
- StartDisp 1
- KbdChkOff
- INT001 = 0
- :LABEL005
- Inc INT001
- STRING003 = ""
- STRING003 = ReadLine(STRING007, INT001)
- If (STRING003 == "") Then
- FClose -1
- Else
- STRING003 = Left(STRING003, Len(STRING003) - 6)
- TSTRING011(INT001) = Left(STRING003, 1)
- STRING003 = Right(STRING003, Len(STRING003) - 4)
- TSTRING012(INT001) = Right(STRING003, Len(STRING003) - InStr(STRING003, ","))
- Goto LABEL005
- Endif
- :LABEL006
- Color 7
- Cls
- PrintLn "@X1E╔═══════════════[@X1F UltraMoni PCB Node Monitoring Utility v1.4 @X1E]════════════════╗@X07"
- PrintLn "@X1E║@X1B # Status User Reads: @X1E║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- PrintLn "@X1E║ ║@X07"
- Print "@X1E╚══════════════════════════════[@X1F ESC To Quit @X1E]════════════════════════════════╝@X07"
- Gosub LABEL009
- Gosub LABEL012
- INTEGER010 = Time()
- :LABEL007
- STRING001 = Inkey()
- If (STRING001 == Chr(27)) Then
- DefColor
- KbdChkOn
- Cls
- If (!BOOLEAN001 && (Random(2) == 0)) Log "UltraMoni: Please consider registering this PPE!", 0
- Log "UltraMoni Exited at " + Left(Time(), 5), 0
- End
- Endif
- If (STRING001 == "") Then
- Inc WORD002
- If (!BOOLEAN001 && (WORD002 > 45000)) Then
- Gosub LABEL019
- WORD002 = 0
- Goto LABEL006
- Endif
- If ((INTEGER008 + INTEGER009 < Time()) || (Time() < INTEGER008)) Then
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (INTEGER011 <> 999) Then
- If ((INTEGER010 + INTEGER011 < Time()) || (Time() < INTEGER010)) Then
- :LABEL008
- INT003 = INT003 + 20
- STRING003 = ScrText(3, 22, 3, 0)
- STRING003 = RTrim(STRING003, " ")
- If (STRING003 == INT004) INT003 = 1
- INTEGER010 = Time()
- Gosub LABEL009
- If ((INTEGER003 == 0) && (STRING014 <> "NOSKIP")) Goto LABEL008
- Goto LABEL007
- Endif
- Endif
- Goto LABEL007
- Endif
- If (STRING001 == 2) Then
- Inc INT003
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == 8) Then
- Dec INT003
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == 3) Then
- INT003 = INT003 + 20
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == 9) Then
- INT003 = INT003 - 20
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == 1) Then
- INTEGER002 = INTEGER001
- Inc INTEGER001
- Gosub LABEL012
- Goto LABEL007
- Endif
- If (STRING001 == 7) Then
- INTEGER002 = INTEGER001
- Dec INTEGER001
- Gosub LABEL012
- Goto LABEL007
- Endif
- If (STRING001 == Chr(13)) Then
- STRING003 = ScrText(3, INTEGER001, 3, 0)
- STRING003 = RTrim(STRING003, " ")
- Gosub LABEL013
- WORD002 = WORD002 + Random(50)
- If (!BOOLEAN001 && (WORD002 > 40000)) Then
- Gosub LABEL019
- WORD002 = 0
- Goto LABEL006
- Endif
- Goto LABEL006
- Endif
- If (STRING001 == 4) Then
- BOOLEAN002 = 0
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == 6) Then
- BOOLEAN002 = 1
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- Endif
- If (STRING001 == " ") Then
- STRING003 = ScrText(3, INTEGER001, 3, 0)
- STRING003 = RTrim(STRING003, " ")
- Gosub LABEL018
- INTEGER010 = Time()
- WORD002 = WORD002 + Random(49)
- If (!BOOLEAN001 && (WORD002 > 40000)) Then
- Gosub LABEL019
- WORD002 = 0
- Goto LABEL006
- Endif
- Goto LABEL006
- Endif
- INTEGER010 = Time()
- Gosub LABEL009
- Goto LABEL007
- :LABEL009
- If (INT003 < 1) INT003 = 1
- If (INT003 + 19 > INT004) INT003 = INT004 - 19
- If (INT004 < 25) INT003 = 1
- INT002 = 3
- INTEGER003 = 0
- Color 27
- If (BOOLEAN002) Then
- AnsiPos 9, 2
- Print " User "
- AnsiPos 31, 2
- Print "Status"
- Else
- AnsiPos 9, 2
- Print "Status"
- AnsiPos 31, 2
- Print "User "
- Endif
- INTEGER008 = Time()
- For INT001 = INT003 To INT003 + 19
- RdUNet INT001
- AnsiPos 3, INT002
- Color 30
- STRING002 = UN_Stat()
- INTEGER003 = INTEGER003 + Asc(STRING002)
- If (STRING002 == 0) STRING003 = "(Inactive Node)"
- If (((STRING002 == " ") || (STRING002 == "V")) || (STRING002 == "Y")) STRING003 = "No Caller This Node"
- If (STRING002 == "A") STRING003 = "Available For Chat"
- If (STRING002 == "B") STRING003 = "Out To DOS"
- If (STRING002 == "C") STRING003 = "Chatting With Sysop"
- If (STRING002 == "D") STRING003 = "Out Of Code In Door"
- If (STRING002 == "E") STRING003 = "Entering A Message"
- If (STRING002 == "F") STRING003 = "Viewing A File"
- If (STRING002 == "G") STRING003 = "Chatting With Group"
- If (STRING002 == "H") STRING003 = "Handling Mail"
- If (STRING002 == "L") STRING003 = "Logoff Pending"
- If (STRING002 == "M") STRING003 = "Recvd Brdcst Msg"
- If (STRING002 == "N") STRING003 = "Running Event"
- If (STRING002 == "O") STRING003 = "Logging Into System"
- If (STRING002 == "P") STRING003 = "Paging The Sysop"
- If (STRING002 == "Q") STRING003 = "Run On Connect"
- If (STRING002 == "R") STRING003 = "Recycle BBS"
- If (STRING002 == "S") STRING003 = "Answering Script"
- If (STRING002 == "T") STRING003 = "Transferring A File"
- If (STRING002 == "U") STRING003 = "Unavailable For Chat"
- If (STRING002 == "W") STRING003 = "Drop To Dos - Wait"
- If (STRING002 == "X") STRING003 = "Drop To Dos - Now"
- If (INT001 > INT004) STRING003 = " ---"
- If (BOOLEAN002) Then
- If ((STRING002 < "A") || (STRING002 == "Z")) Then
- PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Oper(), 47)
- Else
- Select Case (STRING002)
- Case "A", "U"
- PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Left(UN_City(), 44)
- Case "H", "Q"
- PrintLn Left(String(INT001), 5), STRING002, " ", Left(STRING003, 20), " ", Left(UN_Name(), 44)
- If (STRING002 == "D") Then
- PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Mid(UN_Oper(), InStr(UN_Oper(), "-") + 2, 44)
- Else
- PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Left(UN_Oper(), 44)
- Endif
- Else
- Case "H"
- PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Name(), 47)
- Case ((STRING002 == " ") || (STRING002 == "N")) || (STRING002 == "D"), " ", "N", "D", " ", "Z", "V", "Y", "Q"
- PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Oper(), 47)
- Goto LABEL010
- Case Else
- PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Name() + " (" + UN_City() + ")", 47)
- Endif
- Endif
- End Select
- :LABEL010
- Inc INT002
- Next
- Inc WORD001
- :LABEL011
- AnsiPos 71, 2
- Print "@X1E", WORD001
- Return
- :LABEL012
- If (INTEGER001 < 3) Then
- INTEGER001 = 3
- Return
- Endif
- If (INTEGER001 > 22) Then
- INTEGER001 = 22
- Return
- Endif
- AnsiPos 2, INTEGER002
- Print STRING006
- AnsiPos 2, INTEGER001
- Print STRING004
- AnsiPos 78, INTEGER002
- Print STRING006
- AnsiPos 78, INTEGER001
- Print STRING005
- INTEGER008 = Time()
- INTEGER010 = Time()
- Goto LABEL011
- Return
- :LABEL013
- RdUNet STRING003
- INTEGER007 = U_RecNum(UN_Name())
- If (((INTEGER007 == -1) || (UN_Stat() < "A")) || (Left(UN_Name(), 1) < "@")) Then
- If (!OnLocal()) Print Chr(7)
- If (OnLocal()) Then
- Sound 1000
- Delay 1
- Sound 0
- Endif
- Return
- Endif
- GetAltUser INTEGER007
- STRING010 = STRING003
- If (BOOLEAN003) Goto LABEL016
- :LABEL014
- Color 7
- Cls
- WORD002 = WORD002 + Random(25) + 25
- PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
- PrintLn "@X10│ @X1B█▓▒░ @X1FUser Viewer - PCB @X1B░▒▓█ @X1FUser Number: @X19│@X0F"
- PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
- PrintLn "@X10┌──────────────────────────────────────┬──────────────────────────────────────@X19┐@X0F"
- PrintLn "@X10│@X1B Name [ ] @X10│@X1B Reg. Exp. Date[ ] @X19│@X0F"
- PrintLn "@X10│@X1B From [ ] @X10│@X1B Tot # of U/Ls [ ] @X19│@X0F"
- PrintLn "@X10│@X1B B/D Phone [ ] @X10│@X1B Tot # of D/Ls [ ] @X19│@X0F"
- PrintLn "@X10│@X1B H/V Phone [ ] @X10│@X1B Tot bytes U/L [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Expert Mode [ ] @X10│@X1B Tot bytes D/L [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Def. Protocol[ ] @X10│@X1B Last Date On [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Page Length [ ] @X10│@X1B Last Time On [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Security Lvl [ ] @X10│@X1B Total Logons [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Expired Sec [ ] @X10│@X1B Password [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Verify Info [ ] @X10│@X1B Alias [ ] @X19│@X0F"
- PrintLn "@X10│@X1B Pwrd Changes [ ] @X10│@X1B Last DIR Scan [ ] @X19│@X0F"
- PrintLn "@X10├──────────────────────────────────────┴──────────────────────────────────────@X19┤@X0F"
- PrintLn "@X10│ @X1B Comment 1 [ ] @X19│@X0F"
- PrintLn "@X10│ @X1B Comment 2 [ ] @X19│@X0F"
- PrintLn "@X10├─────────────────────────────────────────────────────────────────────────────@X19┤@X0F"
- PrintLn "@X10│ @X19│@X0F"
- PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
- Color 31
- AnsiPos 35, 2
- Print "Node Number: @X1E", STRING003
- AnsiPos 72, 2
- Print INTEGER007
- AnsiPos 18, 5
- Print Left(U_Name(), 20)
- AnsiPos 18, 6
- Print Left(U_City, 20)
- AnsiPos 18, 7
- Print U_BDPhone
- AnsiPos 18, 8
- Print U_HVPhone
- AnsiPos 18, 9
- Print TSTRING013(U_Expert)
- AnsiPos 18, 10
- For INT001 = 1 To 15
- If (U_Trans == TSTRING011(INT001)) Then
- Print Left(TSTRING012(INT001), 20)
- Break
- Endif
- Next
- AnsiPos 18, 11
- Print U_PageLen
- AnsiPos 18, 12
- If (U_Sec == 0) Then
- Print " !! Locket Out !! "
- Else
- Print U_Sec
- Endif
- AnsiPos 18, 13
- Print U_ExpSec
- AnsiPos 18, 14
- If (Psa(2)) Then
- Print Left(U_Ver, 20)
- Else
- Print "N/A"
- Endif
- AnsiPos 18, 15
- If (Psa(4)) Then
- Print U_PwdTc()
- Else
- Print "N/A"
- Endif
- AnsiPos 59, 5
- Print U_ExpDate
- AnsiPos 59, 6
- Print U_Ful()
- AnsiPos 59, 7
- Print U_Fdl()
- AnsiPos 59, 8
- Print U_Bul()
- AnsiPos 59, 9
- Print U_Bdl()
- AnsiPos 59, 10
- Print U_LDate()
- AnsiPos 59, 11
- Print U_LTime()
- AnsiPos 59, 12
- Print U_Logons()
- AnsiPos 59, 13
- Print U_Pwd
- AnsiPos 59, 14
- If (Psa(1)) Then
- Print U_Alias
- Else
- Print "N/A"
- Endif
- AnsiPos 59, 15
- Print U_LDir()
- AnsiPos 24, 17
- Print U_Cmnt1
- AnsiPos 24, 18
- Print U_Cmnt2
- FReAltUser
- AnsiPos 27, 20
- KeyFlush
- Print "@X1FHit <any> Key To Continue"
- :LABEL015
- STRING003 = Inkey()
- If (STRING003 == "") Goto LABEL015
- Return
- :LABEL016
- Color 23
- Cls
- WORD002 = WORD002 + Random(50) + 50
- PrintLn " @X1F User Viewer - CMS @X17"
- PrintLn " User Number│ Password│"
- PrintLn " Name on BBS│ Times On│"
- PrintLn " First Name│ Security│"
- PrintLn " Middle Init│ Expiration│"
- PrintLn " Last Name│ Exp Security│"
- PrintLn " Company│ │"
- PrintLn " Address 1│ Curr Membership│"
- PrintLn " Address 2│ Curr Memb Start│"
- PrintLn " City│ Membership Status│"
- PrintLn " State│ Current Options│"
- PrintLn " Postal Code│ │"
- PrintLn " Voice Phone│ Renewal Pending│"
- PrintLn " Fax Phone│ Renewal Start│"
- PrintLn " Birth Date│ Renewal Status│"
- PrintLn " │ Renewal Options│"
- PrintLn " Acct Status│ │"
- PrintLn " Acct Balance│ Auto Renewal│"
- PrintLn " Member Since│ Auto Options│"
- PrintLn " │ │"
- PrintLn " Switches│ Attached Text│"
- PrintLn
- FOpen 1, STRING017 + "." + Left(U_Name(), 1), 0, 0
- INT001 = FileInf(STRING017 + "." + Left(U_Name(), 1), 4)
- INT001 = INT001 / 29
- BOOLEAN004 = 0
- For INTEGER004 = 1 To INT001
- FSeek 1, INTEGER004 * 29 - 29, 0
- FRead 1, BIGSTR006, 29
- If (Right(BIGSTR006, 25) == Left(U_Name(), 25)) Then
- FSeek 1, INTEGER004 * 29 - 29, 0
- FRead 1, INTEGER006, 4
- BOOLEAN004 = 1
- Break
- Endif
- Next
- FClose 1
- If (!BOOLEAN004) Goto LABEL014
- INTEGER005 = INTEGER006 * 469 - 469
- INTEGER014 = FileInf(STRING008, 4) / 469
- FOpen 1, STRING008, 0, 0
- FSeek 1, INTEGER005, 0
- FRead 1, BIGSTR006, 469
- Color 30
- AnsiPos 16, 2
- FSeek 1, INTEGER005, 0
- FRead 1, INTEGER004, 4
- Print INTEGER004
- BIGSTR008 = String(INTEGER004)
- AnsiPos 16, 3
- Print Mid(BIGSTR006, 5, 25)
- AnsiPos 16, 4
- Print Mid(BIGSTR006, 32, 20)
- AnsiPos 16, 5
- Print Mid(BIGSTR006, 72, 1)
- AnsiPos 16, 6
- Print Mid(BIGSTR006, 52, 20)
- AnsiPos 16, 7
- Print Mid(BIGSTR006, 73, 30)
- AnsiPos 16, 8
- Print Mid(BIGSTR006, 103, 30)
- AnsiPos 16, 9
- Print Mid(BIGSTR006, 133, 30)
- AnsiPos 16, 10
- Print Mid(BIGSTR006, 163, 20)
- AnsiPos 16, 11
- Print Mid(BIGSTR006, 183, 20)
- AnsiPos 16, 12
- Print Mid(BIGSTR006, 203, 10)
- AnsiPos 16, 13
- If (Mid(BIGSTR006, 213, 5) == " ") Then
- Print "(000) ", Mid(BIGSTR006, 221, 3), "-", Mid(BIGSTR006, 224, 4)
- Else
- Print "(", Mid(BIGSTR006, 213, 3), ") ", Mid(BIGSTR006, 216, 3), "-", Mid(BIGSTR006, 219, 4)
- Endif
- AnsiPos 16, 14
- If ((Mid(BIGSTR006, 228, 5) <> " ") && (Mid(BIGSTR006, 228, 5) <> "00000")) Then
- Print "(", Mid(BIGSTR006, 228, 3), ") ", Mid(BIGSTR006, 231, 3), "-", Mid(BIGSTR006, 234, 4)
- Endif
- AnsiPos 16, 15
- FSeek 1, INTEGER005 + 451, 0
- FRead 1, INTEGER004, 2
- If ((INTEGER004 == 0) || (INTEGER004 == 7305)) Then
- Print "Unknown"
- Else
- Print ToDate(INTEGER004 + 29219)
- Endif
- AnsiPos 16, 17
- If (Mid(BIGSTR006, 30, 1) <> "X") Then
- Print "Active"
- Else
- Print "Deleted"
- Endif
- AnsiPos 16, 18
- FSeek 1, INTEGER005 + 383, 0
- FRead 1, INTEGER004, 4
- Print ToMoney(INTEGER004)
- AnsiPos 16, 19
- FSeek 1, INTEGER005 + 418, 0
- FRead 1, INTEGER004, 2
- If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
- Print "00-00-00"
- Else
- Print ToDate(INTEGER004 + 29219)
- Endif
- AnsiPos 16, 21
- BIGSTR007 = Mid(BIGSTR006, 448, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- BIGSTR007 = Mid(BIGSTR006, 449, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- Color 28
- AnsiPos 64, 2
- Print U_Pwd
- AnsiPos 64, 3
- Print U_Logons()
- AnsiPos 64, 4
- Print U_Sec
- AnsiPos 64, 5
- Print U_ExpDate
- AnsiPos 64, 6
- Print U_ExpSec
- Color 30
- AnsiPos 64, 8
- If (Mid(BIGSTR006, 418, 1) == " ") Then
- Print "None"
- Else
- Print "Type ", Mid(BIGSTR006, 418, 1)
- Endif
- AnsiPos 64, 9
- FSeek 1, INTEGER005 + 438, 0
- FRead 1, INTEGER004, 2
- If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
- Print "00-00-00"
- Else
- Print ToDate(INTEGER004 + 29219)
- Endif
- AnsiPos 64, 10
- If (Mid(BIGSTR006, 421, 1) == 0) Print "n/a"
- If (Mid(BIGSTR006, 421, 1) == 1) Print "Active"
- If (Mid(BIGSTR006, 421, 1) == 2) Print "Ready for use"
- If (Mid(BIGSTR006, 421, 1) == 3) Print "Waiting op Ok"
- AnsiPos 64, 11
- BIGSTR007 = Mid(BIGSTR006, 422, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- BIGSTR007 = Mid(BIGSTR006, 423, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- Color 30
- AnsiPos 64, 13
- If (Mid(BIGSTR006, 430, 1) == " ") Then
- Print "None"
- Else
- Print "Type ", Mid(BIGSTR006, 430, 1)
- Endif
- AnsiPos 64, 14
- FSeek 1, INTEGER005 + 453, 0
- FRead 1, INTEGER004, 2
- If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
- Print "00-00-00"
- Else
- Print ToDate(INTEGER004 + 29219)
- Endif
- AnsiPos 64, 15
- If (Mid(BIGSTR006, 456, 1) == 0) Print "n/a"
- If (Mid(BIGSTR006, 456, 1) == 1) Print "Ready for use"
- If (Mid(BIGSTR006, 456, 1) == 2) Print "Waiting op OK"
- AnsiPos 64, 16
- BIGSTR007 = Mid(BIGSTR006, 431, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- BIGSTR007 = Mid(BIGSTR006, 432, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- Color 30
- AnsiPos 64, 18
- If (Mid(BIGSTR006, 443, 1) == " ") Then
- Print "Not selected"
- Else
- Print "Type ", Mid(BIGSTR006, 443, 1)
- Endif
- AnsiPos 64, 19
- BIGSTR007 = Mid(BIGSTR006, 444, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- BIGSTR007 = Mid(BIGSTR006, 445, 1)
- For INTEGER004 = 7 To 0 Step -1
- If (IsBitSet(BIGSTR007, INTEGER004)) Then
- Print "@X1EO"
- Continue
- Endif
- Print "@X16o"
- Next
- Color 30
- AnsiPos 64, 21
- If (!Exist(STRING009 + BIGSTR008 + ".NOT") && !Exist(STRING009 + BIGSTR008 + ".MSG")) Print "None"
- If (!Exist(STRING009 + BIGSTR008 + ".NOT") && Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Message"
- If (Exist(STRING009 + BIGSTR008 + ".NOT") && !Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Note"
- If (Exist(STRING009 + BIGSTR008 + ".NOT") && Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Note & Msg"
- AnsiPos 1, 22
- STRING003 = "Record " + String(INTEGER006) + " of " + String(INTEGER014)
- Print Space((74 - Len(STRING003)) / 2), "@X17", STRING003
- AnsiPos 13, 23
- Print "@X1FHit Enter For PCB View or Any Other Key To Continue"
- FClose 1
- KeyFlush
- :LABEL017
- STRING003 = Inkey()
- If (STRING003 == "") Goto LABEL017
- If (STRING003 == Chr(13)) Then
- STRING003 = STRING010
- Goto LABEL014
- Endif
- FReAltUser
- Return
- :LABEL018
- If (STRING003 > MaxNode()) Then
- If (OnLocal()) Then
- Sound 1000
- Delay 1
- Sound 0
- Endif
- If (!OnLocal()) Print Chr(7)
- Return
- Endif
- RdUNet STRING003
- Color 7
- Cls
- WORD002 = WORD002 + Random(25) + 25
- PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────┐"
- PrintLn "│@X1F Change Node Info - Node # @X19│"
- PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘"
- PrintLn Space(77)
- PrintLn " @X1EName@X1F @X1E:@X1F @X0F @X1F "
- PrintLn Space(77)
- PrintLn " @X1ECity@X1F @X1E:@X1F @X0F @X1F "
- PrintLn Space(77)
- PrintLn " @X1EOperation@X1F @X1E:@X1F @X0F @X1F "
- PrintLn Space(77)
- PrintLn " @X1EStatus@X1F @X1E:@X1F @X0F @X1F (See Below) "
- PrintLn Space(77)
- PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────┐"
- PrintLn "│@X1F Make Desired Changes And Hit Enter @X19│"
- PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘"
- PrintLn "@X07"
- PrintLn " A = Available For Chat L = Logoff Pending T = Transferring A file"
- PrintLn " B = Drop To DOS M = Recvd Brdcst Msg U = Unavailble For Chat"
- PrintLn " C = Chatting With Sysop N = Running An Event V = No Caller Online"
- PrintLn " D = Out Of Code In Door O = Logging Into System W = Drop To Dos - Wait"
- PrintLn " E = Entering A Message P = Paging The Sysop X = Drop To Dos - Now"
- PrintLn " F = Viewing A File R = Recycle BBS Y = No Caller (Clear)"
- Print " G = Chatting With Group S = Answering A Script Z = Inactive Node"
- AnsiPos 29, 2
- Print "@X1F", STRING003
- AnsiPos 14, 5
- Print "@X0F", UN_Name()
- AnsiPos 14, 7
- Print UN_City()
- AnsiPos 14, 9
- Print UN_Oper()
- AnsiPos 14, 11
- Print UN_Stat()
- AnsiPos 14, 5
- BIGSTR002 = 1
- BIGSTR003 = 1
- BIGSTR004 = 1
- BIGSTR001 = ""
- InputStr "_", BIGSTR002, 15, 25, Mask_Ascii(), 0
- AnsiPos 14, 5
- If (Left(BIGSTR002, 1) == 1) Then
- BIGSTR002 = UN_Name()
- Print UN_Name()
- Else
- Print Left(BIGSTR002, 25)
- Endif
- AnsiPos 14, 7
- InputStr "_", BIGSTR003, 15, 24, Mask_Ascii(), 0
- AnsiPos 14, 7
- If (Left(BIGSTR003, 1) == 1) Then
- BIGSTR003 = UN_City()
- Print UN_City()
- Else
- Print Left(BIGSTR003, 24)
- Endif
- AnsiPos 14, 9
- InputStr "_", BIGSTR004, 15, 48, Mask_Ascii(), 0
- AnsiPos 14, 9
- If (Left(BIGSTR004, 1) == 1) Then
- BIGSTR004 = UN_Oper()
- Print UN_Oper()
- Else
- Print Left(BIGSTR004, 48)
- Endif
- AnsiPos 14, 11
- InputStr "_", BIGSTR001, 15, 1, "ABCDEFGHLMNOPRSTUVWXYZabcdefghlmnoprstuvwxyz", 8
- AnsiPos 14, 11
- If (BIGSTR001 == "") Then
- BIGSTR001 = UN_Stat()
- Print UN_Stat()
- Else
- Print BIGSTR001
- Endif
- AnsiPos 19, 14
- Print "@X1F", Space(29)
- AnsiPos 19, 14
- InputStr "Changes (y/N) ", STRING016, 31, 1, "YNyn", 0
- If ((STRING016 <> "Y") && (STRING016 <> "y")) Return
- If (((BIGSTR001 == "V") || (BIGSTR001 == "Y")) || (BIGSTR001 == "Z")) Then
- BIGSTR002 = ""
- BIGSTR003 = ""
- If (BIGSTR001 <> "V") BIGSTR004 = ""
- If (BIGSTR001 == "Z") BIGSTR001 = Chr(0)
- If ((BIGSTR001 == "V") || (BIGSTR001 == "Y")) BIGSTR001 = " "
- Endif
- WrUNet STRING003, BIGSTR001, BIGSTR002, BIGSTR003, BIGSTR004, ""
- INTEGER012 = MaxNode() / 8
- If (INTEGER012 * 8 < MaxNode()) Inc INTEGER012
- BIGSTR005 = Space(INTEGER012)
- INTEGER013 = INTEGER012 + 6
- FOpen 1, STRING015, 2, 0
- FSeek 1, INTEGER013, 0
- FRead 1, BIGSTR005, Len(BIGSTR005)
- If (BIGSTR004 <> "Z") Then
- BitSet BIGSTR005, STRING003 - 1
- Else
- BitClear BIGSTR005, STRING003 - 1
- Endif
- FSeek 1, INTEGER013, 0
- FWrite 1, BIGSTR005, Len(BIGSTR005)
- FClose 1
- Return
- End
- :LABEL019
- Color 7
- Cls
- PrintLn
- PrintLn
- PrintLn
- PrintLn "@POS:24@@X0C┌───────────────────────────────┐"
- PrintLn "@POS:24@@X0C│ │"
- PrintLn "@POS:24@@X0C│ @X0EAbout UltraMoni @X0C│"
- PrintLn "@POS:24@@X0C│ @X0FVersion 1.4 @X0C│"
- PrintLn "@POS:24@@X0C│ @X0A─────────────────── @X0C│"
- PrintLn "@POS:24@@X0C│ │"
- PrintLn "@POS:24@@X0C│ @X0FIf you find this program of @X0C│"
- PrintLn "@POS:24@@X0C│ @X0Fvalue, please consider @X0C│"
- PrintLn "@POS:24@@X0C│ @X0Fregistering it. Thank you! @X0C│"
- PrintLn "@POS:24@@X0C│ │"
- PrintLn "@POS:24@@X0C│ @X0BProgrammed by: Gerry Schechter@X0C│"
- PrintLn "@POS:24@@X0C│ │"
- PrintLn "@POS:24@@X0C└───────────────────────────────┘"
- PrintLn
- Print Space(26)
- KeyFlush
- Wait
- Return
- STRING001 = "Registered To: UNREGISTERED"
- STRING001 = " UltraMoni v1.4 - (C) 1994 Gerry Schechter "
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 6 End
- ; 6 Cls
- ; 1 Wait
- ; 14 Color
- ; 158 Goto
- ; 161 Let
- ; 124 Print
- ; 121 PrintLn
- ; 135 If
- ; 3 FOpen
- ; 5 FClose
- ; 1 StartDisp
- ; 1 GetUser
- ; 1 DefColor
- ; 5 Log
- ; 5 InputStr
- ; 18 Gosub
- ; 11 Return
- ; 2 Delay
- ; 7 Inc
- ; 2 Dec
- ; 4 GetToken
- ; 1 KbdChkOn
- ; 1 KbdChkOff
- ; 3 RdUNet
- ; 1 WrUNet
- ; 88 AnsiPos
- ; 4 Sound
- ; 11 FSeek
- ; 10 FRead
- ; 1 FWrite
- ; 3 KeyFlush
- ; 1 GetAltUser
- ; 1 BitSet
- ; 1 BitClear
- ; 2 FReAltUser
- ;
- ;
- ; ■ Functions used :
- ;
- ; 27 -
- ; 4 *
- ; 4 /
- ; 70 +
- ; 12 -
- ; 99 ==
- ; 11 <>
- ; 24 <
- ; 11 <=
- ; 7 >
- ; 22 >=
- ; 92 !
- ; 33 &&
- ; 40 ||
- ; 7 Len(
- ; 44 Mid()
- ; 42 Left()
- ; 4 Right()
- ; 9 Space()
- ; 6 Chr()
- ; 1 Asc()
- ; 2 InStr()
- ; 3 RTrim()
- ; 6 Random()
- ; 19 Time()
- ; 4 U_Name()
- ; 1 U_LDate()
- ; 1 U_LTime()
- ; 1 U_LDir()
- ; 2 U_Logons()
- ; 1 U_Ful()
- ; 1 U_Fdl()
- ; 1 U_Bdl()
- ; 1 U_Bul()
- ; 3 Inkey()
- ; 11 String()
- ; 3 Mask_Ascii()
- ; 2 PCBDat()
- ; 1 PPEPath()
- ; 4 ReadLine()
- ; 1 SysopSec()
- ; 4 OnLocal()
- ; 5 UN_Stat()
- ; 11 UN_Name()
- ; 5 UN_City()
- ; 8 UN_Oper()
- ; 9 Exist()
- ; 1 AnsiOn()
- ; 1 U_PwdTc()
- ; 3 Psa()
- ; 2 FileInf()
- ; 4 MaxNode()
- ; 1 U_RecNum()
- ; 3 ScrText()
- ; 4 ToDate()
- ; 1 ToMoney()
- ; 8 IsBitSet()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : RdHs
- ;
- ; 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()
- ;
- ; H - Read Password or Password History ■ 5
- ; Program is reading the user's password or last password history
- ; This may be ok for a password manager, but it is very suspect. Check!
- ; ■ Search for : U_PWDHIST, U_PWD
- ;
- ; s - Sysop level access ■ 5
- ; Program is reading the sysop access level, this may be normal
- ; but still it is very suspect. It is the best way to give a user
- ; all priviledges. Check!
- ; ■ Search for : SYSOPSEC()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 11 For/Next
- ; 0 While/EndWhile
- ; 64 If/Then or If/Then/Else
- ; 1 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-