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.O1 (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer TINTEGER007(1)
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer INTEGER012
- Integer INTEGER013
- Integer INTEGER014
- Integer INTEGER015
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String TSTRING006(1)
- String STRING007
- String STRING008
- String STRING009
-
- ;------------------------------------------------------------------------------
-
- GetUser
- INTEGER002 = 0
- INTEGER003 = 0
- STRING009 = GetToken()
- STRING002 = STRING009
- STRING005 = "@X08[JOiN 1.2 @X07(@X08r@X05)@X08]"
- INTEGER001 = ReadLine(PCBDat(), 108)
- FClose -1
- Redim TSTRING006, INTEGER001 + 1
- Redim TINTEGER007, INTEGER001 + 1
- INTEGER010 = ReadLine(PPEPath() + "JOIN.CFG", 1)
- INTEGER011 = ReadLine(PPEPath() + "JOIN.CFG", 2)
- STRING007 = ReadLine(PPEPath() + "JOIN.CFG", 3)
- STRING008 = Mid(ReadLine(PPEPath() + "JOIN.CFG", 4), 1, 1)
- If (Upper(STRING008) == "Y") BOOLEAN002 = 1
- FClose -1
- INTEGER014 = ReadLine(PCBDat(), 89)
- FClose -1
- If (INTEGER014 == 0) INTEGER014 = 65535
- INTEGER014 = INTEGER014 * 60
- INTEGER013 = INTEGER011 - INTEGER010
- If (Exist(PPEPath() + "CONFS")) STRING001 = PPEPath() + "CONFS"
- If (Exist(PPEPath() + "CONFS" + GrafMode())) STRING001 = PPEPath() + "CONFS" + GrafMode()
- If (Exist(PPEPath() + "CONFS" + LangExt())) STRING001 = PPEPath() + "CONFS" + LangExt()
- If (Exist(PPEPath() + "CONFS" + GrafMode() + LangExt())) STRING001 = PPEPath() + "CONFS" + GrafMode() + LangExt()
- If (STRING009 <> "") Goto LABEL015
- If ((GrafMode() == "N") || (GrafMode() == "A")) Goto LABEL017
- If ((U_PageLen < INTEGER011) && (U_PageLen > 0)) Goto LABEL017
- Print "@X07@POFF@"
- Cls
- DispFile PPEPath() + "HEAD", 1 + 4
- AnsiPos 1, INTEGER011 + 1
- DispFile PPEPath() + "FOOT", 1 + 4
- INTEGER012 = GetY()
- If (GetX() > 1) Inc INTEGER012
- AnsiPos 65, INTEGER011 + 1
- Print STRING005
- If (BOOLEAN002 == 1) Then
- AnsiPos 25, INTEGER010 + INTEGER013 / 2 - 1
- Print "@X08R@X07EA@X0FDiNG CONFERENCE DA@X07T@X08A "
- Endif
- FOpen 1, STRING001, 0, 0
- :LABEL001
- If (Ferr(1)) Goto LABEL002
- FGet 1, STRING002
- If (Upper(StripAtx(STRING002)) == "<EOF>") Goto LABEL002
- If (U_InConf(U_RecNum(U_Name()), StripAtx(STRING002)) == 1) Then
- TINTEGER007(INTEGER003) = StripAtx(STRING002) + 1
- If (StripAtx(STRING002) == CurConf()) INTEGER008 = INTEGER003
- FGet 1, TSTRING006(TINTEGER007(INTEGER003))
- BOOLEAN001 = 1
- Inc INTEGER003
- If (BOOLEAN002 == 1) Then
- If (INTEGER009 > -1) Then
- Print "."
- Inc INTEGER009
- Endif
- If (INTEGER009 == 4) Then
- Backup 6
- Print " "
- INTEGER009 = 0
- Endif
- Endif
- Endif
- If (BOOLEAN001 == 0) FGet 1, STRING002
- BOOLEAN001 = 0
- Goto LABEL001
- :LABEL002
- FClose 1
- If (BOOLEAN002 == 1) Then
- AnsiPos 1, INTEGER010 + INTEGER013 / 2 - 1
- ClrEol
- Endif
- STRING002 = ""
- INTEGER004 = INTEGER003 - 1
- If (INTEGER013 > INTEGER004) INTEGER013 = INTEGER004
- If (INTEGER004 < 0) Then
- Print "@X07"
- Cls
- DispText 278, 2048 + 128
- End
- Endif
- INTEGER002 = 0
- INTEGER003 = 0
- STRING004 = INTEGER008
- INTEGER006 = INTEGER008
- If (INTEGER008 > INTEGER004 - INTEGER013) INTEGER006 = INTEGER004 - INTEGER013
- If (INTEGER008 <= INTEGER004 - INTEGER013 / 2) INTEGER006 = INTEGER008 - INTEGER013 / 2
- If (STRING004 < INTEGER013 / 2) INTEGER006 = 0
- INTEGER015 = Time() + INTEGER014
- :LABEL003
- Print "@X07"
- INTEGER005 = STRING004
- For INTEGER002 = INTEGER006 To INTEGER006 + INTEGER013
- AnsiPos 1, INTEGER010 + INTEGER002 - INTEGER006
- ClrEol
- If (INTEGER002 <= INTEGER004) Then
- STRING004 = INTEGER002
- Gosub LABEL013
- Endif
- Next
- STRING004 = INTEGER005
- AnsiPos 1, STRING004 - INTEGER006 + INTEGER010
- Gosub LABEL012
- :LABEL004
- STRING003 = Inkey()
- If (STRING003 <> "") Goto LABEL005
- If (Time() >= INTEGER015) Goto LABEL021
- If (Time() == INTEGER015 - 10) Then
- Print "@BEEP@"
- Delay 19
- Endif
- If (Time() == INTEGER015 - 20) Then
- Print "@BEEP@"
- Delay 19
- Endif
- If (Time() == INTEGER015 - 30) Then
- Print "@BEEP@"
- Delay 19
- Endif
- If (Time() == INTEGER015 - 40) Then
- Print "@BEEP@"
- Delay 19
- Endif
- If (Time() == INTEGER015 - 50) Then
- Print "@BEEP@"
- Delay 19
- Endif
- Goto LABEL004
- :LABEL005
- INTEGER015 = Time() + INTEGER014
- If (Upper(STRING003) == "Q") Goto LABEL020
- If (Upper(STRING003) == "E") Goto LABEL016
- If (STRING003 == "HOME") Goto LABEL006
- If (STRING003 == "PGUP") Goto LABEL007
- If (STRING003 == "UP") Goto LABEL008
- If (STRING003 == "DOWN") Goto LABEL009
- If (STRING003 == "PGDN") Goto LABEL010
- If (STRING003 == "END") Goto LABEL011
- If (STRING003 == "LEFT") Goto LABEL008
- If (STRING003 == "RIGHT") Goto LABEL009
- If (STRING003 == "7") Goto LABEL006
- If (STRING003 == "9") Goto LABEL007
- If (STRING003 == "8") Goto LABEL008
- If (STRING003 == "2") Goto LABEL009
- If (STRING003 == "3") Goto LABEL010
- If (STRING003 == "1") Goto LABEL011
- If (STRING003 == "4") Goto LABEL008
- If (STRING003 == "6") Goto LABEL009
- If (STRING003 == Chr(13)) Goto LABEL014
- If (STRING003 == Chr(10)) Goto LABEL014
- If (STRING003 == Chr(32)) Goto LABEL014
- If (STRING003 == Chr(27)) Goto LABEL020
- Goto LABEL004
- :LABEL006
- If (STRING004 == 0) Goto LABEL004
- INTEGER006 = 0
- STRING004 = 0
- Goto LABEL003
- :LABEL007
- If (STRING004 == 0) Goto LABEL004
- If (STRING004 <= INTEGER013) Goto LABEL006
- INTEGER006 = INTEGER006 - INTEGER013 - 1
- If (INTEGER006 < 0) INTEGER006 = 0
- STRING004 = STRING004 - INTEGER013 - 1
- Goto LABEL003
- :LABEL008
- If (STRING004 == 0) Goto LABEL004
- If (GetY() == INTEGER010) Then
- If (STRING004 <= INTEGER013) Then
- INTEGER006 = 0
- Dec STRING004
- Goto LABEL003
- Endif
- INTEGER006 = INTEGER006 - INTEGER013 - 1
- Dec STRING004
- Goto LABEL003
- Endif
- Print "@X07"
- AnsiPos 1, GetY()
- ClrEol
- Gosub LABEL013
- Dec STRING004
- AnsiPos 1, GetY() - 1
- Print STRING007
- ClrEol
- Gosub LABEL012
- Goto LABEL004
- :LABEL009
- If (STRING004 == INTEGER004) Goto LABEL004
- If (GetY() == INTEGER011) Then
- If (STRING004 >= INTEGER004 - INTEGER013) Then
- INTEGER006 = INTEGER004 - INTEGER013
- Inc STRING004
- Goto LABEL003
- Endif
- INTEGER006 = INTEGER006 + INTEGER013 + 1
- Inc STRING004
- Goto LABEL003
- Endif
- Print "@X07"
- AnsiPos 1, GetY()
- ClrEol
- Gosub LABEL013
- Inc STRING004
- AnsiPos 1, GetY() + 1
- Print STRING007
- ClrEol
- Gosub LABEL012
- Goto LABEL004
- :LABEL010
- If (STRING004 == INTEGER004) Goto LABEL004
- If (STRING004 >= INTEGER004 - INTEGER013) Goto LABEL011
- INTEGER006 = INTEGER006 + INTEGER013 + 1
- If (INTEGER006 > INTEGER004 - INTEGER013) INTEGER006 = INTEGER004 - INTEGER013
- STRING004 = STRING004 + INTEGER013 + 1
- Goto LABEL003
- :LABEL011
- If (STRING004 == INTEGER004) Goto LABEL004
- INTEGER006 = INTEGER004 - INTEGER013
- STRING004 = INTEGER004
- Goto LABEL003
- :LABEL012
- Print STRING007
- AnsiPos 1, GetY()
- ClrEol
- Print StripAtx(TSTRING006(TINTEGER007(STRING004)))
- Return
- :LABEL013
- Print TSTRING006(TINTEGER007(STRING004))
- Return
- :LABEL014
- Print "@X07"
- Cls
- STRING002 = TINTEGER007(STRING004) - 1
- :LABEL015
- KbdStuff "J " + STRING002 + Chr(13)
- End
- :LABEL016
- Print "@X07"
- AnsiPos 1, INTEGER012
- PromptStr 64, STRING002, 6, Mask_Num(), 0
- If (STRING002 == "") End
- Goto LABEL015
- :LABEL017
- Print "@X07"
- Cls
- DispFile PPEPath() + "HEAD", 1 + 4
- If (GetX() > 1) Newline
- Print "@X07"
- FOpen 1, STRING001, 0, 0
- :LABEL018
- If (Ferr(1)) Goto LABEL019
- FGet 1, STRING002
- If (Upper(StripAtx(STRING002)) == "<EOF>") Goto LABEL019
- If (Abort() == 1) Goto LABEL019
- If (U_InConf(U_RecNum(U_Name()), StripAtx(STRING002)) == 1) Then
- TINTEGER007(INTEGER003) = StripAtx(STRING002) + 1
- FGet 1, TSTRING006(TINTEGER007(INTEGER003))
- BOOLEAN001 = 1
- PrintLn TSTRING006(TINTEGER007(INTEGER003))
- Inc INTEGER003
- Endif
- If (BOOLEAN001 == 0) FGet 1, STRING002
- BOOLEAN001 = 0
- Goto LABEL018
- :LABEL019
- STRING002 = ""
- FClose 1
- DispFile PPEPath() + "FOOT2", 1 + 4
- If (GetX() < 2) Newline
- If (GetX() > 1) Newlines 2
- PromptStr 64, STRING002, 6, Mask_Num(), 0
- If (STRING002 == "") End
- Goto LABEL015
- :LABEL020
- Print "@X07"
- Cls
- End
- :LABEL021
- Print "@X07"
- Cls
- DispText 55, 2048 + 128 + 256
- Hangup
- End
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 6 End
- ; 6 Cls
- ; 7 ClrEol
- ; 77 Goto
- ; 62 Let
- ; 25 Print
- ; 1 PrintLn
- ; 80 If
- ; 4 DispFile
- ; 2 FOpen
- ; 5 FClose
- ; 6 FGet
- ; 1 Hangup
- ; 1 GetUser
- ; 6 Gosub
- ; 2 Return
- ; 2 PromptStr
- ; 5 Delay
- ; 7 Inc
- ; 3 Dec
- ; 2 Newline
- ; 1 Newlines
- ; 2 DispText
- ; 1 KbdStuff
- ; 12 AnsiPos
- ; 1 Backup
- ; 2 Redim
- ;
- ;
- ; ■ Functions used :
- ;
- ; 4 -
- ; 1 *
- ; 5 /
- ; 55 +
- ; 29 -
- ; 53 ==
- ; 2 <>
- ; 6 <
- ; 5 <=
- ; 8 >
- ; 5 >=
- ; 21 !
- ; 3 &&
- ; 2 ||
- ; 5 Upper()
- ; 1 Mid()
- ; 2 Ferr()
- ; 5 Chr()
- ; 1 Abort()
- ; 8 Time()
- ; 2 U_Name()
- ; 8 StripAtx()
- ; 1 Inkey()
- ; 2 Mask_Num()
- ; 1 CurConf()
- ; 2 PCBDat()
- ; 16 PPEPath()
- ; 6 ReadLine()
- ; 1 GetToken()
- ; 4 Exist()
- ; 4 LangExt()
- ; 4 GetX()
- ; 8 GetY()
- ; 6 GrafMode()
- ; 2 U_RecNum()
- ; 2 U_InConf()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : Bd
- ;
- ; B - Brute hangup ■ 1
- ; Program hangup without notification. This may be a good way to
- ; disconnect a user, but if used randomly, may be very nasty
- ; ■ Search for : HANGUP, DTROFF
- ;
- ; 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
- ;
- ; 1 For/Next
- ; 0 While/EndWhile
- ; 18 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-