home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / OCCPS30.ZIP / OCCPS2.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-06  |  10KB  |  380 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 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER002
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     Integer  INTEGER007
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     String   STRING016
  41.     String   STRING017
  42.     String   STRING018
  43.     String   STRING019
  44.     String   STRING020
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     STRING001 = PPEPath() + "SECURE" + String(CurSec())
  49.     If (Exist(STRING001)) Then
  50.         DispFile PPEPath() + "SECURE", 2 + 1 + 4
  51.         Delay 91
  52.         End
  53.     Endif
  54.     :LABEL001
  55.     STRING002 = PPEPath() + "OCCPS.CFG"
  56.     STRING003 = ReadLine(STRING002, 1)
  57.     STRING004 = ReadLine(STRING002, 2)
  58.     STRING005 = ReadLine(STRING002, 3)
  59.     INTEGER002 = Asc(Mid(STRING003, 1, 1)) + Asc(Mid(STRING003, 2, 1)) + Asc(Mid(STRING003, 3, 1)) + Asc(Mid(STRING003, 4, 1)) + Asc(Mid(STRING003, 5, 1)) + Asc(Mid(STRING003, 6, 1)) + Asc(Mid(STRING003, 7, 1)) + Asc(Mid(STRING003, 8, 1)) + Asc(Mid(STRING003, 9, 1)) + Asc(Mid(STRING003, 10, 1))
  60.     INTEGER003 = Asc(Mid(STRING004, 1, 1)) + Asc(Mid(STRING004, 2, 1)) + Asc(Mid(STRING004, 3, 1)) + Asc(Mid(STRING004, 4, 1)) + Asc(Mid(STRING004, 5, 1)) + Asc(Mid(STRING004, 6, 1)) + Asc(Mid(STRING004, 7, 1)) + Asc(Mid(STRING004, 8, 1))
  61.     INTEGER004 = Asc(Mid(STRING003, 11, 1)) + Asc(Mid(STRING003, 12, 1)) + Asc(Mid(STRING003, 13, 1)) + Asc(Mid(STRING003, 14, 1)) + Asc(Mid(STRING003, 15, 1)) + Asc(Mid(STRING003, 16, 1)) + Asc(Mid(STRING003, 17, 1)) + Asc(Mid(STRING003, 18, 1)) + Asc(Mid(STRING003, 19, 1)) + Asc(Mid(STRING003, 20, 1))
  62.     STRING006 = String(INTEGER002) + String(INTEGER003) + String(INTEGER004)
  63.     Cls
  64.     PrintLn ""
  65.     PrintLn "      @X7F ┌───────────────────────────────────────────────────────────────@X70┐ @XFF"
  66.     PrintLn "      @X7F │ @X70           ONLINE CREDIT CARD PROCESSOR SYSTEM 3.0            @X70│ @XFF"
  67.     PrintLn "      @X7F │ @X70        @BOARDNAME:45C@      @POS:72@@X70│ @XFF"
  68.     If (STRING006 == STRING005) Then
  69.         PrintLn "      @X7F │                                                               @X70│ @XFF"
  70.     Else
  71.         PrintLn "      @X7F │                     @XF4UNREGISTERED VERSION                      @X70│ @XFF"
  72.     Endif
  73.     PrintLn "      @X7F │ @X71The use of an invalid credit card or unauthorized use of one  @X70│ @XFF"
  74.     PrintLn "      @X7F │ @X71for the purpose of accessing this board constitutes fraud and @X70│ @XFF"
  75.     PrintLn "      @X7F │ @X71will be reported to the proper law enforcement agencies.      @X70│ @XFF"
  76.     PrintLn "      @X7F └@X70───────────────────────────────────────────────────────────────┘ @XFF"
  77.     PrintLn ""
  78.     PrintLn "      @X4F ┌───────────────────────────────────────────────────────────────@X40┐ @XFF"
  79.     PrintLn "      @X4F │ @X40Registering with a credit card you will receive an @X4FIMMEDIATE  @X40│ @XFF"
  80.     PrintLn "      @X4F │ @X40access upgrade for use during this session.                   @X40│ @XFF"
  81.     PrintLn "      @X4F └@X40───────────────────────────────────────────────────────────────┘ @XFF"
  82.     PrintLn ""
  83.     PrintLn ""
  84.     PrintLn "           @X13 ┌─────────────────────────────────────────────────────@X10┐ @XFF"
  85.     PrintLn "           @X13 │ @X1EType @X1D1@X1E to Register using your credit card.          @X10│ @XFF"
  86.     PrintLn "           @X13 │ @X1EType @X1D2 @X1Eto Download REGISTER.ZIP and send by mail.   @X10│ @XFF"
  87.     PrintLn "           @X13 └@X10-────────────────────────────────────────────────────┘ @XFF"
  88.     PrintLn ""
  89.     STRING007 = ""
  90.     InputStr "@X0BWhich type registration would you prefer (@X0D1@X0B-@X0D2@X0B)@X07", STRING007, 10, 1, "12", 270
  91.     Select Case (STRING007)
  92.         Case "1"
  93.             Log "*** Entered OCCPS with Credit Card Option ***", 0
  94.             Gosub LABEL002
  95.         Case "2"
  96.             Log "*** Downloaded registration form via OCCPS ***", 0
  97.             KbdStuff "D;REGISTER.ZIP" + Chr(13)
  98.             End
  99.         Case STRING005
  100.             End
  101.         Case Else
  102.             Cls
  103.             PrintLn ""
  104.             PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  105.             PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  106.             PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  107.             PrintLn ""
  108.             PrintLn ""
  109.             PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  110.             PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  111.             PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  112.             Delay 91
  113.             Log "*** Exited OCCPS without Registering ***", 0
  114.             End
  115.     End Select
  116.     :LABEL002
  117.     Cls
  118.     DispFile PPEPath() + "CATLOG", 2 + 1 + 4
  119.     FAppend 1, PPEPath() + "CHARGE.LOG", 2, 3
  120.     INTEGER005 = ""
  121.     InputInt "@X0B(@X0D#@X0B-@X0D##@X0B) of Selection, (@X0DEnter@X0B) TO Quit @X07", INTEGER005, 10
  122.     PrintLn ""
  123.     If (INTEGER005 == "") Goto LABEL003
  124.     INTEGER006 = Left(ReadLine(STRING002, INTEGER005 + 3), 3)
  125.     INTEGER007 = Right(ReadLine(STRING002, INTEGER005 + 3), 3)
  126.     If (INTEGER006 == 0) Then
  127.         Gosub LABEL002
  128.     Endif
  129.     Log "*** Placed order for Selection No " + String(INTEGER005) + " via OCCPS ***", 0
  130.     FPutLn 1, "********************************************************************"
  131.     FPutLn 1, "ORDERED:  Selection No " + String(INTEGER005)
  132.     FPutLn 1, "Level " + String(INTEGER006) + " Subscription"
  133.     FPutLn 1, " "
  134.     Goto LABEL004
  135.     :LABEL003
  136.     Cls
  137.     FClose 1
  138.     Gosub LABEL001
  139.     :LABEL004
  140.     InputCC "Enter credit card number", STRING008, 15
  141.     If (STRING008 == "") Then
  142.         If (STRING006 == STRING005) Then
  143.             Cls
  144.             FClose 1
  145.             End
  146.             Goto LABEL005
  147.         Endif
  148.         Cls
  149.         PrintLn ""
  150.         PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  151.         PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  152.         PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  153.         PrintLn ""
  154.         PrintLn ""
  155.         PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  156.         PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  157.         PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  158.         Delay 91
  159.         Log "*** Exited OCCPS without Registering ***", 0
  160.         Cls
  161.         FClose 1
  162.         End
  163.     Endif
  164.     :LABEL005
  165.     If (ValCC(STRING008) && (CCType(STRING008) <> "UNKNOWN")) Then
  166.         STRING018 = PPEPath() + "CCARDS.CFG"
  167.         FOpen 2, STRING018, 0, 2
  168.         :LABEL006
  169.         If (Ferr(2)) Goto LABEL007
  170.         FGet 2, STRING019
  171.         If (RTrim(Left(CCType(STRING008), 20), " ") == STRING019) Then
  172.             FClose 2
  173.             Gosub LABEL008
  174.         Endif
  175.         Goto LABEL006
  176.         :LABEL007
  177.         FClose 2
  178.         PrintLn ""
  179.         PrintLn ""
  180.         PrintLn "@X0ECurrently we are not able to accept @X0B", Left(CCType(STRING008), 20)
  181.         PrintLn "@X0EPlease use a different card or register by mail"
  182.         PrintLn ""
  183.         Log "Attempted to use a " + Left(CCType(STRING008), 20) + " Credit Card", 0
  184.         Wait
  185.         STRING008 = ""
  186.         Goto LABEL002
  187.     Else
  188.         PrintLn ""
  189.         PrintLn "@X0EThis is an @X0CINVALID @X0ECredit Card number!"
  190.         PrintLn ""
  191.         Delay 91
  192.         Log "Attempted to use an INVALID Credit Card number", 0
  193.     Endif
  194.     STRING008 = ""
  195.     Goto LABEL002
  196.     :LABEL008
  197.     PrintLn ""
  198.     PrintLn "@X0EThis card was issued by:  @X0B", Left(CCType(STRING008), 20)
  199.     PrintLn "@X0E  The account number is:  @X0B", FmtCC(STRING008)
  200.     FPutLn 1, "                User: " + U_Name()
  201.     FPutLn 1, "                Date: " + String(Date()) + " (" + String(Time()) + ")"
  202.     FPutLn 1, "           Card Type: " + Left(CCType(STRING008), 20)
  203.     FPutLn 1, "         Card Number: " + FmtCC(STRING008)
  204.     STRING010 = ""
  205.     PrintLn ""
  206.     PrintLn "@X0EEnter the Card Expiration Date (as shown on card)"
  207.     InputStr "", STRING010, 11, 5, "0123456789" + "/", 64
  208.     FPutLn 1, "     Expiration Date: " + STRING010
  209.     FPutLn 1, " "
  210.     STRING009 = ""
  211.     PrintLn ""
  212.     PrintLn "@X0EEnter the Cardholder's Name (as shown on card)"
  213.     InputStr "", STRING009, 11, 25, Mask_AlNum() + " ", 64
  214.     FPutLn 1, "   Cardholder's Name: " + STRING009
  215.     STRING011 = ""
  216.     PrintLn ""
  217.     PrintLn "@X0ECardholder's Street Address (Line 1)"
  218.     InputStr "", STRING011, 11, 25, Mask_AlNum() + " ", 64
  219.     FPutLn 1, "Cardholder's Address: " + STRING011
  220.     STRING012 = ""
  221.     PrintLn ""
  222.     PrintLn "@X0ECardholder's Suite or Apartment Number"
  223.     InputStr "", STRING012, 11, 25, Mask_AlNum() + " ", 64
  224.     If (STRING012 <> "") Then
  225.         FPutLn 1, "                    : " + STRING012
  226.     Endif
  227.     STRING013 = ""
  228.     PrintLn ""
  229.     PrintLn "@X0ECardholder's City (without state)"
  230.     InputStr "", STRING013, 11, 25, Mask_AlNum() + " ", 64
  231.     STRING014 = ""
  232.     PrintLn ""
  233.     PrintLn "@X0ECardholder's State"
  234.     InputStr "", STRING014, 11, 2, Mask_Alpha(), 64
  235.     STRING015 = ""
  236.     PrintLn ""
  237.     PrintLn "@X0ECardholder's Zip Code"
  238.     InputStr "", STRING015, 11, 10, Mask_Num() + "-", 64
  239.     FPutLn 1, "                    : " + STRING013 + ", " + STRING014 + "  " + STRING015
  240.     STRING016 = ""
  241.     PrintLn ""
  242.     PrintLn "@X0ECardholder's Home Phone Number"
  243.     InputStr "", STRING016, 11, 12, Mask_Num() + "-", 64
  244.     FPutLn 1, "   Home Phone Number: " + STRING016
  245.     STRING017 = ""
  246.     PrintLn ""
  247.     PrintLn "@X0ECardholder's Work Phone Number"
  248.     InputStr "", STRING017, 11, 12, Mask_Num() + "-", 64
  249.     FPutLn 1, "   Work Phone Number: " + STRING017
  250.     FPutLn 1, " "
  251.     FPutLn 1, "Credit Card Processing Completed Normally"
  252.     FClose 1
  253.     PrintLn ""
  254.     GetUser
  255.     If (U_Sec < INTEGER006) Then
  256.         PrintLn "Raising your security access to level " + String(INTEGER006) + "..."
  257.         U_Sec = INTEGER006
  258.         U_ExpDate = Date() + INTEGER007
  259.         PrintLn ""
  260.         PrintLn "Automatic upgrade Complete!"
  261.     ElseIf (U_Sec == INTEGER006) Then
  262.         PrintLn "Extending your level " + String(INTEGER006) + " security access..."
  263.         U_ExpDate = U_ExpDate + INTEGER007
  264.         PrintLn ""
  265.         PrintLn "Automatic upgrade Complete!"
  266.     Else
  267.         PrintLn "Level requested is lower than existing level"
  268.         PrintLn "No change in level made"
  269.     Endif
  270.     PutUser
  271.     PrintLn ""
  272.     PrintLn "Your subscription will expire on ", U_ExpDate
  273.     PrintLn ""
  274.     PrintLn "@X0FThank you @X0D@USER@ @X0Ffor your order"
  275.     Log "Completed Credit Card Processing!", 0
  276.     STRING020 = PPEPath() + "INFORM"
  277.     If (Exist(STRING020)) Then
  278.         DispFile PPEPath() + "INFORM", 2 + 1 + 4
  279.         Delay 91
  280.         End
  281.     Endif
  282.     If (STRING006 == STRING005) Then
  283.         End
  284.     Else
  285.         Cls
  286.         PrintLn ""
  287.         PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  288.         PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  289.         PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  290.         PrintLn ""
  291.         PrintLn ""
  292.         PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  293.         PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  294.         PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  295.         Delay 91
  296.         End
  297.     Endif
  298.  
  299. ;------------------------------------------------------------------------------
  300. ;
  301. ; Usage report (before postprocessing)
  302. ;
  303. ; ■ Statements used :
  304. ;
  305. ;    9       End
  306. ;    8       Cls
  307. ;    1       Wait
  308. ;    30      Goto 
  309. ;    29      Let 
  310. ;    92      PrintLn 
  311. ;    17      If 
  312. ;    3       DispFile 
  313. ;    1       FOpen 
  314. ;    1       FAppend 
  315. ;    6       FClose 
  316. ;    1       FGet 
  317. ;    18      FPutLn 
  318. ;    1       GetUser
  319. ;    1       PutUser
  320. ;    8       Log 
  321. ;    10      InputStr 
  322. ;    1       InputInt 
  323. ;    1       InputCC 
  324. ;    4       Gosub 
  325. ;    6       Delay 
  326. ;    1       KbdStuff 
  327. ;
  328. ;
  329. ; ■ Functions used :
  330. ;
  331. ;    84      +
  332. ;    11      ==
  333. ;    2       <>
  334. ;    1       <
  335. ;    17      !
  336. ;    1       &&
  337. ;    28      Mid()
  338. ;    6       Left()
  339. ;    1       Right()
  340. ;    1       Ferr()
  341. ;    1       Chr()
  342. ;    28      Asc()
  343. ;    1       RTrim()
  344. ;    2       Date()
  345. ;    1       Time()
  346. ;    1       U_Name()
  347. ;    11      String()
  348. ;    1       Mask_Alpha()
  349. ;    3       Mask_Num()
  350. ;    4       Mask_AlNum()
  351. ;    8       PPEPath()
  352. ;    5       ReadLine()
  353. ;    1       CurSec()
  354. ;    2       Exist()
  355. ;    1       ValCC()
  356. ;    2       FmtCC()
  357. ;    6       CCType()
  358. ;
  359. ;------------------------------------------------------------------------------
  360. ;
  361. ; Analysis flags : W
  362. ;
  363. ; W - Write user ■ 5
  364. ;     Program writes a user record. Although this may be normal for a
  365. ;     User Editor, it may also be a way to modify an account level.
  366. ;     ■ Search for : PUTUSER
  367. ;
  368. ;------------------------------------------------------------------------------
  369. ;
  370. ; Postprocessing report
  371. ;
  372. ;    0       For/Next
  373. ;    0       While/EndWhile
  374. ;    12      If/Then or If/Then/Else
  375. ;    1       Select Case
  376. ;
  377. ;------------------------------------------------------------------------------
  378. ;                 AEGiS Corp - Break the routines, code against the machines!
  379. ;------------------------------------------------------------------------------
  380.