Metropoli BBS
VIEWER: email.ppd MODE: TEXT (CP437)
;------------------------------------------------------------------------------
;PCBoard Programming Language Decompiler 3.00  (C)1994-95 Chicken / Tools4Fools
;------------------------------------------------------------------------------
;
;PCBoard Programming Language Executable 3.10 detected.
;
;Source Code:
;------------------------------------------------------------------------------

    STRING     VAR001(1,10) 
    STRING     VAR002
    STRING     VAR003
    STRING     VAR004
    STRING     VAR005
    STRING     VAR006
    STRING     VAR007
    STRING     VAR008
    STRING     VAR009
    STRING     VAR010
    STRING     VAR011
    STRING     VAR012
    STRING     VAR013
    STRING     VAR014(1,17) 
    STRING     VAR015
    STRING     VAR016
    STRING     VAR017
    STRING     VAR018(1,10) 
    STRING     VAR019
    STRING     VAR020
    STRING     VAR021
    STRING     VAR022
    BOOLEAN    VAR023
    INTEGER    VAR024
    INTEGER    VAR025
    INTEGER    VAR026
    INTEGER    VAR027
    INTEGER    VAR028
    INTEGER    VAR029
    INTEGER    VAR030
    INTEGER    VAR031

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

    LET VAR002=""
    LET VAR003=""
    LET VAR004=""
    LET VAR006=""
    LET VAR007="                                                            "
    LET VAR008=""
    LET VAR009=""
    LET VAR015=""
    LET VAR016=""
    LET VAR011="@POS:3@@X7F│@X70@POS:68@│@X08█@X07"
    LET VAR019="@POS:3@@X7F│@POS:12@Press @X7AENTER @X7Fto Edit, @X74ESC @X7Fto Save Changes or Abort@X70@POS:68@│@X08█@X07"
    LET VAR020="@POS:3@@X7F│@POS:17@Press @X71S @X7Fto @X71SAVE @X7For @X7EA @X7Fto @X7EABORT @X7FChanges@X70@POS:68@│@X08█@X07"
    LET VAR021="@POS:3@@X7F│@POS:14@@X7EYour changes have been successfully saved!@X70@POS:68@│@X08█@X07"
    LET VAR022="@POS:3@@X7F│@X7E@POS:5@-@X74ABORTED@X7E-@POS:17@@X70Your changes have been NOT been saved!@X7E@POS:58@-@X74ABORTED@X7E-@X70@POS:68@│@X08█@X07"
    LET VAR010="INTERNET E-MAIL PERSONAL PHONEBOOK"
    LET VAR012="Registered to :"
    LET VAR017="@X7F  [@XF4UNREGISTERED@X7F] @X71Register this for only $5.00 @X7F[@XF4UNREGISTERED@X7F]  @X7F@X07"
    LET VAR018(1,1)="empty"
    LET VAR018(1,2)="empty ┐"
    LET VAR018(1,3)="empty ┤      ALL of these remaining 9 entries"
    LET VAR018(1,4)="empty ┤       will be available to the users"
    LET VAR018(1,5)="empty ┤      of this BBS if the SYSOP decides"
    LET VAR018(1,6)="empty ┤         to register this software!"
    LET VAR018(1,7)="empty ┤        ────────────────────────────"
    LET VAR018(1,8)="empty ┤"
    LET VAR018(1,9)="empty ┤        The Registration Fee is only"
    LET VAR018(1,10)="empty ┘                $5.00 CDN"
    LET VAR023=0
    LET VAR024=1
    LET VAR025=0
    LET VAR013=0
    LET VAR026=1
    LET VAR027=0
    LET VAR028=0
    LET VAR030=0
    LET VAR031=0
    GOSUB LABEL043
    GOSUB LABEL057
    GOSUB LABEL049
    GOSUB LABEL000
    GOSUB LABEL005
    GOSUB LABEL016
    GOSUB LABEL024
    GOTO LABEL071

:LABEL000
    IF (!PSA(3)) GOTO LABEL003
    LET VAR024=1
    GETUSER 
    LET VAR003=MID(U_NAME(),1,4)

:LABEL001
    IF (!(VAR005<>" ")) GOTO LABEL002
    LET VAR005=MID(U_NAME(),VAR024,1)
    LET VAR024=VAR024+1
    GOTO LABEL001

:LABEL002
    LET VAR004=MID(U_NAME(),VAR024,4)
    LET VAR002=VAR003+VAR004
    GOTO LABEL004

:LABEL003
    PRINTLN ""
    PRINTLN "@X0FYou must have the @X0CAddress PSA Installed@X0F.@X07"
    PRINTLN "@X0ERun PCBSM.EXE@X0F, and set up this PSA before re-running this PPE@X07"
    PRINTLN ""
    PRINTLN "@X0FThanks for using the @X03Internet E-Mail Phonebook PPE@X0F!@X07"
    PRINTLN ""
    GOTO LABEL071

