Metropoli BBS
VIEWER: occps1.ppd MODE: TEXT (CP437)
;------------------------------------------------------------------------------
;PCBoard Programming Language Decompiler 1.02            (c)1994 by Chicken/ECR
;------------------------------------------------------------------------------
;
;PCBoard Programming Language Executable 1.00 detected.
;
;Source Code:
;------------------------------------------------------------------------------

	STRING     VAR001
	STRING     VAR002
	STRING     VAR003
	STRING     VAR004
	STRING     VAR005
	STRING     VAR006
	INTEGER    VAR007
	INTEGER    VAR008
	INTEGER    VAR009
	STRING     VAR010
	STRING     VAR011
	STRING     VAR012
	STRING     VAR013
	STRING     VAR014
	STRING     VAR015
	STRING     VAR016
	STRING     VAR017
	STRING     VAR018
	STRING     VAR019
	STRING     VAR020
	STRING     VAR021
	STRING     VAR022
	STRING     VAR023
	STRING     VAR024
	STRING     VAR025
	STRING     VAR026
	INTEGER    VAR027
	INTEGER    VAR028
	INTEGER    VAR029
	STRING     VAR030
	STRING     VAR031
	STRING     VAR032
	STRING     VAR033
	STRING     VAR034

;------------------------------------------------------------------------------

    LET VAR001=PPEPATH()+"SECURE"+STRING(CURSEC())
    IF (!EXIST(VAR001)) GOTO LABEL000
    DISPFILE PPEPATH()+"SECURE",2+1+4
    DELAY 91
    END 

:LABEL000
    LET VAR002=PPEPATH()+"OCCPS.CFG"
    LET VAR003=READLINE(VAR002,1)
    LET VAR004=READLINE(VAR002,2)
    LET VAR005=READLINE(VAR002,3)
    LET VAR007=ASC(MID(VAR003,1,1))+ASC(MID(VAR003,2,1))+ASC(MID(VAR003,3,1))+ASC(MID(VAR003,4,1))+ASC(MID(VAR003,5,1))+ASC(MID(VAR003,6,1))+ASC(MID(VAR003,7,1))+ASC(MID(VAR003,8,1))+ASC(MID(VAR003,9,1))+ASC(MID(VAR003,10,1))
    LET VAR008=ASC(MID(VAR004,1,1))+ASC(MID(VAR004,2,1))+ASC(MID(VAR004,3,1))+ASC(MID(VAR004,4,1))+ASC(MID(VAR004,5,1))+ASC(MID(VAR004,6,1))+ASC(MID(VAR004,7,1))+ASC(MID(VAR004,8,1))
    LET VAR009=ASC(MID(VAR003,11,1))+ASC(MID(VAR003,12,1))+ASC(MID(VAR003,13,1))+ASC(MID(VAR003,14,1))+ASC(MID(VAR003,15,1))+ASC(MID(VAR003,16,1))+ASC(MID(VAR003,17,1))+ASC(MID(VAR003,18,1))+ASC(MID(VAR003,19,1))+ASC(MID(VAR003,20,1))
    LET VAR006=STRING(VAR007)+STRING(VAR008)+STRING(VAR009)
    CLS 
    PRINTLN ""
    PRINTLN "      @X7F ┌───────────────────────────────────────────────────────────────@X70┐ @X0F"
    PRINTLN "      @X7F │ @X70           ONLINE CREDIT CARD PROCESSOR SYSTEM 3.6            @X70│ @X0F"
    PRINTLN "      @X7F │ @X70        @BOARDNAME:45C@      @POS:72@@X70│ @X0F"
;    IF (!(VAR006=VAR005)) GOTO LABEL001
    PRINTLN "      @X7F │                                                               @X70│ @X0F"
    GOTO LABEL002

:LABEL001
    PRINTLN "      @X7F │                     @XF4UNREGISTERED VERSION                      @X70│ @X0F"

:LABEL002
    PRINTLN "      @X7F │ @X71The use of an invalid credit card or unauthorized use of one  @X70│ @X0F"
    PRINTLN "      @X7F │ @X71for the purpose of accessing this board constitutes fraud and @X70│ @X0F"
    PRINTLN "      @X7F │ @X71will be reported to the proper law enforcement agencies.      @X70│ @X0F"
    PRINTLN "      @X7F └@X70───────────────────────────────────────────────────────────────┘ @X0F"
    PRINTLN ""
    PRINTLN "      @X4F ┌───────────────────────────────────────────────────────────────@X40┐ @X0F"
    PRINTLN "      @X4F │ @X40Registering with a credit card you will receive an @X4FIMMEDIATE  @X40│ @X0F"
    PRINTLN "      @X4F │ @X40access upgrade for use during this session.                   @X40│ @X0F"
    PRINTLN "      @X4F └@X40───────────────────────────────────────────────────────────────┘ @X0F"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "           @X13 ┌─────────────────────────────────────────────────────@X10┐ @X0F"
    PRINTLN "           @X13 │ @X1EType @X1D1@X1E to Register using your credit card.          @X10│ @X0F"
    PRINTLN "           @X13 │ @X1EType @X1D2 @X1Eto Download REGISTER.ZIP and send by mail.   @X10│ @X0F"
    PRINTLN "           @X13 └@X10-────────────────────────────────────────────────────┘ @X0F"
    PRINTLN ""
    LET VAR010=""
    INPUTSTR "@X0BWhich type registration would you prefer (@X0D1@X0B-@X0D2@X0B)@X07",VAR010,10,1,"12",270
    IF (!(VAR010="1")) GOTO LABEL003
    LOG "*** Entered OCCPS with Credit Card Option ***",0
    GOSUB LABEL006
    GOTO LABEL006

