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 1.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- String STRING001
- String STRING002
- String TSTRING003(17)
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
-
- ;------------------------------------------------------------------------------
-
- If (CurSec() >= SysopSec()) Then
- Gosub LABEL006
- If ((STRING006 == STRING004) && (CurSec() < 110)) Then
- KbdStuff "NEWS" + Chr(13)
- ElseIf (STRING004 <> "") Then
- If (TokCount() > 0) Then
- STRING002 = Upper(GetToken())
- If ((STRING002 <> "D") && (STRING002 <> "U")) Then
- KbdStuff TokenStr()
- STRING002 = ""
- Endif
- Goto LABEL001
- Endif
- STRING002 = ""
- :LABEL001
- If (STRING002 == "") Then
- STRING001 = "(@TIMELEFT@ min left), (U)pdate, (D)isplay (Enter=D)"
- InputStr STRING001, STRING002, 14, 1, "DdUu", 128 + 64
- STRING002 = Upper(STRING002)
- Endif
- If ((STRING002 == "D") || (STRING002 == "")) Then
- KbdStuff "NEWS" + Chr(13)
- Goto LABEL002
- Endif
- If (STRING002 == "U") Then
- Gosub LABEL003
- Endif
- Endif
- :LABEL002
- Else
- KbdStuff "NEWS" + Chr(13)
- Endif
- End
- :LABEL003
- RdUNet PcbNode()
- STRING008 = UN_Oper()
- WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Editing Conference News", ""
- PrintLn
- PrintLn "@X0CNews files can be up to 18 lines of 72 characters each."
- PrintLn "Enter /Q to finish entering news."
- PrintLn
- INTEGER002 = 0
- INTEGER001 = 18
- Gosub LABEL005
- STRING002 = "L"
- STRING001 = "(@TIMELEFT@ min left), (A)bort, (C)ontinue, (L)ist, (S)ave, (Enter=S)"
- While (STRING002 == "L") Do
- InputStr STRING001, STRING002, 14, 1, "AaCcLlSs", 128 + 64
- STRING002 = Upper(STRING002)
- If ((STRING002 == "S") || (STRING002 == "")) Then
- Delete STRING004
- FCreate 1, STRING004, 1, 3
- FPutLn 1, "@X00@X0B▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0F"
- FPut 1, "@X03█@X3E"
- STRING005 = ReadLine(STRING007, 1 + CurConf() * 33)
- If (CurConf() == 0) Then
- STRING005 = STRING005 + " News"
- Goto LABEL004
- Endif
- STRING005 = STRING005 + " Conference News"
- :LABEL004
- STRING009 = (70 - Len(STRING005)) / 2
- STRING010 = (70 - Len(STRING005)) % 2
- FPut 1, Space(STRING009), STRING005, Space(STRING009), Space(STRING010)
- FPutLn 1, "@X03█@X0F"
- FPutLn 1, "@X01▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@XFF"
- Dec INTEGER001
- For INTEGER003 = 0 To INTEGER001
- FPutLn 1, TSTRING003(INTEGER003)
- Next
- FPutLn 1, TSTRING003(INTEGER001 + 1), "@X", Right("00" + String(DefColor()), 2)
- FClose 1
- PrintLn STRING005, " updated."
- Continue
- Endif
- If (STRING002 == "C") Then
- INTEGER002 = INTEGER001
- INTEGER001 = 18
- Gosub LABEL005
- STRING002 = "L"
- Continue
- Endif
- If (STRING002 == "D") Then
- TSTRING003(INTEGER002) = ""
- Continue
- Endif
- If (STRING002 == "L") Then
- INTEGER002 = ""
- For INTEGER003 = 0 To INTEGER001
- PrintLn Right(" " + String(INTEGER003 + 1), 2), ": ", TSTRING003(INTEGER003)
- Next
- PrintLn
- Endif
- EndWhile
- WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), STRING008, ""
- Return
- :LABEL005
- While (INTEGER002 < 18) Do
- InputStr Left("Ln #" + String(INTEGER002 + 1) + " ", 6), TSTRING003(INTEGER002), 14, 72, Mask_Ascii(), 512 + 64
- If (Upper(TSTRING003(INTEGER002)) == "/Q") Then
- TSTRING003(INTEGER002) = ""
- INTEGER001 = INTEGER002 - 1
- INTEGER002 = 18
- Continue
- Endif
- If (Upper(TSTRING003(INTEGER002)) == "/D") Then
- TSTRING003(INTEGER002) = ""
- If (INTEGER002 > 0) Then
- Dec INTEGER002
- TSTRING003(INTEGER002) = ""
- Endif
- Continue
- Endif
- Inc INTEGER002
- EndWhile
- Return
- :LABEL006
- STRING007 = ReadLine(PCBDat(), 31)
- STRING006 = ReadLine(STRING007, 13)
- INTEGER003 = CurConf()
- If (INTEGER003 > 0) Then
- STRING004 = ReadLine(STRING007, 13 + INTEGER003 * 33)
- Else
- STRING004 = STRING006
- Endif
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 36 Goto
- ; 35 Let
- ; 7 PrintLn
- ; 21 If
- ; 1 FCreate
- ; 1 FClose
- ; 2 FPut
- ; 5 FPutLn
- ; 1 Delete
- ; 3 InputStr
- ; 4 Gosub
- ; 3 Return
- ; 1 Inc
- ; 2 Dec
- ; 4 KbdStuff
- ; 1 RdUNet
- ; 2 WrUNet
- ;
- ;
- ; ■ Functions used :
- ;
- ; 2 *
- ; 1 /
- ; 1 %
- ; 19 +
- ; 3 -
- ; 14 ==
- ; 3 <>
- ; 4 <
- ; 2 <=
- ; 3 >
- ; 5 >=
- ; 21 !
- ; 6 &&
- ; 4 ||
- ; 2 Len(
- ; 5 Upper()
- ; 1 Left()
- ; 2 Right()
- ; 3 Space()
- ; 3 Chr()
- ; 3 String()
- ; 1 Mask_Ascii()
- ; 3 CurConf()
- ; 1 PCBDat()
- ; 3 PcbNode()
- ; 4 ReadLine()
- ; 1 SysopSec()
- ; 2 UN_Stat()
- ; 2 UN_Name()
- ; 2 UN_City()
- ; 1 UN_Oper()
- ; 2 CurSec()
- ; 1 GetToken()
- ; 1 TokenStr()
- ; 1 DefColor()
- ; 1 TokCount()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : ds
- ;
- ; 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()
- ;
- ; 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
- ;
- ; 2 For/Next
- ; 2 While/EndWhile
- ; 17 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-