:LABEL004
    RETURN 


:LABEL005
    IF (!EXIST(PPEPATH()+VAR002+".IEM")) GOTO LABEL006
    GOSUB LABEL010
    GOTO LABEL009

:LABEL006
    LET VAR024=1
    FCREATE 1,PPEPATH()+VAR002+".IEM",O_WR,S_DW

:LABEL007
    IF (!(VAR024<11)) GOTO LABEL008
    FPUTLN 1,"empty"
    LET VAR024=VAR024+1
    GOTO LABEL007

:LABEL008
    FCLOSE 1
    GOSUB LABEL010

:LABEL009
    RETURN 


:LABEL010
    IF (!VAR023) GOTO LABEL013
    LET VAR024=1
    FOPEN 1,PPEPATH()+VAR002+".IEM",O_RW,S_DW

:LABEL011
    IF (!(VAR024<11)) GOTO LABEL012
    FGET 1,VAR006
    LET VAR001(1,VAR024)=VAR006
    LET VAR024=VAR024+1
    GOTO LABEL011

:LABEL012
    FCLOSE 1
    GOTO LABEL015

:LABEL013
    LET VAR024=1
    FOPEN 1,PPEPATH()+VAR002+".IEM",O_RW,S_DW
    FGET 1,VAR006
    LET VAR001(1,VAR024)=VAR006
    FCLOSE 1
    LET VAR024=VAR024+1

:LABEL014
    IF (!(VAR024<11)) GOTO LABEL015
    LET VAR001(1,VAR024)=VAR018(1,VAR024)
    LET VAR024=VAR024+1
    GOTO LABEL014

:LABEL015
    RETURN 


:LABEL016
    LET VAR024=1
    GOSUB LABEL019

:LABEL017
    IF (!(VAR024<11)) GOTO LABEL018
    ANSIPOS 6,6+VAR024
    PRINTLN "@X71"+VAR001(1,VAR024)+"@X07"
    LET VAR024=VAR024+1
    GOTO LABEL017

:LABEL018
    RETURN 


:LABEL019
    PRINTLN "@CLS@@POFF@"
    DISPFILE PPEPATH()+"EMAIL.GRD",2+1+4
    ANSIPOS 1,2
    PRINTLN "  @X7F┌────────────────────────────────────────────────────────────────@X70┐@X07 "
    PRINTLN "  @X7F│@X7E               "+VAR010+" @X70@POS:68@│@X08█@X07"
    PRINTLN VAR011
    IF (!VAR023) GOTO LABEL020
    PRINTLN "  @X7F│  "+VAR012+" @X71"+VAR016+", "+VAR015+" @POS:68@@X70│@X08█@X07"
    GOTO LABEL021

:LABEL020
    PRINTLN "  @X7F│ @X7E"+VAR017+"@X70@POS:68@│@X08█@X07"

:LABEL021
    PRINTLN "  @X7F│ ────────────────────────────────────────────────────────────── @X70│@X08█@X07"
    LET VAR013=1

:LABEL022
    IF (!(((1<0)&(VAR013>=10))|((1>=0)&(VAR013<=10)))) GOTO LABEL023
    LET VAR014(1,(VAR013+4))=VAR011
    PRINTLN VAR011
    LET VAR013=VAR013+1
    GOTO LABEL022

:LABEL023
    PRINTLN "  @X7F│ ────────────────────────────────────────────────────────────── @X70│@X08█@X07"
    PRINTLN VAR019
    PRINTLN "  @X7F└@X70────────────────────────────────────────────────────────────────┘@X08█@X07"
    PRINTLN "    @X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07@PON@"
    RETURN 


:LABEL024
    LET VAR024=1

:LABEL025
    LET VAR025=LEN(VAR001(1,VAR024))
    LET VAR031=LEN(VAR018(1,VAR024))
    IF (!VAR023) GOTO LABEL026
    ANSIPOS 6,6+VAR024
    PRINT "@X1F"+VAR001(1,VAR024)+LEFT(VAR007,(60-VAR025))+"@X07"
    GOTO LABEL028

:LABEL026
    IF (!(VAR024=1)) GOTO LABEL027
    ANSIPOS 6,6+VAR024
    PRINT "@X1F"+VAR001(1,VAR024)+LEFT(VAR007,(60-VAR025))+"@X07"
    GOTO LABEL028

:LABEL027
    ANSIPOS 6,6+VAR024
    PRINT "@X1F"+VAR018(1,VAR024)+LEFT(VAR007,(60-VAR031))+"@X07"