:LABEL003
    IF (!(VAR010="2")) GOTO LABEL004
    LOG "*** Downloaded registration form via OCCPS ***",0
    KBDSTUFF "D;REGISTER.ZIP"+CHR(13)
    END 

:LABEL004
;    IF (!(VAR006=VAR005)) GOTO LABEL005
    END 

:LABEL005
    CLS 
    PRINTLN ""
    PRINTLN "                              @X7F ┌───────────────────@X70┐ @X0F"
    PRINTLN "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @X0F"
    PRINTLN "                              @X7F └@X70───────────────────┘ @X0F"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "                @X7F ┌────────────────────────────────────────────────@X70┐ @X0F"
    PRINTLN "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @X0F"
    PRINTLN "                @X7F └@X70────────────────────────────────────────────────┘ @X0F"
    DELAY 91
    LOG "*** Exited OCCPS without Registering ***",0
    END 

:LABEL006
    CLS 
    DISPFILE PPEPATH()+"CATLOG",2+1+4
    FAPPEND 1,PPEPATH()+"CHARGE.LOG",O_RW,S_DB
    LET VAR027=""
    INPUTINT "@X0B(@X0D#@X0B-@X0D##@X0B) of Selection, (@X0DEnter@X0B) TO Quit @X07",VAR027,10
    PRINTLN ""
    IF (!(!(VAR027=""))) GOTO LABEL008
    LET VAR028=LEFT(READLINE(VAR002,(VAR027+3)),3)
    LET VAR029=RIGHT(READLINE(VAR002,(VAR027+3)),3)
    IF (!(VAR028=0)) GOTO LABEL007
    GOSUB LABEL006

:LABEL007
    LOG "*** Placed order for Selection No "+STRING(VAR027)+" via OCCPS ***",0
    FPUTLN 1,"********************************************************************"
    FPUTLN 1,"ORDERED:  Selection No "+STRING(VAR027)
    FPUTLN 1,"Level "+STRING(VAR028)+" Subscription"
    FPUTLN 1," "
    GOTO LABEL009

:LABEL008
    CLS 
    FCLOSE 1
    GOSUB LABEL000

:LABEL009
    INPUTCC "Enter credit card number",VAR011,15
    IF (!(VAR011="")) GOTO LABEL011
;    IF (!(VAR006=VAR005)) GOTO LABEL010
    CLS 
    FCLOSE 1
    END 

:LABEL010
    CLS 
    PRINTLN ""
    PRINTLN "                              @X7F ┌───────────────────@X70┐ @X0F"
    PRINTLN "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @X0F"
    PRINTLN "                              @X7F └@X70───────────────────┘ @X0F"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "                @X7F ┌────────────────────────────────────────────────@X70┐ @X0F"
    PRINTLN "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @X0F"
    PRINTLN "                @X7F └@X70────────────────────────────────────────────────┘ @X0F"
    DELAY 91
    LOG "*** Exited OCCPS without Registering ***",0
    CLS 
    FCLOSE 1
    END 

:LABEL011
    LET VAR030=PPEPATH()+"BADCARD.DAT"
    FOPEN 3,VAR030,O_RD,S_DW

:LABEL012
    IF (!(!FERR(3))) GOTO LABEL014
    FGET 3,VAR031
    IF (!(VAR011=VAR031)) GOTO LABEL013
    LOG "Attempted to use a credit card from the BADCARD.DAT file",0
    PRINTLN ""
    PRINTLN ""
    PRINTLN "        @X8FYou have attempted to use a credit card previously identified"
    PRINTLN "                            @X8Fas @X8CUNCOLLECTABLE"
    PRINTLN ""
    DELAY 91
    FCLOSE 3
    LET VAR011=""
    GOTO LABEL006

:LABEL013
    GOTO LABEL012

