home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
VRAC
/
CREDIT18.ZIP
/
CREDIT.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-09-12
|
13KB
|
600 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
;------------------------------------------------------------------------------
Date DATE002
Integer INTEGER002
Integer TINTEGER003(10)
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Money MONEY001
Money MONEY002
Money TMONEY003(10)
Money MONEY004
String STRING001
String STRING002
String STRING003
String STRING004
String TSTRING005(10)
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
String STRING028
String STRING029
String STRING030
String TSTRING031(10)
String TSTRING032(10)
String TSTRING033(10)
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String TSTRING039(26)
String STRING040
String STRING041
String STRING042
String STRING043
String TSTRING044(1)
String STRING045
String STRING046
;------------------------------------------------------------------------------
GetUser
FOpen 1, PPEPath() + "credit.cnf", 2, 3
FGet 1, STRING028
FGet 1, STRING019
FGet 1, STRING025
FGet 1, STRING026
FGet 1, STRING029
FGet 1, STRING030
FGet 1, STRING041
FGet 1, INTEGER010
FGet 1, INTEGER012
FGet 1, STRING040
FGet 1, INTEGER009
FGet 1, INTEGER011
FGet 1, STRING018
FGet 1, STRING010
FGet 1, STRING009
FGet 1, STRING034
FGet 1, STRING046
:LABEL001
STRING002 = STRING002 + 1
FGet 1, TSTRING031(STRING002)
FGet 1, TSTRING032(STRING002)
FGet 1, TSTRING033(STRING002)
FGet 1, TINTEGER003(STRING002)
FGet 1, TMONEY003(STRING002)
If (TSTRING031(STRING002) == "***") Then
FClose 1
Goto LABEL002
Else
Goto LABEL001
Endif
FClose 1
:LABEL002
If (Exist(STRING025)) DispFile STRING025, 2 + 1 + 4
PrintLn Chr(13)
:LABEL003
FOpen 1, PPEPath() + "credit.txt", 0, 3
For INTEGER004 = 1 To 26
FGet 1, TSTRING039(INTEGER004)
Next
FClose 1
DispFile STRING026, 2 + 1 + 4
InputStr TSTRING039(1), STRING020, 14, 1, Mask_Ascii(), 256
For STRING003 = 1 To STRING002
If (Upper(STRING020) == TSTRING031(STRING003)) Goto LABEL005
If (Upper(STRING020) == "E") Goto LABEL020
If (STRING020 == "") Goto LABEL003
Next
Goto LABEL003
:LABEL004
If (Mid(TSTRING039(2), 1, 1) == "%") Then
DispStr TSTRING039(2)
Else
PrintLn TSTRING039(2)
Endif
For STRING007 = 1 To Len(U_Name())
STRING008 = Mid(U_Name(), STRING007, 1)
If (STRING008 == " ") STRING008 = "_"
STRING017 = STRING017 + STRING008
Next
STRING017 = Mid(STRING017, 1, 8) + ".INV"
FOpen 1, PPEPath() + "invoice", 2, 3
FGet 1, INTEGER002
FClose 1
FOpen 1, PPEPath() + "invoice", 2, 3
FGet 1, STRING023
FClose 1
FOpen 1, PPEPath() + "invoice", 2, 3
FPut 1, INTEGER002 + 1
FClose 1
STRING038 = INTEGER002
FOpen 1, STRING029 + STRING038, 2, 3
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, "Invoice #: ", STRING023, " Date: ", Date()
FPutLn 1, ""
FPutLn 1, "Bill to: Ordered for:"
FPutLn 1, ""
FPutLn 1, STRING012 + Space(36 - Len(STRING012)) + STRING016
FPutLn 1, STRING013 + Space(36 - Len(STRING013)) + ""
FPutLn 1, STRING014
FPutLn 1, ""
FPutLn 1, " Credit Card: " + CCType(STRING001)
FPutLn 1, " Credit Card Number: " + FmtCC(STRING001)
FPutLn 1, " Expiration Date: ", STRING027
FPutLn 1, " Voice Phone Number: " + STRING015
FPutLn 1, ""
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + " " + STRING046, TSTRING044(STRING003)
FPutLn 1, " Membership for: ", STRING016
FPutLn 1, " New Expiration Date: ", DATE002
FPutLn 1, ""
FPutLn 1, Space(63 - Len(STRING041)) + STRING041 + " " + STRING046, STRING045
FPutLn 1, Space(63 - Len(STRING040)) + STRING040 + " " + STRING046, STRING043
FPutLn 1, " ========="
FPutLn 1, " Complete Charge to Your Credit Card : " + STRING046, STRING042
FPutLn 1, ""
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, " A Charge in the amount of " + STRING046, STRING042, " will show on your next"
FPutLn 1, " " + CCType(STRING001) + " credit statement."
FPutLn 1, ""
FPutLn 1, " Thanks for Purchasing a Membership with Us!"
FPutLn 1, Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
FPutLn 1, "═══════════════════════════════════════════════════════════════════════"
FClose 1
FOpen 1, STRING030 + STRING017, 2, 3
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, "Invoice #: ", STRING023, " Date: ", Date()
FPutLn 1, ""
FPutLn 1, "Bill to: Ordered for:"
FPutLn 1, ""
FPutLn 1, STRING012 + Space(36 - Len(STRING012)) + STRING016
FPutLn 1, STRING013 + Space(36 - Len(STRING013)) + ""
FPutLn 1, STRING014
FPutLn 1, ""
FPutLn 1, " Credit Card: " + CCType(STRING001)
FPutLn 1, " Credit Card Number: xxxxxxxxxxxxxxxx"
FPutLn 1, " Expiration Date: ", STRING027
FPutLn 1, " Voice Phone Number: " + STRING015
FPutLn 1, ""
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + " " + STRING046, TSTRING044(STRING003)
FPutLn 1, " Membership for: ", STRING016
FPutLn 1, " New Expiration Date: ", DATE002
FPutLn 1, ""
FPutLn 1, Space(63 - Len(STRING041)) + STRING041 + " " + STRING046, STRING045
FPutLn 1, Space(63 - Len(STRING040)) + STRING040 + " " + STRING046, STRING043
FPutLn 1, " ========="
FPutLn 1, " Complete Charge to Your Credit Card : " + STRING046, STRING042
FPutLn 1, ""
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, ""
FPutLn 1, " A Charge in the amount of " + STRING046, STRING042, " will show on your next"
FPutLn 1, " " + CCType(STRING001) + " credit statement."
FPutLn 1, ""
FPutLn 1, " Thanks for Purchasing a Membership with Us!"
FPutLn 1, Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
FPutLn 1, "═══════════════════════════════════════════════════════════════════════"
FClose 1
If (Mid(TSTRING039(3), 1, 1) == "%") Then
DispStr TSTRING039(3)
Else
PrintLn TSTRING039(3)
Endif
Goto LABEL017
Goto LABEL020
:LABEL005
STRING022 = ""
DispFile TSTRING032(STRING003), 2 + 1 + 4
InputText TSTRING039(4), STRING022, 13, 1
If (Upper(STRING022) == "N") Then
Goto LABEL003
Else
Goto LABEL006
Endif
:LABEL006
Cls
If (Mid(TSTRING039(5), 1, 1) == "%") Then
DispStr TSTRING039(5)
Else
PrintLn TSTRING039(5)
Endif
PrintLn " "
PrintLn "@X0A[@X0C#@X0A] min. [@X0C#@X0A] max. Refers to the MINIMUM and MAXIMUM length of you answer"
STRING012 = ""
PrintLn " "
PrintLn "Press ENTER alone on the FIRST question only to abort your entry."
InputStr TSTRING039(6), STRING012, 10, 25, Mask_Ascii(), 256
STRING012 = Upper(STRING012)
If (STRING012 == "") Goto LABEL003
:LABEL007
Cls
PrintLn "@X0A[@X0C5@X0A] min. [@X0C40@X0A] max."
PrintLn " "
InputStr TSTRING039(7), STRING013, 11, 40, Mask_Ascii(), 256
If (Len(STRING013) < 5) Then
PrintLn "@BEEP@ You Must Answer This Question"
Goto LABEL007
Endif
STRING013 = Upper(STRING013)
:LABEL008
Cls
PrintLn "@X0A[@X0C5@X0A] min. [@X0C40@X0A] max."
PrintLn " "
InputStr TSTRING039(8), STRING014, 12, 40, Mask_Ascii(), 256
If (Len(STRING014) < 3) Then
PrintLn "@BEEP@ You Must Answer This Question"
Goto LABEL008
Endif
STRING014 = Upper(STRING014)
:LABEL009
Cls
PrintLn "@X0A[@X0C7@X0A] min. [@X0C30@X0A] max."
PrintLn " "
InputStr TSTRING039(16), STRING015, 12, 35, "1234567890()-+extension.EXTENSION# ", 256
If (Len(STRING015) < 7) Then
PrintLn "@BEEP@ You Must Answer This Question"
Goto LABEL009
Endif
If (Upper(STRING018) == "ALL") Goto LABEL010
If (Upper(STRING009) == "N") Goto LABEL010
TSTRING005(7) = "Is " + STRING018 + " State sales tax aplicable in your area (Y/n)"
STRING011 = ""
InputStr TSTRING005(7), STRING011, 10, 1, "YNyn", 256
If (Upper(STRING011) == "N") INTEGER009 = "0"
:LABEL010
PrintLn " "
STRING021 = ""
Cls
PrintLn " "
PrintLn Space(41 - Len("Credit Card Information") / 2) + "@X0ECredit Card Information"
PrintLn " "
PrintLn Space(41 - Len(STRING012) / 2) + "@X0A", STRING012
PrintLn Space(41 - Len(STRING013) / 2) + "@X0B", STRING013
PrintLn Space(41 - Len(STRING014) / 2) + "@X0C", STRING014
PrintLn Space(41 - Len(STRING015) / 2) + "@X0D", STRING015
PrintLn " "
InputStr TSTRING039(10), STRING021, 10, 1, "YnyN", 32 + 256
If (Upper(STRING021) == "Y") Goto LABEL011
Goto LABEL006
:LABEL011
STRING001 = ""
STRING027 = ""
PrintLn " "
InputStr TSTRING039(11), STRING001, 13, 16, Mask_Num(), 256
InputStr TSTRING039(12), STRING027, 14, 5, Mask_Num() + "/", 256
If (STRING001 == "") Goto LABEL003
Goto LABEL013
:LABEL012
Cls
Color 15
STRING016 = U_Name()
Goto LABEL015
:LABEL013
STRING004 = STRING004 + 1
INTEGER005 = Left(STRING027, 2)
INTEGER006 = Right(STRING027, 2)
INTEGER007 = Month(Date())
INTEGER008 = Year(Date())
If (INTEGER006 > 80) Then
INTEGER006 = INTEGER006 + 1900
Else
INTEGER006 = INTEGER006 + 2000
Endif
If ((INTEGER005 > 12) || (INTEGER005 < 1)) Goto LABEL016
If ((INTEGER005 < INTEGER007) && (INTEGER006 >= INTEGER008)) Goto LABEL014
If (INTEGER006 < INTEGER008) Goto LABEL016
If ((INTEGER006 < INTEGER008) && (INTEGER005 >= INTEGER007)) Goto LABEL016
If (INTEGER006 > INTEGER008) Goto LABEL014
If ((INTEGER006 == INTEGER008) && (INTEGER005 >= INTEGER007)) Goto LABEL014
PrintLn
:LABEL014
If (CCType(STRING001) == "UNKNOWN") Then
If (Mid(TSTRING039(17), 1, 1) == "%") Then
DispStr TSTRING039(17)
Else
PrintLn TSTRING039(17)
Endif
Goto LABEL011
Else
PrintLn "That is a valid " + CCType(STRING001) + " Number"
Goto LABEL012
DATE002 = Date() + TINTEGER003(STRING003)
Endif
:LABEL015
PrintLn "@X0A════════════════════════════════════════════════════════════════════════"
PrintLn ""
PrintLn "Invoice #: ", STRING023, " Date: ", Date()
PrintLn ""
PrintLn "Bill to: Ordered for:"
PrintLn ""
PrintLn STRING012 + Space(36 - Len(STRING012)) + STRING016
PrintLn STRING013 + Space(36 - Len(STRING013)) + ""
PrintLn STRING014
PrintLn ""
PrintLn " Credit Card: " + CCType(STRING001)
PrintLn " Credit Card Number: " + FmtCC(STRING001)
DATE002 = Date() + TINTEGER003(STRING003)
PrintLn " Expiration Date: ", STRING027
PrintLn " Voice Phone Number: " + STRING015
PrintLn ""
PrintLn "════════════════════════════════════════════════════════════════════════"
PrintLn ""
TSTRING044(STRING003) = TMONEY003(STRING003)
TSTRING044(STRING003) = Mid(TSTRING044(STRING003), 2, Len(TSTRING044(STRING003)))
MONEY004 = (INTEGER010 * TMONEY003(STRING003)) / INTEGER012
STRING045 = MONEY004
STRING045 = Mid(STRING045, 2, Len(STRING045))
MONEY002 = (TMONEY003(STRING003) * INTEGER009) / INTEGER011
STRING043 = MONEY002
STRING043 = Mid(STRING043, 2, Len(STRING043))
MONEY001 = MONEY004 + MONEY002 + TMONEY003(STRING003)
STRING042 = MONEY001
STRING042 = Mid(STRING042, 2, Len(STRING042))
STRING024 = " Membership Subscription at Security Level " + TSTRING033(STRING003)
PrintLn " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + " " + STRING046, TSTRING044(STRING003)
PrintLn " Membership for: ", STRING016
PrintLn " New Expiration Date: ", DATE002
PrintLn ""
PrintLn Space(63 - Len(STRING041)) + STRING041 + " " + STRING046, STRING045
PrintLn Space(63 - Len(STRING040)) + STRING040 + " " + STRING046, STRING043
PrintLn " ========="
PrintLn " Complete Charge to Your Credit Card : @X0C " + STRING046, STRING042
PrintLn ""
PrintLn "@X0A════════════════════════════════════════════════════════════════════════"
PrintLn ""
PrintLn " A Charge in the amount of " + STRING046, STRING042, " will show on your next"
PrintLn " " + CCType(STRING001) + " credit statement."
PrintLn ""
PrintLn " Thanks for Purchasing a Membership with Us!"
PrintLn Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
PrintLn "═══════════════════════════════════════════════════════════════════════"
STRING022 = ""
InputStr TSTRING039(19), STRING022, 15, 1, "YNyn", 256
If (Upper(STRING022) == "N") Then
Goto LABEL006
Else
Goto LABEL004
Endif
Goto LABEL020
:LABEL016
If (Mid(TSTRING039(20), 1, 1) == "%") Then
DispStr TSTRING039(20)
Else
PrintLn TSTRING039(20)
Endif
PrintLn
Goto LABEL011
:LABEL017
If (U_Sec == SysopSec()) Goto LABEL018
If (U_Name() == Upper("RAY CAVA")) Goto LABEL018
If (Upper(STRING034) == "N") Goto LABEL018
U_Sec = TSTRING033(STRING003)
U_ExpDate = DATE002
:LABEL018
PutUser
Log "--------- Credit Card Subscription PPE ----------", 1
STRING037 = "New expiration date: "
Log DATE002, 0
Log STRING037, 0
Log TSTRING033(STRING003), 0
STRING036 = "New Level: "
Log STRING036, 0
STRING035 = "Amount Charged: "
Log STRING046 + STRING042, 0
Log STRING035, 0
TSTRING005(9) = "Useing Invoice #: " + STRING023
Log TSTRING005(9), 0
TSTRING005(10) = U_Name() + " Has Just Purchased a Membership"
Log TSTRING005(10), 0
Log "--------- Credit Card Subscription PPE ----------", 1
PrintLn Chr(13)
Cls
If (Mid(TSTRING039(21), 1, 1) == "%") Then
DispStr TSTRING039(21)
Else
PrintLn TSTRING039(21)
Endif
Newlines 7
If (Upper(STRING034) == "Y") PrintLn TSTRING039(22) + TSTRING033(STRING003)
If (Upper(STRING034) == "Y") PrintLn TSTRING039(23) , DATE002
If (Upper(STRING010) == "Y") PrintLn " You Invoice Name Is: " + STRING017
If (Upper(STRING034) == "N") Then
If (Mid(TSTRING039(24), 1, 1) == "%") Then
DispStr TSTRING039(24)
Goto LABEL019
Endif
PrintLn TSTRING039(24)
Endif
:LABEL019
Newlines 6
FAppend 1, PPEPath() + "CREDIT.LOG", 2, 3
FPutLn 1, "════════════════════════════════════════════════════════════════════════"
FPutLn 1, "Invoice #: ", STRING023, " Date: ", Date()
FPutLn 1, "Bill to:"
FPutLn 1, STRING012
FPutLn 1, STRING013
FPutLn 1, STRING014
FPutLn 1, "Credit Card: " + CCType(STRING001)
FPutLn 1, "Credit Card Number: " + FmtCC(STRING001)
FPutLn 1, "Expiration Date: ", STRING027
FPutLn 1, "Voice Phone Number: " + STRING015
FPutLn 1, "New Security Level: " + TSTRING033(STRING003)
FPutLn 1, "Amount Charged" + STRING046 + STRING042
FPutLn 1, "For User:" + U_Name()
FClose 1
FOpen 1, PPEPath() + "REG.TXT", 2, 3
FPutLn 1, "--------- Credit Card Subscription PPE ----------"
FPutLn 1, TSTRING005(10)
FPutLn 1, TSTRING005(9)
FPutLn 1, STRING035
FPutLn 1, STRING046 + STRING042
FPutLn 1, STRING036
FPutLn 1, TSTRING033(STRING003)
FPutLn 1, STRING037
FPutLn 1, DATE002
FPutLn 1, "--------- Credit Card Subscription PPE ----------"
FClose 1
Message 0, "SYSOP", U_Name(), "Subscription", "R", 0, 0, 0, PPEPath() + "REG.TXT"
Message 0, U_Name(), "SYSOP", "Subscription", "R", 0, 0, 0, PPEPath() + "THANKS.TXT"
If (Mid(TSTRING039(25), 1, 1) == "%") Then
DispStr TSTRING039(25)
Else
PrintLn TSTRING039(25)
Endif
If (Upper(STRING010) == "Y") Then
STRING006 = ""
InputStr TSTRING039(26), STRING006, 12, 1, "YNyn", 256
PrintLn " "
If (Upper(STRING006) == "N") Then
Goto LABEL020
Goto LABEL020
Endif
KbdStuff "D;" + STRING017 + Chr(13)
End
Endif
:LABEL020
KbdStuff Chr(13)
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 7 Cls
; 1 Color
; 76 Goto
; 54 Let
; 74 PrintLn
; 45 If
; 3 DispFile
; 8 FOpen
; 1 FAppend
; 10 FClose
; 25 FGet
; 1 FPut
; 91 FPutLn
; 1 GetUser
; 1 PutUser
; 10 Log
; 11 InputStr
; 2 Newlines
; 1 InputText
; 2 KbdStuff
; 8 DispStr
; 2 Message
;
;
; ■ Functions used :
;
; 2 *
; 10 /
; 123 +
; 23 -
; 32 ==
; 10 <
; 3 <=
; 3 >
; 9 >=
; 22 !
; 9 &&
; 4 ||
; 35 Len(
; 19 Upper()
; 14 Mid()
; 1 Left()
; 1 Right()
; 23 Space()
; 4 Chr()
; 8 Date()
; 9 U_Name()
; 1 Year()
; 1 Month()
; 2 Mask_Num()
; 4 Mask_Ascii()
; 9 PPEPath()
; 1 SysopSec()
; 1 Exist()
; 3 FmtCC()
; 9 CCType()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Ws
;
; 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
;
; 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
;
; 3 For/Next
; 0 While/EndWhile
; 19 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------