:LABEL028
    GOSUB LABEL029
    GOTO LABEL025

:LABEL029
    IF (!(VAR008<>CHR(27))) GOTO LABEL035
    LET VAR008=INKEY()
    IF (!(VAR008=CHR(13))) GOTO LABEL030
    GOSUB LABEL040
    RETURN 


:LABEL030
    IF (!(((VAR008="DOWN")|(VAR008="z"))|(VAR008="Z"))) GOTO LABEL032
    IF (!(VAR024=10)) GOTO LABEL031
    GOSUB LABEL036
    LET VAR024=1
    RETURN 


:LABEL031
    GOSUB LABEL036
    LET VAR024=VAR024+1
    RETURN 


:LABEL032
    IF (!(((VAR008="UP")|(VAR008="a"))|(VAR008="A"))) GOTO LABEL034
    IF (!(VAR024=1)) GOTO LABEL033
    GOSUB LABEL036
    LET VAR024=10
    RETURN 


:LABEL033
    GOSUB LABEL036
    LET VAR024=VAR024-1
    RETURN 


:LABEL034
    GOTO LABEL029

:LABEL035
    GOTO LABEL059

:LABEL036
    IF (!VAR023) GOTO LABEL037
    ANSIPOS 6,6+VAR024
    PRINT "@X71"+VAR001(1,VAR024)+LEFT(VAR007,(60-VAR025))+"@X07"
    GOTO LABEL039

:LABEL037
    IF (!(VAR024=1)) GOTO LABEL038
    ANSIPOS 6,6+VAR024
    PRINT "@X71"+VAR001(1,VAR024)+LEFT(VAR007,(60-VAR025))+"@X07"
    GOTO LABEL039

:LABEL038
    ANSIPOS 6,6+VAR024
    PRINT "@X71"+VAR018(1,VAR024)+LEFT(VAR007,(60-VAR031))+"@X07"

:LABEL039
    RETURN 


:LABEL040
    ANSIPOS 6,6+VAR024
    PRINT "@X07"+VAR007+"@X07"
    ANSIPOS 4,6+VAR024
    INPUTSTR "@X77",VAR009,7,60,"ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}\|/?,.><`~;:'",NEWLINE
    IF (!(VAR009="")) GOTO LABEL041
    GOTO LABEL042

:LABEL041
    LET VAR001(1,VAR024)=VAR009
    LET VAR009=""

:LABEL042
    RETURN 


:LABEL043
    IF (!(VAR013<51)) GOTO LABEL046
    LET VAR030=VAR030+(ASC(MID(VAR010,VAR013,1))*3)
    LET VAR030=VAR030+(ASC(MID(VAR017,VAR013,1))*3)
    LET VAR013=VAR013+1
    LET VAR029=2

:LABEL044
    IF (!(((1<0)&(VAR029>=10))|((1>=0)&(VAR029<=10)))) GOTO LABEL045
    LET VAR030=VAR030+((ASC(MID(VAR018(1,VAR029),VAR013,1))*4)*9)
    LET VAR029=VAR029+1
    GOTO LABEL044

:LABEL045
    GOTO LABEL043

:LABEL046
    IF (!(VAR030=(150*8132+1152))) GOTO LABEL047
    GOTO LABEL048

:LABEL047
    GOTO LABEL058

:LABEL048
    RETURN 


:LABEL049
    LET VAR026=1

:LABEL050
    IF (!(VAR026<41)) GOTO LABEL054
    IF (!((((VAR026=2)|(VAR026=8))|(VAR026=12))|(VAR026=18))) GOTO LABEL051
    LET VAR027=VAR027+(ASC(MID(VAR016,VAR026,1))*7)
    LET VAR027=VAR027+(ASC(MID(VAR015,VAR026,1))*4)
    LET VAR027=((ASC(MID(VAR015,VAR026,1))*14)*(ASC(MID(VAR015,VAR026,1))*26)-5837)*6+VAR027
    LET VAR026=VAR026+1
    GOTO LABEL053

:LABEL051
    IF (!((((VAR026=3)|(VAR026=7))|(VAR026=14))|(VAR026=16))) GOTO LABEL052
    LET VAR027=VAR027+(ASC(MID(VAR016,VAR026,1))*10)
    LET VAR027=VAR027+(ASC(MID(VAR015,VAR026,1))*2)
    LET VAR027=((ASC(MID(VAR015,VAR026,1))*17)*(ASC(MID(VAR015,VAR026,1))*92)-1)*1436+VAR027
    LET VAR026=VAR026+1
    GOTO LABEL053

