home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / DOOR / CREDIT18.ZIP / CREDIT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-09-12  |  13KB  |  600 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     DATE002
  20.     Integer  INTEGER002
  21.     Integer  TINTEGER003(10)
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Money    MONEY001
  32.     Money    MONEY002
  33.     Money    TMONEY003(10)
  34.     Money    MONEY004
  35.     String   STRING001
  36.     String   STRING002
  37.     String   STRING003
  38.     String   STRING004
  39.     String   TSTRING005(10)
  40.     String   STRING006
  41.     String   STRING007
  42.     String   STRING008
  43.     String   STRING009
  44.     String   STRING010
  45.     String   STRING011
  46.     String   STRING012
  47.     String   STRING013
  48.     String   STRING014
  49.     String   STRING015
  50.     String   STRING016
  51.     String   STRING017
  52.     String   STRING018
  53.     String   STRING019
  54.     String   STRING020
  55.     String   STRING021
  56.     String   STRING022
  57.     String   STRING023
  58.     String   STRING024
  59.     String   STRING025
  60.     String   STRING026
  61.     String   STRING027
  62.     String   STRING028
  63.     String   STRING029
  64.     String   STRING030
  65.     String   TSTRING031(10)
  66.     String   TSTRING032(10)
  67.     String   TSTRING033(10)
  68.     String   STRING034
  69.     String   STRING035
  70.     String   STRING036
  71.     String   STRING037
  72.     String   STRING038
  73.     String   TSTRING039(26)
  74.     String   STRING040
  75.     String   STRING041
  76.     String   STRING042
  77.     String   STRING043
  78.     String   TSTRING044(1)
  79.     String   STRING045
  80.     String   STRING046
  81.  
  82. ;------------------------------------------------------------------------------
  83.  
  84.     GetUser
  85.     FOpen 1, PPEPath() + "credit.cnf", 2, 3
  86.     FGet 1, STRING028
  87.     FGet 1, STRING019
  88.     FGet 1, STRING025
  89.     FGet 1, STRING026
  90.     FGet 1, STRING029
  91.     FGet 1, STRING030
  92.     FGet 1, STRING041
  93.     FGet 1, INTEGER010
  94.     FGet 1, INTEGER012
  95.     FGet 1, STRING040
  96.     FGet 1, INTEGER009
  97.     FGet 1, INTEGER011
  98.     FGet 1, STRING018
  99.     FGet 1, STRING010
  100.     FGet 1, STRING009
  101.     FGet 1, STRING034
  102.     FGet 1, STRING046
  103.     :LABEL001
  104.     STRING002 = STRING002 + 1
  105.     FGet 1, TSTRING031(STRING002)
  106.     FGet 1, TSTRING032(STRING002)
  107.     FGet 1, TSTRING033(STRING002)
  108.     FGet 1, TINTEGER003(STRING002)
  109.     FGet 1, TMONEY003(STRING002)
  110.     If (TSTRING031(STRING002) == "***") Then
  111.         FClose 1
  112.         Goto LABEL002
  113.     Else
  114.         Goto LABEL001
  115.     Endif
  116.     FClose 1
  117.     :LABEL002
  118.     If (Exist(STRING025)) DispFile STRING025, 2 + 1 + 4
  119.     PrintLn Chr(13)
  120.     :LABEL003
  121.     FOpen 1, PPEPath() + "credit.txt", 0, 3
  122.     For INTEGER004 = 1 To 26
  123.         FGet 1, TSTRING039(INTEGER004)
  124.     Next
  125.     FClose 1
  126.     DispFile STRING026, 2 + 1 + 4
  127.     InputStr TSTRING039(1), STRING020, 14, 1, Mask_Ascii(), 256
  128.     For STRING003 = 1 To STRING002
  129.         If (Upper(STRING020) == TSTRING031(STRING003)) Goto LABEL005
  130.         If (Upper(STRING020) == "E") Goto LABEL020
  131.         If (STRING020 == "") Goto LABEL003
  132.     Next
  133.     Goto LABEL003
  134.     :LABEL004
  135.     If (Mid(TSTRING039(2), 1, 1) == "%") Then
  136.         DispStr TSTRING039(2)
  137.     Else
  138.         PrintLn TSTRING039(2)
  139.     Endif
  140.     For STRING007 = 1 To Len(U_Name())
  141.         STRING008 = Mid(U_Name(), STRING007, 1)
  142.         If (STRING008 == " ") STRING008 = "_"
  143.         STRING017 = STRING017 + STRING008
  144.     Next
  145.     STRING017 = Mid(STRING017, 1, 8) + ".INV"
  146.     FOpen 1, PPEPath() + "invoice", 2, 3
  147.     FGet 1, INTEGER002
  148.     FClose 1
  149.     FOpen 1, PPEPath() + "invoice", 2, 3
  150.     FGet 1, STRING023
  151.     FClose 1
  152.     FOpen 1, PPEPath() + "invoice", 2, 3
  153.     FPut 1, INTEGER002 + 1
  154.     FClose 1
  155.     STRING038 = INTEGER002
  156.     FOpen 1, STRING029 + STRING038, 2, 3
  157.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  158.     FPutLn 1, ""
  159.     FPutLn 1, "Invoice #: ", STRING023, "      Date: ", Date()
  160.     FPutLn 1, ""
  161.     FPutLn 1, "Bill to:                            Ordered for:"
  162.     FPutLn 1, ""
  163.     FPutLn 1, STRING012 + Space(36 - Len(STRING012)) + STRING016
  164.     FPutLn 1, STRING013 + Space(36 - Len(STRING013)) + ""
  165.     FPutLn 1, STRING014
  166.     FPutLn 1, ""
  167.     FPutLn 1, "                  Credit Card: " + CCType(STRING001)
  168.     FPutLn 1, "           Credit Card Number: " + FmtCC(STRING001)
  169.     FPutLn 1, "              Expiration Date: ", STRING027
  170.     FPutLn 1, "           Voice Phone Number: " + STRING015
  171.     FPutLn 1, ""
  172.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  173.     FPutLn 1, ""
  174.     FPutLn 1, " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + "  " + STRING046, TSTRING044(STRING003)
  175.     FPutLn 1, "      Membership for: ", STRING016
  176.     FPutLn 1, " New Expiration Date: ", DATE002
  177.     FPutLn 1, ""
  178.     FPutLn 1, Space(63 - Len(STRING041)) + STRING041 + "  " + STRING046, STRING045
  179.     FPutLn 1, Space(63 - Len(STRING040)) + STRING040 + "  " + STRING046, STRING043
  180.     FPutLn 1, "                                                              ========="
  181.     FPutLn 1, " Complete Charge to Your Credit Card                          :  " + STRING046, STRING042
  182.     FPutLn 1, ""
  183.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  184.     FPutLn 1, ""
  185.     FPutLn 1, "        A Charge in the amount of  " + STRING046, STRING042, " will show on your next"
  186.     FPutLn 1, "                      " + CCType(STRING001) + " credit statement."
  187.     FPutLn 1, ""
  188.     FPutLn 1, "              Thanks for Purchasing a Membership with Us!"
  189.     FPutLn 1, Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
  190.     FPutLn 1, "═══════════════════════════════════════════════════════════════════════"
  191.     FClose 1
  192.     FOpen 1, STRING030 + STRING017, 2, 3
  193.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  194.     FPutLn 1, ""
  195.     FPutLn 1, "Invoice #: ", STRING023, "      Date: ", Date()
  196.     FPutLn 1, ""
  197.     FPutLn 1, "Bill to:                            Ordered for:"
  198.     FPutLn 1, ""
  199.     FPutLn 1, STRING012 + Space(36 - Len(STRING012)) + STRING016
  200.     FPutLn 1, STRING013 + Space(36 - Len(STRING013)) + ""
  201.     FPutLn 1, STRING014
  202.     FPutLn 1, ""
  203.     FPutLn 1, "                  Credit Card: " + CCType(STRING001)
  204.     FPutLn 1, "           Credit Card Number: xxxxxxxxxxxxxxxx"
  205.     FPutLn 1, "              Expiration Date: ", STRING027
  206.     FPutLn 1, "           Voice Phone Number: " + STRING015
  207.     FPutLn 1, ""
  208.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  209.     FPutLn 1, ""
  210.     FPutLn 1, " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + "  " + STRING046, TSTRING044(STRING003)
  211.     FPutLn 1, "      Membership for: ", STRING016
  212.     FPutLn 1, " New Expiration Date: ", DATE002
  213.     FPutLn 1, ""
  214.     FPutLn 1, Space(63 - Len(STRING041)) + STRING041 + "  " + STRING046, STRING045
  215.     FPutLn 1, Space(63 - Len(STRING040)) + STRING040 + "  " + STRING046, STRING043
  216.     FPutLn 1, "                                                              ========="
  217.     FPutLn 1, " Complete Charge to Your Credit Card                          :  " + STRING046, STRING042
  218.     FPutLn 1, ""
  219.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  220.     FPutLn 1, ""
  221.     FPutLn 1, "        A Charge in the amount of  " + STRING046, STRING042, " will show on your next"
  222.     FPutLn 1, "                      " + CCType(STRING001) + " credit statement."
  223.     FPutLn 1, ""
  224.     FPutLn 1, "              Thanks for Purchasing a Membership with Us!"
  225.     FPutLn 1, Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
  226.     FPutLn 1, "═══════════════════════════════════════════════════════════════════════"
  227.     FClose 1
  228.     If (Mid(TSTRING039(3), 1, 1) == "%") Then
  229.         DispStr TSTRING039(3)
  230.     Else
  231.         PrintLn TSTRING039(3)
  232.     Endif
  233.     Goto LABEL017
  234.     Goto LABEL020
  235.     :LABEL005
  236.     STRING022 = ""
  237.     DispFile TSTRING032(STRING003), 2 + 1 + 4
  238.     InputText TSTRING039(4), STRING022, 13, 1
  239.     If (Upper(STRING022) == "N") Then
  240.         Goto LABEL003
  241.     Else
  242.         Goto LABEL006
  243.     Endif
  244.     :LABEL006
  245.     Cls
  246.     If (Mid(TSTRING039(5), 1, 1) == "%") Then
  247.         DispStr TSTRING039(5)
  248.     Else
  249.         PrintLn TSTRING039(5)
  250.     Endif
  251.     PrintLn " "
  252.     PrintLn "@X0A[@X0C#@X0A] min. [@X0C#@X0A] max. Refers to the MINIMUM and MAXIMUM length of you answer"
  253.     STRING012 = ""
  254.     PrintLn " "
  255.     PrintLn "Press ENTER alone on the FIRST question only to abort your entry."
  256.     InputStr TSTRING039(6), STRING012, 10, 25, Mask_Ascii(), 256
  257.     STRING012 = Upper(STRING012)
  258.     If (STRING012 == "") Goto LABEL003
  259.     :LABEL007
  260.     Cls
  261.     PrintLn "@X0A[@X0C5@X0A] min. [@X0C40@X0A] max."
  262.     PrintLn " "
  263.     InputStr TSTRING039(7), STRING013, 11, 40, Mask_Ascii(), 256
  264.     If (Len(STRING013) < 5) Then
  265.         PrintLn "@BEEP@ You Must Answer This Question"
  266.         Goto LABEL007
  267.     Endif
  268.     STRING013 = Upper(STRING013)
  269.     :LABEL008
  270.     Cls
  271.     PrintLn "@X0A[@X0C5@X0A] min. [@X0C40@X0A] max."
  272.     PrintLn " "
  273.     InputStr TSTRING039(8), STRING014, 12, 40, Mask_Ascii(), 256
  274.     If (Len(STRING014) < 3) Then
  275.         PrintLn "@BEEP@ You Must Answer This Question"
  276.         Goto LABEL008
  277.     Endif
  278.     STRING014 = Upper(STRING014)
  279.     :LABEL009
  280.     Cls
  281.     PrintLn "@X0A[@X0C7@X0A] min. [@X0C30@X0A] max."
  282.     PrintLn " "
  283.     InputStr TSTRING039(16), STRING015, 12, 35, "1234567890()-+extension.EXTENSION# ", 256
  284.     If (Len(STRING015) < 7) Then
  285.         PrintLn "@BEEP@ You Must Answer This Question"
  286.         Goto LABEL009
  287.     Endif
  288.     If (Upper(STRING018) == "ALL") Goto LABEL010
  289.     If (Upper(STRING009) == "N") Goto LABEL010
  290.     TSTRING005(7) = "Is " + STRING018 + " State sales tax aplicable in your area (Y/n)"
  291.     STRING011 = ""
  292.     InputStr TSTRING005(7), STRING011, 10, 1, "YNyn", 256
  293.     If (Upper(STRING011) == "N") INTEGER009 = "0"
  294.     :LABEL010
  295.     PrintLn " "
  296.     STRING021 = ""
  297.     Cls
  298.     PrintLn " "
  299.     PrintLn Space(41 - Len("Credit Card Information") / 2) + "@X0ECredit Card Information"
  300.     PrintLn " "
  301.     PrintLn Space(41 - Len(STRING012) / 2) + "@X0A", STRING012
  302.     PrintLn Space(41 - Len(STRING013) / 2) + "@X0B", STRING013
  303.     PrintLn Space(41 - Len(STRING014) / 2) + "@X0C", STRING014
  304.     PrintLn Space(41 - Len(STRING015) / 2) + "@X0D", STRING015
  305.     PrintLn " "
  306.     InputStr TSTRING039(10), STRING021, 10, 1, "YnyN", 32 + 256
  307.     If (Upper(STRING021) == "Y") Goto LABEL011
  308.     Goto LABEL006
  309.     :LABEL011
  310.     STRING001 = ""
  311.     STRING027 = ""
  312.     PrintLn " "
  313.     InputStr TSTRING039(11), STRING001, 13, 16, Mask_Num(), 256
  314.     InputStr TSTRING039(12), STRING027, 14, 5, Mask_Num() + "/", 256
  315.     If (STRING001 == "") Goto LABEL003
  316.     Goto LABEL013
  317.     :LABEL012
  318.     Cls
  319.     Color 15
  320.     STRING016 = U_Name()
  321.     Goto LABEL015
  322.     :LABEL013
  323.     STRING004 = STRING004 + 1
  324.     INTEGER005 = Left(STRING027, 2)
  325.     INTEGER006 = Right(STRING027, 2)
  326.     INTEGER007 = Month(Date())
  327.     INTEGER008 = Year(Date())
  328.     If (INTEGER006 > 80) Then
  329.         INTEGER006 = INTEGER006 + 1900
  330.     Else
  331.         INTEGER006 = INTEGER006 + 2000
  332.     Endif
  333.     If ((INTEGER005 > 12) || (INTEGER005 < 1)) Goto LABEL016
  334.     If ((INTEGER005 < INTEGER007) && (INTEGER006 >= INTEGER008)) Goto LABEL014
  335.     If (INTEGER006 < INTEGER008) Goto LABEL016
  336.     If ((INTEGER006 < INTEGER008) && (INTEGER005 >= INTEGER007)) Goto LABEL016
  337.     If (INTEGER006 > INTEGER008) Goto LABEL014
  338.     If ((INTEGER006 == INTEGER008) && (INTEGER005 >= INTEGER007)) Goto LABEL014
  339.     PrintLn 
  340.     :LABEL014
  341.     If (CCType(STRING001) == "UNKNOWN") Then
  342.         If (Mid(TSTRING039(17), 1, 1) == "%") Then
  343.             DispStr TSTRING039(17)
  344.         Else
  345.             PrintLn TSTRING039(17)
  346.         Endif
  347.         Goto LABEL011
  348.     Else
  349.         PrintLn "That is a valid " + CCType(STRING001) + " Number"
  350.         Goto LABEL012
  351.         DATE002 = Date() + TINTEGER003(STRING003)
  352.     Endif
  353.     :LABEL015
  354.     PrintLn "@X0A════════════════════════════════════════════════════════════════════════"
  355.     PrintLn ""
  356.     PrintLn "Invoice #: ", STRING023, "      Date: ", Date()
  357.     PrintLn ""
  358.     PrintLn "Bill to:                            Ordered for:"
  359.     PrintLn ""
  360.     PrintLn STRING012 + Space(36 - Len(STRING012)) + STRING016
  361.     PrintLn STRING013 + Space(36 - Len(STRING013)) + ""
  362.     PrintLn STRING014
  363.     PrintLn ""
  364.     PrintLn "                  Credit Card: " + CCType(STRING001)
  365.     PrintLn "           Credit Card Number: " + FmtCC(STRING001)
  366.     DATE002 = Date() + TINTEGER003(STRING003)
  367.     PrintLn "              Expiration Date: ", STRING027
  368.     PrintLn "           Voice Phone Number: " + STRING015
  369.     PrintLn ""
  370.     PrintLn "════════════════════════════════════════════════════════════════════════"
  371.     PrintLn ""
  372.     TSTRING044(STRING003) = TMONEY003(STRING003)
  373.     TSTRING044(STRING003) = Mid(TSTRING044(STRING003), 2, Len(TSTRING044(STRING003)))
  374.     MONEY004 = (INTEGER010 * TMONEY003(STRING003)) / INTEGER012
  375.     STRING045 = MONEY004
  376.     STRING045 = Mid(STRING045, 2, Len(STRING045))
  377.     MONEY002 = (TMONEY003(STRING003) * INTEGER009) / INTEGER011
  378.     STRING043 = MONEY002
  379.     STRING043 = Mid(STRING043, 2, Len(STRING043))
  380.     MONEY001 = MONEY004 + MONEY002 + TMONEY003(STRING003)
  381.     STRING042 = MONEY001
  382.     STRING042 = Mid(STRING042, 2, Len(STRING042))
  383.     STRING024 = " Membership Subscription at Security Level " + TSTRING033(STRING003)
  384.     PrintLn " Membership Subscription at Security Level ", TSTRING033(STRING003), Space(63 - Len(STRING024)) + "  " + STRING046, TSTRING044(STRING003)
  385.     PrintLn "      Membership for: ", STRING016
  386.     PrintLn " New Expiration Date: ", DATE002
  387.     PrintLn ""
  388.     PrintLn Space(63 - Len(STRING041)) + STRING041 + "  " + STRING046, STRING045
  389.     PrintLn Space(63 - Len(STRING040)) + STRING040 + "  " + STRING046, STRING043
  390.     PrintLn "                                                              ========="
  391.     PrintLn " Complete Charge to Your Credit Card                          : @X0C " + STRING046, STRING042
  392.     PrintLn ""
  393.     PrintLn "@X0A════════════════════════════════════════════════════════════════════════"
  394.     PrintLn ""
  395.     PrintLn "          A Charge in the amount of " + STRING046, STRING042, " will show on your next"
  396.     PrintLn "                      " + CCType(STRING001) + " credit statement."
  397.     PrintLn ""
  398.     PrintLn "              Thanks for Purchasing a Membership with Us!"
  399.     PrintLn Space(34 - (Len(STRING028) + Len(STRING019)) / 2), STRING028 + " SysOp, " + STRING019
  400.     PrintLn "═══════════════════════════════════════════════════════════════════════"
  401.     STRING022 = ""
  402.     InputStr TSTRING039(19), STRING022, 15, 1, "YNyn", 256
  403.     If (Upper(STRING022) == "N") Then
  404.         Goto LABEL006
  405.     Else
  406.         Goto LABEL004
  407.     Endif
  408.     Goto LABEL020
  409.     :LABEL016
  410.     If (Mid(TSTRING039(20), 1, 1) == "%") Then
  411.         DispStr TSTRING039(20)
  412.     Else
  413.         PrintLn TSTRING039(20)
  414.     Endif
  415.     PrintLn 
  416.     Goto LABEL011
  417.     :LABEL017
  418.     If (U_Sec == SysopSec()) Goto LABEL018
  419.     If (U_Name() == Upper("RAY CAVA")) Goto LABEL018
  420.     If (Upper(STRING034) == "N") Goto LABEL018
  421.     U_Sec = TSTRING033(STRING003)
  422.     U_ExpDate = DATE002
  423.     :LABEL018
  424.     PutUser
  425.     Log "--------- Credit Card Subscription PPE ----------", 1
  426.     STRING037 = "New expiration date: "
  427.     Log DATE002, 0
  428.     Log STRING037, 0
  429.     Log TSTRING033(STRING003), 0
  430.     STRING036 = "New Level: "
  431.     Log STRING036, 0
  432.     STRING035 = "Amount Charged: "
  433.     Log STRING046 + STRING042, 0
  434.     Log STRING035, 0
  435.     TSTRING005(9) = "Useing Invoice #: " + STRING023
  436.     Log TSTRING005(9), 0
  437.     TSTRING005(10) = U_Name() + " Has Just Purchased a Membership"
  438.     Log TSTRING005(10), 0
  439.     Log "--------- Credit Card Subscription PPE ----------", 1
  440.     PrintLn Chr(13)
  441.     Cls
  442.     If (Mid(TSTRING039(21), 1, 1) == "%") Then
  443.         DispStr TSTRING039(21)
  444.     Else
  445.         PrintLn TSTRING039(21)
  446.     Endif
  447.     Newlines 7
  448.     If (Upper(STRING034) == "Y") PrintLn TSTRING039(22) + TSTRING033(STRING003)
  449.     If (Upper(STRING034) == "Y") PrintLn TSTRING039(23) , DATE002
  450.     If (Upper(STRING010) == "Y") PrintLn "              You Invoice Name Is: " + STRING017
  451.     If (Upper(STRING034) == "N") Then
  452.         If (Mid(TSTRING039(24), 1, 1) == "%") Then
  453.             DispStr TSTRING039(24)
  454.             Goto LABEL019
  455.         Endif
  456.         PrintLn TSTRING039(24)
  457.     Endif
  458.     :LABEL019
  459.     Newlines 6
  460.     FAppend 1, PPEPath() + "CREDIT.LOG", 2, 3
  461.     FPutLn 1, "════════════════════════════════════════════════════════════════════════"
  462.     FPutLn 1, "Invoice #: ", STRING023, "      Date: ", Date()
  463.     FPutLn 1, "Bill to:"
  464.     FPutLn 1, STRING012
  465.     FPutLn 1, STRING013
  466.     FPutLn 1, STRING014
  467.     FPutLn 1, "Credit Card: " + CCType(STRING001)
  468.     FPutLn 1, "Credit Card Number: " + FmtCC(STRING001)
  469.     FPutLn 1, "Expiration Date: ", STRING027
  470.     FPutLn 1, "Voice Phone Number: " + STRING015
  471.     FPutLn 1, "New Security Level: " + TSTRING033(STRING003)
  472.     FPutLn 1, "Amount Charged" + STRING046 + STRING042
  473.     FPutLn 1, "For User:" + U_Name()
  474.     FClose 1
  475.     FOpen 1, PPEPath() + "REG.TXT", 2, 3
  476.     FPutLn 1, "--------- Credit Card Subscription PPE ----------"
  477.     FPutLn 1, TSTRING005(10)
  478.     FPutLn 1, TSTRING005(9)
  479.     FPutLn 1, STRING035
  480.     FPutLn 1, STRING046 + STRING042
  481.     FPutLn 1, STRING036
  482.     FPutLn 1, TSTRING033(STRING003)
  483.     FPutLn 1, STRING037
  484.     FPutLn 1, DATE002
  485.     FPutLn 1, "--------- Credit Card Subscription PPE ----------"
  486.     FClose 1
  487.     Message 0, "SYSOP", U_Name(), "Subscription", "R", 0, 0, 0, PPEPath() + "REG.TXT"
  488.     Message 0, U_Name(), "SYSOP", "Subscription", "R", 0, 0, 0, PPEPath() + "THANKS.TXT"
  489.     If (Mid(TSTRING039(25), 1, 1) == "%") Then
  490.         DispStr TSTRING039(25)
  491.     Else
  492.         PrintLn TSTRING039(25)
  493.     Endif
  494.     If (Upper(STRING010) == "Y") Then
  495.         STRING006 = ""
  496.         InputStr TSTRING039(26), STRING006, 12, 1, "YNyn", 256
  497.         PrintLn " "
  498.         If (Upper(STRING006) == "N") Then
  499.             Goto LABEL020
  500.             Goto LABEL020
  501.         Endif
  502.         KbdStuff "D;" + STRING017 + Chr(13)
  503.         End
  504.     Endif
  505.     :LABEL020
  506.     KbdStuff Chr(13)
  507.     End
  508.  
  509. ;------------------------------------------------------------------------------
  510. ;
  511. ; Usage report (before postprocessing)
  512. ;
  513. ; ■ Statements used :
  514. ;
  515. ;    2       End
  516. ;    7       Cls
  517. ;    1       Color 
  518. ;    76      Goto 
  519. ;    54      Let 
  520. ;    74      PrintLn 
  521. ;    45      If 
  522. ;    3       DispFile 
  523. ;    8       FOpen 
  524. ;    1       FAppend 
  525. ;    10      FClose 
  526. ;    25      FGet 
  527. ;    1       FPut 
  528. ;    91      FPutLn 
  529. ;    1       GetUser
  530. ;    1       PutUser
  531. ;    10      Log 
  532. ;    11      InputStr 
  533. ;    2       Newlines 
  534. ;    1       InputText 
  535. ;    2       KbdStuff 
  536. ;    8       DispStr 
  537. ;    2       Message 
  538. ;
  539. ;
  540. ; ■ Functions used :
  541. ;
  542. ;    2       *
  543. ;    10      /
  544. ;    123     +
  545. ;    23      -
  546. ;    32      ==
  547. ;    10      <
  548. ;    3       <=
  549. ;    3       >
  550. ;    9       >=
  551. ;    22      !
  552. ;    9       &&
  553. ;    4       ||
  554. ;    35      Len(
  555. ;    19      Upper()
  556. ;    14      Mid()
  557. ;    1       Left()
  558. ;    1       Right()
  559. ;    23      Space()
  560. ;    4       Chr()
  561. ;    8       Date()
  562. ;    9       U_Name()
  563. ;    1       Year()
  564. ;    1       Month()
  565. ;    2       Mask_Num()
  566. ;    4       Mask_Ascii()
  567. ;    9       PPEPath()
  568. ;    1       SysopSec()
  569. ;    1       Exist()
  570. ;    3       FmtCC()
  571. ;    9       CCType()
  572. ;
  573. ;------------------------------------------------------------------------------
  574. ;
  575. ; Analysis flags : Ws
  576. ;
  577. ; W - Write user ■ 5
  578. ;     Program writes a user record. Although this may be normal for a
  579. ;     User Editor, it may also be a way to modify an account level.
  580. ;     ■ Search for : PUTUSER
  581. ;
  582. ; s - Sysop level access ■ 5
  583. ;     Program is reading the sysop access level, this may be normal
  584. ;     but still it is very suspect. It is the best way to give a user
  585. ;     all priviledges. Check!
  586. ;     ■ Search for : SYSOPSEC()
  587. ;
  588. ;------------------------------------------------------------------------------
  589. ;
  590. ; Postprocessing report
  591. ;
  592. ;    3       For/Next
  593. ;    0       While/EndWhile
  594. ;    19      If/Then or If/Then/Else
  595. ;    0       Select Case
  596. ;
  597. ;------------------------------------------------------------------------------
  598. ;                 AEGiS Corp - Break the routines, code against the machines!
  599. ;------------------------------------------------------------------------------
  600.