:LABEL014
    IF (!(VALCC(VAR011)&(CCTYPE(VAR011)<>"UNKNOWN"))) GOTO LABEL018
    LET VAR032=PPEPATH()+"CCARDS.CFG"
    FOPEN 2,VAR032,O_RD,S_DW

:LABEL015
    IF (!(!FERR(2))) GOTO LABEL017
    FGET 2,VAR033
    IF (!(RTRIM(LEFT(CCTYPE(VAR011),20)," ")=VAR033)) GOTO LABEL016
    FCLOSE 2
    GOSUB LABEL019

:LABEL016
    GOTO LABEL015

:LABEL017
    FCLOSE 2
    PRINTLN ""
    PRINTLN ""
    PRINTLN "@X0ECurrently we are not able to accept @X0B",LEFT(CCTYPE(VAR011),20)
    PRINTLN "@X0EPlease use a different card or register by mail"
    PRINTLN ""
    LOG "Attempted to use a "+LEFT(CCTYPE(VAR011),20)+" Credit Card",0
    WAIT 
    LET VAR011=""
    GOTO LABEL006

:LABEL018
    PRINTLN ""
    PRINTLN ""
    PRINTLN "@X0EThis is an @X0CINVALID @X0ECredit Card number!"
    PRINTLN ""
    DELAY 91
    LOG "Attempted to use an INVALID Credit Card number",0
    LET VAR011=""
    GOTO LABEL006

:LABEL019
    PRINTLN ""
    PRINTLN "@X0EThis card was issued by:  @X0B",LEFT(CCTYPE(VAR011),20)
    PRINTLN "@X0E  The account number is:  @X0B",FMTCC(VAR011)
    FPUTLN 1,"                User: "+U_NAME()
    FPUTLN 1,"                Date: "+STRING(DATE())+" ("+STRING(TIME())+")"
    FPUTLN 1,"           Card Type: "+LEFT(CCTYPE(VAR011),20)
    FPUTLN 1,"         Card Number: "+FMTCC(VAR011)

:LABEL020
    LET VAR013=""
    PRINTLN ""
    PRINTLN "@X0EEnter the Card Expiration Date (MM/YY as shown on card using leading zeros)"
    INPUTSTR "",VAR013,11,5,"0123456789"+"/",NEWLINE
    IF (!(VAR013="99/99")) GOTO LABEL021
    END 

:LABEL021
    LET VAR025=MID(VAR013,4,2)
    LET VAR024=MID(VAR013,1,2)
    LET VAR026=VAR025+"/"+VAR024
    LET VAR022=STRING(YEAR(DATE()))
    IF (!(MONTH(DATE())<10)) GOTO LABEL022
    LET VAR021="0"+STRING(MONTH(DATE()))
    GOTO LABEL023

:LABEL022
    LET VAR021=STRING(MONTH(DATE()))

:LABEL023
    LET VAR023=RIGHT(VAR022,2)+"/"+VAR021
    IF (!(VAR013="")) GOTO LABEL024
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL020
    GOTO LABEL025

:LABEL024
    IF (!(VAR026<VAR023)) GOTO LABEL025
    PRINTLN "@X8CYou have entered an Expired Card!  Are you using leading zeros?"
    LOG "Attempted to use an EXPIRED Credit Card dated: "+VAR013,0
    GOSUB LABEL020

:LABEL025
    FPUTLN 1,"     Expiration Date: "+VAR013
    FPUTLN 1," "

:LABEL026
    LET VAR012=""
    PRINTLN ""
    PRINTLN "@X0EEnter the Cardholder's Name (as shown on card)"
    INPUTSTR "",VAR012,11,25,MASK_ALNUM()+" ",NEWLINE
    IF (!(VAR012="")) GOTO LABEL027
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL026

:LABEL027
    FPUTLN 1,"   Cardholder's Name: "+VAR012

:LABEL028
    LET VAR014=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's Street Address (Line 1)"
    INPUTSTR "",VAR014,11,25,MASK_ALNUM()+" ",NEWLINE
    IF (!(VAR014="")) GOTO LABEL029
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL028

:LABEL029
    FPUTLN 1,"Cardholder's Address: "+VAR014
    LET VAR015=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's Suite or Apartment Number"
    INPUTSTR "",VAR015,11,25,MASK_ALNUM()+" ",NEWLINE
    IF (!(VAR015<>"")) GOTO LABEL030
    FPUTLN 1,"                    : "+VAR015

:LABEL030
    LET VAR016=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's City (without state)"
    INPUTSTR "",VAR016,11,25,MASK_ALNUM()+" ",NEWLINE
    IF (!(VAR016="")) GOTO LABEL031
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL030

:LABEL031
    LET VAR017=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's State"
    INPUTSTR "",VAR017,11,4,MASK_ALPHA(),NEWLINE
    IF (!(VAR017="")) GOTO LABEL032
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL031