:LABEL052
    LET VAR027=VAR027+(ASC(MID(VAR016,VAR026,1))*9)
    LET VAR027=VAR027+(ASC(MID(VAR015,VAR026,1))*22)
    LET VAR027=((ASC(MID(VAR015,VAR026,1))*137)*(ASC(MID(VAR015,VAR026,1))*47)-29571)*91+VAR027
    LET VAR026=VAR026+1

:LABEL053
    GOTO LABEL050

:LABEL054
    LET VAR027=(VAR027+1.90585e+10)*4+(ASC(MID(VAR016,5,1))*4986)+17580
    IF ((VAR027=VAR028)) GOTO LABEL055
    LET VAR023=1
    GOTO LABEL056

:LABEL055
    LET VAR023=0

:LABEL056
    LET VAR026=0
    LET VAR027=0
    RETURN 


:LABEL057
    FOPEN 1,PPEPATH()+"EMAIL.CFG",O_RD,S_DW
    FGET 1,VAR016
    FGET 1,VAR015
    FGET 1,VAR028
    FCLOSE 1
    RETURN 


:LABEL058
    PRINTLN "@CLS@"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "@X04                      ********* @X0CW A R N I N G @X04*********@X07"
    PRINTLN ""
    PRINTLN "@X0EThis program has been @X0FHACKED @X0Eor @X0FMODIFIED @X0Efrom it's original form@X07"
    PRINTLN "@X0Eand for your safety @X0FWILL NO LONGER @X0EFunction!@X07"
    PRINTLN ""
    PRINTLN "@X0BPlease @X0ADELETE @X0Bthis version @X0AIMMEDIATELY@X0B!@X07"
    PRINTLN ""
    PRINTLN ""
    PRINTLN "@X09You can download an original copy of this PPE at any@X07"
    PRINTLN "@X09of the authorized distribution sites listed in the documentation@X07"
    PRINTLN "@X09file.@X07"
    PRINTLN "                                      @X0FThomas Christoph@X07"
    PRINTLN "                                      @X0FINTERNET E-MAIL PHONEBOOK@X07"
    PRINTLN "                                      @X0FA WILD PPE Production@X07"
    GOTO LABEL071

:LABEL059
    ANSIPOS 1,18
    PRINTLN "@POFF@"+VAR020+"@PON@"
    LET VAR008=""

:LABEL060
    IF (!(VAR008<>CHR(27))) GOTO LABEL063
    LET VAR008=INKEY()
    IF (!((VAR008="a")|(VAR008="A"))) GOTO LABEL061
    ANSIPOS 1,18
    PRINTLN VAR022
    DELAY 5
    ANSIPOS 1,21
    GOTO LABEL071

:LABEL061
    IF (!((VAR008="s")|(VAR008="S"))) GOTO LABEL062
    ANSIPOS 1,18
    PRINTLN VAR021
    GOSUB LABEL064
    ANSIPOS 1,21
    GOTO LABEL071

:LABEL062
    GOTO LABEL060

:LABEL063
    GOTO LABEL059

:LABEL064
    LET VAR024=1
    FCREATE 1,PPEPATH()+VAR002+".IEM",O_WR,S_DN

:LABEL065
    IF (!(VAR024<11)) GOTO LABEL070
    IF (!VAR023) GOTO LABEL066
    FPUTLN 1,VAR001(1,VAR024)
    LET VAR024=VAR024+1
    GOTO LABEL069

:LABEL066
    IF (!(VAR024=1)) GOTO LABEL067
    FPUTLN 1,VAR001(1,VAR024)
    GOTO LABEL068

:LABEL067
    FPUTLN 1,VAR018(1,1)

:LABEL068
    LET VAR024=VAR024+1

:LABEL069
    GOTO LABEL065

:LABEL070
    FCLOSE 1
    RETURN 


:LABEL071

;------------------------------------------------------------------------------
;Statements used:
;
;    70 GOTO
;    96 LET
;     7 PRINT
;    39 PRINTLN
;    34 IF
;     1 DISPFILE
;     2 FCREATE
;     3 FOPEN
;     5 FCLOSE
;     5 FGET
;     4 FPUTLN
;     1 GETUSER
;     1 INPUTSTR
;    17 GOSUB
;    16 RETURN
;     1 DELAY
;    15 ANSIPOS
;
;Functions used:
;
;    25 *
;    90 +
;    10 -
;    27 =
;     3 <>
;     9 <
;     2 <=
;     4 >=
;    34 !
;     4 &
;    14 |
;     2 LEN
;    19 MID
;     6 LEFT
;     3 CHR
;    16 ASC
;     3 U_NAME
;     2 INKEY
;     7 PPEPATH
;     1 EXIST
;     1 PSA
;
;------------------------------------------------------------------------------
;Thank you for using PPLD              T4F - We Create Your Needs Of Tommorow !
;------------------------------------------------------------------------------
[ RETURN TO DIRECTORY ]