home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TABPPE21.ZIP
/
TABS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-11-07
|
16KB
|
688 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Integer INTEGER003
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 STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
;------------------------------------------------------------------------------
STRING022 = PPEPath()
STRING023 = " 0123456789.,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, "**** ", U_Name(), " Entered PPE on ", String(Date()), " at ", String(Time()), " ****"
FClose 2
FOpen 1, STRING022 + "TABS.CFG", 0, 0
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING007
FGet 1, STRING008
FGet 1, STRING009
FGet 1, STRING010
FGet 1, STRING012
If (Len(STRING012) < 1) Then
STRING011 = 1
Else
STRING011 = 0
Endif
FGet 1, STRING013
FGet 1, STRING014
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING017
If (Len(STRING017) < 1) STRING017 = "NONE"
FGet 1, STRING018
If (Len(STRING018) < 1) STRING018 = "NONE"
FGet 1, STRING003
FGet 1, STRING019
STRING019 = Upper(STRING019)
FClose 1
GetUser
Tokenize U_Name()
STRING002 = GetToken()
STRING002 = Left(STRING002, 1) + Lower(Right(STRING002, Len(STRING002) - 1))
STRING021 = STRING002
:LABEL001
Cls
DispFile STRING022 + "INTRO", 1
STRING020 = ""
InputStr "(Y) to continue, (N) to Return to the BBS", STRING020, 15, 1, "YyNn", 32 + 2 + 4 + 128 + 8
If (STRING020 == YesChar()) Goto LABEL002
If (STRING020 == NoChar()) Goto LABEL040
Goto LABEL001
:LABEL002
Cls
STRING024 = ""
STRING025 = ""
If (CurSec() < STRING005) Goto LABEL003
If (STRING011 == 1) Goto LABEL005
If (CurSec() < STRING012) Goto LABEL004
If (CurSec() >= STRING012) Goto LABEL005
Goto LABEL039
:LABEL003
Cls
PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
PrintLn "@X38│ @X3FDate: @SYSDATE@ @X3E« First Donation Entitlements » @X3FTime: @SYSTIME@ @X3B│@X07"
PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn "@X07 @X07"
PrintLn "@X07 @X0EYour First $10 donation will entitle you to: @X07"
PrintLn "@X07 @X07"
PrintLn "@X07 @X0F(1)@X0E Access Level @X0C", STRING005, "@X07"
PrintLn "@X07 @X0F(2) @X0C", STRING009, " @X0EMinutes per day@X07"
PrintLn "@X07 @X0F(3) @X0C", STRING010, " @X0E Download Bytes per day@X07"
PrintLn "@X07 @X07"
If (STRING011 == 0) Then
PrintLn "@X07 @X0F Additional Entitlements are granted for subsequent donations !!@X07"
PrintLn "@X07 @X0F See Next page for more information.....@X07"
PrintLn "@X07"
STRING020 = ""
InputStr "(C)ontinue, (N)ext Page, (R)eturn to Intro. (Q)uit", STRING020, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "N") Goto LABEL004
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "C") Goto LABEL006
Goto LABEL003
Else
PrintLn "@X07 @X0F See Next page for more information on subsequent donations.....@X07"
PrintLn "@X07"
STRING020 = ""
InputStr "(C)ontinue, (N)ext Page, (R)eturn to Intro. (Q)uit", STRING020, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "N") Goto LABEL005
If (STRING020 == "C") Goto LABEL006
Goto LABEL003
Endif
:LABEL004
Cls
PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
PrintLn "@X38│ @X3FDate: @SYSDATE@ @X3E« Second Donation Entitlements » @X3FTime: @SYSTIME@ @X3B│@X07"
PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn "@X07"
PrintLn "@X07 @X0EA Second $10 donation will entitle you to:@X07"
PrintLn "@X07"
PrintLn "@X07 @X0F(1)@X0E Access Level @X0C", STRING012, "@X07"
PrintLn "@X07 @X0F(2)@X0C ", STRING015, " @X0EMinutes per day@X07"
PrintLn "@X07 @X0F(3)@X0C ", STRING016, " @X0E Download Bytes per day@X07"
PrintLn "@X07"
PrintLn "@X07 @X0F See Next page for more information on subsequent donations .....@X07"
PrintLn "@X07"
STRING020 = ""
InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit, (N)ext", STRING020, 15, 1, "QqRrCcPpNn", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "P") Goto LABEL003
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "N") Goto LABEL005
If (STRING020 == "C") Goto LABEL006
Goto LABEL004
:LABEL005
Cls
PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
PrintLn "@X38│ @X3FDate: @SYSDATE@ @X3E« Additional Donation Entitlements » @X3FTime: @SYSTIME@ @X3B│@X07"
PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn "@X07"
PrintLn "@X07 @X0EAny Additional Donations will not yield more entitlements@X07"
PrintLn "@X07"
PrintLn "@X07 @X0E But they will help the Sysop pay the BBS bills. With more contributions@X07"
PrintLn "@X07 @X0E comes more features such as, Door Games, Mail Doors, Files, and Nodes@X07"
PrintLn "@X07 @X0E to call. BBS's can be quite an expense for your Sysop. Any help the@X07"
PrintLn "@X07 @X0E callers can give to help defray this expense is very much appreciated.@X07"
PrintLn "@X07"
If (STRING011 == 0) Then
STRING020 = "C"
InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit", STRING020, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "P") Goto LABEL004
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "C") Goto LABEL006
Goto LABEL005
Else
STRING020 = "C"
InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit", STRING020, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "P") Goto LABEL003
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "C") Goto LABEL006
Goto LABEL005
Endif
:LABEL006
Cls
PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
PrintLn "@X38│ @X3FDate: @SYSDATE@ @X3E« Telephone Access Billing Menu » @X3FTime: @SYSTIME@ @X3B│@X07"
PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X07"
PrintLn "@X10│ @X19│@X07"
PrintLn "@X10│ @X1FPlease select one of the options below: @X19│@X07"
PrintLn "@X10│ @X19│@X07"
If (U_Name() == Upper(STRING004)) Then
PrintLn "@X10│ @X1F(I)nquire about SIDS @X19│@X07"
PrintLn "@X10│ @X1F(A)dd New SID to Current SID's file @X19│@X07"
PrintLn "@X10│ @X1F(E)nter your Subscription ID # @X19│@X07"
PrintLn "@X10│ @X1F(Q)uit Return to the BBS @X19│@X07"
PrintLn "@X10│ @X1F(R)eturn to Introduction Screen @X19│@X07"
PrintLn "@X10│ @X19│@X07"
PrintLn "@X10│ @X19│@X07"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
STRING020 = ""
InputStr "(Q)uit, (R)eturn to Intro, (E)nter ID #, (I)nquire, (A)dd ", STRING020, 15, 1, "QqRrEeIiAa", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "E") Goto LABEL022
If (STRING020 == "I") Goto LABEL007
If (STRING020 == "A") Goto LABEL011
Goto LABEL006
Else
PrintLn "@X10│ @X1F(E)nter your Subscription ID # @X19│@X07"
PrintLn "@X10│ @X1F(Q)uit Return to the BBS @X19│@X07"
PrintLn "@X10│ @X1F(R)eturn to Introduction Screen @X19│@X07"
PrintLn "@X10│ @X19│@X07"
PrintLn "@X10│ @X19│@X07"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
STRING020 = ""
InputStr "(Q)uit, (R)eturn to Intro, (E)nter ID #", STRING020, 15, 1, "QqEeRr", 32 + 2 + 4 + 128 + 8
If (STRING020 == "Q") Goto LABEL040
If (STRING020 == "R") Goto LABEL001
If (STRING020 == "E") Goto LABEL022
Goto LABEL006
Endif
:LABEL007
INTEGER003 = ""
FOpen 1, STRING022 + STRING003, 0, 3
If (Ferr(1)) Then
STRING024 = "14"
FClose 1
FClose 2
Else
Frewind 1
:LABEL008
If (Ferr(1)) Goto LABEL010
FGet 1, STRING006
If (STRING006 == " ***SID USED***") Then
Goto LABEL009
Else
Inc INTEGER003
Endif
:LABEL009
Goto LABEL008
:LABEL010
Dec INTEGER003
FClose 1
Cls
PrintLn ""
PrintLn ""
PrintLn " There are currently ", INTEGER003, " SIDS available for usage."
PrintLn ""
PrintLn ""
Wait
Goto LABEL006
:LABEL011
Cls
PrintLn ""
PrintLn ""
PrintLn "Your new SIDS must reside in the same directory as the TABS PPE"
PrintLn ""
InputStr "Enter the filename of the SIDS file to add ", STRING026, 15, 12, Mask_File(), 8 + 32 + 2 + 4 + 128
PrintLn ""
PrintLn ""
PrintLn "Hold on while we add the numbers to your current listing"
Delete STRING022 + "WORK.$$$"
FCreate 1, STRING022 + "WORK.$$$", 2, 3
If (Ferr(1)) Then
STRING024 = "12"
FClose 1
Else
FOpen 2, STRING022 + STRING003, 2, 3
If (Ferr(2)) Then
STRING024 = "14"
FClose 2
FClose 1
Else
:LABEL012
If (Ferr(2)) Goto LABEL016
FGet 2, STRING027
If (Len(STRING027) > 6) Then
Goto LABEL013
Else
Goto LABEL015
Endif
:LABEL013
If (Len(STRING027) < 8) Then
Goto LABEL014
Else
Goto LABEL015
Endif
:LABEL014
If (STRING027 == " ***SID USED***") Then
Goto LABEL015
Else
FPutLn 1, STRING027
Endif
:LABEL015
Goto LABEL012
:LABEL016
FOpen 3, STRING022 + STRING026, 0, 3
If (Ferr(3)) Then
STRING024 = "13"
FClose 1
FClose 2
FClose 3
Else
:LABEL017
If (Ferr(3)) Goto LABEL021
FGet 3, STRING027
If (Len(STRING027) > 6) Then
Goto LABEL018
Else
Goto LABEL020
Endif
:LABEL018
If (Len(STRING027) < 8) Then
Goto LABEL019
Else
Goto LABEL020
Endif
:LABEL019
If (STRING027 == " ***SID USED***") Then
Goto LABEL020
Else
FPutLn 1, STRING027
Endif
:LABEL020
Goto LABEL017
:LABEL021
FClose 1
FClose 2
FClose 3
Delete STRING022 + STRING003
Delete STRING022 + STRING026
Rename STRING022 + "WORK.$$$", STRING022 + STRING003
Cls
PrintLn ""
PrintLn ""
PrintLn " Operation successfull !!!! "
PrintLn ""
PrintLn ""
Delay 54
Goto LABEL007
:LABEL022
STRING025 = ""
STRING024 = ""
PrintLn ""
InputStr "(Q)uit, Enter your Subscription #", STRING025, 15, 7, "Qq0123456789", 32 + 2 + 4 + 128 + 8
If (STRING025 == "Q") Goto LABEL006
PrintLn ""
PrintLn "@X0E Please standby while I validate your Subscription Number"
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " Entered SID# ", STRING025
FClose 2
FOpen 1, STRING022 + STRING003, 0, 3
If (Ferr(1)) Then
STRING024 = "14"
FClose 1
Else
FCreate 2, STRING022 + "WORK.$$$", 1, 3
If (Ferr(1)) Then
STRING024 = "12"
FClose 1
FClose 2
Else
BOOLEAN001 = "FALSE"
Frewind 1
STRING024 = "11"
:LABEL023
If (Ferr(1)) Goto LABEL024
FGet 1, STRING006
If (STRING025 == STRING006) Then
FPutLn 2, " ***SID USED***"
STRING024 = "10"
ElseIf (Len(STRING006) > 6) Then
FPutLn 2, STRING006
Endif
Goto LABEL023
:LABEL024
FClose 1
FClose 2
Delete STRING022 + STRING003
Rename STRING022 + "WORK.$$$", STRING022 + STRING003
Endif
Endif
Endif
Endif
Endif
Endif
If (STRING024 == "14") Goto LABEL038
If (STRING024 == "13") Goto LABEL038
If (STRING024 == "12") Goto LABEL039
If (STRING024 == "11") Goto LABEL037
If (STRING024 == "10") Goto LABEL025
Goto LABEL039
:LABEL025
If (CurSec() < STRING005) Goto LABEL026
If (STRING011 == 1) Goto LABEL032
If (CurSec() < STRING012) Goto LABEL029
If (CurSec() >= STRING012) Goto LABEL032
Goto LABEL039
:LABEL026
U_Sec = STRING005
U_ExpDate = Date() + STRING007
U_ExpSec = STRING008
If (STRING019 == "NO") Then
Goto LABEL027
ElseIf (Psa(6)) Then
U_Notes(0) = "TABS donation " + STRING025 + " "
U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
Endif
:LABEL027
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " SID was accepted:"
FPutLn 2, " Access level now: ", CurSec()
FPutLn 2, " Daily Access Time: ", STRING009, " mins."
FPutLn 2, " This is the first time this caller has contributed !"
FClose 2
PutUser
If (STRING017 == "NONE") Goto LABEL028
ConfFlag STRING017, 1 + 2 + 4
:LABEL028
If (STRING018 == "NONE") Goto LABEL036
FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
FPutLn 1, ""
FPutLn 1, "@X0EThis is just a message to let you know that:"
FPutLn 1, ""
FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and his/her access level was"
FPutLn 1, "changed to: ", CurSec(), ", and their access time per day is"
FPutLn 1, "now: ", STRING009, " mins., this was a first time donation."
FClose 1
Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
Goto LABEL036
:LABEL029
U_Sec = STRING012
U_ExpDate = Date() + STRING013
U_ExpSec = STRING014
If (STRING019 == "NO") Then
Goto LABEL030
ElseIf (Psa(6)) Then
U_Notes(0) = "TABS donation " + STRING025 + " "
U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
Endif
:LABEL030
PutUser
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " SID was accepted:"
FPutLn 2, " Access level now: ", CurSec()
FPutLn 2, " Daily Access Time: ", STRING015, " mins."
FPutLn 2, " This is the second time this caller has contributed !"
FClose 2
If (STRING017 == "NONE") Goto LABEL031
ConfFlag STRING017, 1 + 2 + 4
:LABEL031
If (STRING018 == "NONE") Goto LABEL036
FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
FPutLn 1, ""
FPutLn 1, "@X0EThis is just a message to let you know that:"
FPutLn 1, ""
FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and his/her access level was"
FPutLn 1, "changed to: ", CurSec(), ", and their access time per day is"
FPutLn 1, "now: ", STRING015, " mins., this was a second time donation."
FClose 1
Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
Goto LABEL036
:LABEL032
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " SID was accepted, Access level not adjusted. User has donated more"
FPutLn 2, " than configured number of times."
FClose 2
If (STRING017 == "NONE") Goto LABEL033
ConfFlag STRING017, 1 + 2 + 4
:LABEL033
If (STRING018 == "NONE") Goto LABEL035
If (STRING019 == "NO") Then
Goto LABEL034
ElseIf (Psa(6)) Then
GetUser
U_Notes(0) = "TABS donation " + STRING025 + " "
U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
PutUser
Endif
:LABEL034
PutUser
FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
FPutLn 1, ""
FPutLn 1, "@X0EThis is just a message to let you know that:"
FPutLn 1, ""
FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and since this was his/her"
FPutLn 1, "third (or higher) donation no change was made to their access"
FPutLn 1, "limits. The callers security level is: ", CurSec(), " , and their"
FPutLn 1, "access time per day is: ", STRING015, " mins."
FClose 1
Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
:LABEL035
Cls
PrintLn ""
PrintLn "@X0C Thank you !!! @X0E", STRING021, ", @X0Efor your Donation."
PrintLn ""
PrintLn "@X0E This is the kindest type of donation, as it was a donation that you"
PrintLn "@X0E gave without expecting anything in return."
PrintLn ""
PrintLn "@X0E Thank you very much for your generosity !!!!"
PrintLn ""
PrintLn "@X0EYour access level is @X0C", CurSec(), "@X0E and your access time per day is @X0C@TIMELIMIT@ @X0EMins."
PrintLn "@X0E Your account expiration date is @X0C", U_ExpDate
PrintLn ""
PrintLn ""
Wait
Goto LABEL006
:LABEL036
Cls
PrintLn ""
PrintLn "@X0C Thank you @X0E", STRING021, ", @X0Efor your Donation. Your account on this BBS has"
PrintLn "@X0E been adjusted to reflect your generosity."
PrintLn ""
PrintLn "@X0EYour new access level is @X0C", CurSec(), "@X0E and your access time per day is @X0C@TIMELIMIT@ @X0EMins."
PrintLn "@X0E Your account expiration date is @X0C", U_ExpDate, "@X0E"
PrintLn ""
PrintLn ""
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " SID was accepted:"
FPutLn 2, " Access level now: ", CurSec()
FPutLn 2, " Daily Access Time: @TIMELIMIT@, mins."
FPutLn 2, " This is the second time this caller has contributed !"
FClose 2
Wait
Goto LABEL006
:LABEL037
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, " Entered an incorrect REGISTRATION NUMBER!"
FClose 2
Cls
PrintLn ""
PrintLn "@X0E You entered an @X0Cincorrect @X0ESubscription Number, Please try again"
PrintLn ""
PrintLn ""
Goto LABEL022
:LABEL038
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING024, " *******"
FPutLn 2, " Please check TABS.DOC for a description of the error"
FClose 2
Cls
PrintLn
PrintLn "@X0E The fuction that you just executed ended in error and "
PrintLn "@X0E the program returned Errorlevel ", STRING024, " please"
PrintLn "@X0E your TABS.DOC file for an explaination of this error !!!"
PrintLn ""
PrintLn ""
Wait
Goto LABEL006
:LABEL039
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING024, " *******"
FPutLn 2, " Please check TABS.DOC for a description of the error"
FClose 2
Cls
PrintLn
PrintLn "@X0E The validation process ended in an error !!!"
PrintLn "@X8C Please inform your Sysop @X8B!@X8A!@X89!@X8E!@X07"
PrintLn ""
PrintLn ""
If (STRING018 == "NONE") Goto LABEL040
FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
FPutLn 1, ""
FPutLn 1, "@X0EThis is just a message to let you know that:"
FPutLn 1, ""
FPutLn 1, U_Name(), "@X0E, attempted to donate to the BBS and TABS PPE exited"
FPutLn 1, "with errorlevel ", STRING024, " - so their access rights were not"
FPutLn 1, "changed. It is also possible that the user entered only a C/R as his SID."
FPutLn 1, ""
FClose 1
Message STRING018, STRING004, U_Name(), "TABS_Problem", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
Wait
:LABEL040
FAppend 2, STRING022 + "TABS.LOG", 1, 3
FPutLn 2, "---- ", U_Name(), " Exited PPE on ", String(Date()), " at ", String(Time()), " ----"
FPutLn 2, ""
FClose 2
PutUser
FClose 1
FClose 3
Cls
PrintLn ""
PrintLn ""
PrintLn ""
PrintLn "@BEEP@@BEEP@@BEEP@"
PrintLn "@X0C Unregistered Copy of TABS-PPE,"
PrintLn ""
PrintLn "@X0E Please help your Sysop Register it !!"
PrintLn ""
PrintLn ""
PrintLn ""
PrintLn ""
PrintLn ""
Delay 126
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 15 Cls
; 5 Wait
; 145 Goto
; 44 Let
; 126 PrintLn
; 83 If
; 3 ConfFlag
; 1 DispFile
; 6 FCreate
; 5 FOpen
; 10 FAppend
; 34 FClose
; 19 FGet
; 53 FPutLn
; 2 GetUser
; 5 PutUser
; 4 Delete
; 10 InputStr
; 2 Delay
; 1 Inc
; 1 Dec
; 1 Tokenize
; 4 Message
; 2 Rename
; 2 Frewind
;
;
; ■ Functions used :
;
; 95 +
; 1 -
; 56 ==
; 9 <
; 3 >
; 2 >=
; 29 !
; 9 Len(
; 1 Lower()
; 2 Upper()
; 1 Left()
; 1 Right()
; 10 Ferr()
; 7 Date()
; 2 Time()
; 12 U_Name()
; 1 NoChar()
; 1 YesChar()
; 7 String()
; 1 Mask_File()
; 1 PPEPath()
; 14 CurSec()
; 1 GetToken()
; 3 Psa()
;
;------------------------------------------------------------------------------
;
; Analysis flags : FW
;
; F - Change conference flags status ■ 2
; This may be normal for a SELECT replacement but it may also be
; a way to get access to conferences a user is not allowed to.
; ■ Search for : CONFFLAG, CONFUNFLAG
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 25 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------