:LABEL032
    LET VAR018=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's Zip Code"
    INPUTSTR "",VAR018,11,10,MASK_ALNUM()+"-",NEWLINE
    IF (!(VAR018="")) GOTO LABEL033
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL032

:LABEL033
    FPUTLN 1,"                    : "+VAR016+", "+VAR017+"  "+VAR018

:LABEL034
    LET VAR019=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's Home Phone Number"
    INPUTSTR "",VAR019,11,12,MASK_NUM()+"-",NEWLINE
    IF (!(VAR019="")) GOTO LABEL035
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL034

:LABEL035
    FPUTLN 1,"   Home Phone Number: "+VAR019

:LABEL036
    LET VAR020=""
    PRINTLN ""
    PRINTLN "@X0ECardholder's Work Phone Number"
    INPUTSTR "",VAR020,11,12,MASK_NUM()+"-",NEWLINE
    IF (!(VAR020="")) GOTO LABEL037
    PRINTLN "@X8CEntry Required for Processing"
    GOSUB LABEL036

:LABEL037
    FPUTLN 1,"   Work Phone Number: "+VAR020
    FPUTLN 1," "
    FPUTLN 1,"Credit Card Processing Completed Normally"
    FCLOSE 1
    PRINTLN ""
    GETUSER 
    IF (!(U_SEC<VAR028)) GOTO LABEL038
    PRINTLN "Raising your security access to level "+STRING(VAR028)+"..."
    LET U_SEC=VAR028
    LET U_EXPDATE=DATE()+VAR029
    PRINTLN ""
    PRINTLN "Automatic upgrade Complete!"
    GOTO LABEL040

:LABEL038
    IF (!(U_SEC=VAR028)) GOTO LABEL039
    PRINTLN "Extending your level "+STRING(VAR028)+" security access..."
    LET U_EXPDATE=U_EXPDATE+VAR029
    PRINTLN ""
    PRINTLN "Automatic upgrade Complete!"
    GOTO LABEL040

:LABEL039
    PRINTLN "Level requested is lower than existing level"
    PRINTLN "No change in level made"

:LABEL040
    PUTUSER 
    PRINTLN ""
    PRINTLN "Your subscription will expire on ",U_EXPDATE
    PRINTLN ""
    PRINTLN "@X0FThank you @X0D@USER@ @X0Ffor your order"
    LOG "Completed Credit Card Processing!",0
    MESSAGE 0,"SYSOP","OCCPS","Credit Card Registration","R",0,0,0,PPEPATH()+"NOTIFY.TXT"
    LET VAR034=PPEPATH()+"INFORM"
    IF (!EXIST(VAR034)) GOTO LABEL041
    DISPFILE PPEPATH()+"INFORM",2+1+4
    DELAY 91

:LABEL041
;    IF (!(VAR006=VAR005)) GOTO LABEL042
    END 

:LABEL042
    CLS 
    PRINTLN ""
    PRINTLN "                              @X7F ┌───────────────────@X70┐ @X0F"
    PRINTLN "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @X0F"
    PRINTLN "                              @X7F └@X70───────────────────┘ @X0F"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "                @X7F ┌────────────────────────────────────────────────@X70┐ @X0F"
    PRINTLN "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @X0F"
    PRINTLN "                @X7F └@X70────────────────────────────────────────────────┘ @X0F"
    DELAY 91
    END 

;------------------------------------------------------------------------------
;Statements used:
;
;     9 END
;     8 CLS
;     1 WAIT
;    42 GOTO
;    38 LET
;   107 PRINTLN
;    30 IF
;     3 DISPFILE
;     2 FOPEN
;     1 FAPPEND
;     7 FCLOSE
;     2 FGET
;    18 FPUTLN
;     1 GETUSER
;     1 PUTUSER
;    10 LOG
;    10 INPUTSTR
;     1 INPUTINT
;     1 INPUTCC
;    13 GOSUB
;     7 DELAY
;     1 KBDSTUFF
;     1 MESSAGE
;
;Functions used:
;
;    92 +
;    21 =
;     2 <>
;     3 <
;    33 !
;     1 &
;    30 MID
;     6 LEFT
;     2 RIGHT
;     2 FERR
;     1 CHR
;    28 ASC
;     1 RTRIM
;     6 DATE
;     1 TIME
;     1 U_NAME
;     1 YEAR
;     3 MONTH
;    14 STRING
;     1 MASK_ALPHA
;     2 MASK_NUM
;     5 MASK_ALNUM
;    10 PPEPATH
;     5 READLINE
;     1 CURSEC
;     2 EXIST
;     1 VALCC
;     2 FMTCC
;     6 CCTYPE
;
;------------------------------------------------------------------------------
;Thank you for using PPLD (the attorney association) - ECR, I Am My Own Pirate!
;------------------------------------------------------------------------------
[ RETURN TO DIRECTORY ]