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

    BOOLEAN    VAR001
    BOOLEAN    VAR002
    BOOLEAN    VAR003
    STRING     VAR004
    STRING     VAR005
    STRING     VAR006
    STRING     VAR007
    STRING     VAR008
    STRING     VAR009
    STRING     VAR010(1) 
    STRING     VAR011
    STRING     VAR012
    STRING     VAR013
    STRING     VAR014
    STRING     VAR015
    STRING     VAR016
    STRING     VAR017(1) 
    STRING     VAR018
    STRING     VAR019
    STRING     VAR020
    STRING     VAR021
    STRING     VAR022
    STRING     VAR023
    STRING     VAR024
    STRING     VAR025
    STRING     VAR026
    STRING     VAR027(3) 
    STRING     VAR028
    STRING     VAR029
    STRING     VAR030
    STRING     VAR031
    STRING     VAR032
    STRING     VAR033
    STRING     VAR034
    STRING     VAR035
    STRING     VAR036
    STRING     VAR037
    STRING     VAR038
    STRING     VAR039(21) 
    STRING     VAR040
    STRING     VAR041(1) 
    STRING     VAR042
    STRING     VAR043
    STRING     VAR044
    STRING     VAR045
    STRING     VAR046
    STRING     VAR047
    STRING     VAR048
    STRING     VAR049
    STRING     VAR050
    STRING     VAR051
    STRING     VAR052
    STRING     VAR053
    STRING     VAR054
    STRING     VAR055
    STRING     VAR056
    STRING     VAR057
    STRING     VAR058
    STRING     VAR059
    STRING     VAR060
    STRING     VAR061
    STRING     VAR062
    STRING     VAR063
    STRING     VAR064
    INTEGER    VAR065
    INTEGER    VAR066
    INTEGER    VAR067
    INTEGER    VAR068
    INTEGER    VAR069
    INTEGER    VAR070
    INTEGER    VAR071
    INTEGER    VAR072(1) 
    INTEGER    VAR073
    INTEGER    VAR074
    INTEGER    VAR075
    INTEGER    VAR076
    INTEGER    VAR077
    INTEGER    VAR078
    INTEGER    VAR079
    INTEGER    VAR080
    INTEGER    VAR081
    INTEGER    VAR082(99) 
    DECLARE PROCEDURE PROC001()

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

    GETUSER 
    FOPEN 6,PPEPATH()+PPENAME()+".Sec",O_RD,S_DN

:LABEL000
    IF (!(!FERR(6))) GOTO LABEL002
    FGET 6,VAR024
    IF (!(VAR024=CURSEC())) GOTO LABEL001
    NEWLINES 2
    PRINTLN "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
    PRINTLN "@X10│ @X1E░▒▓█ @X1BWe are sorry, but the suggestion door is only for subscriber use.@X1E █▓▒░ @X19│@X0F"
    PRINTLN "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
    NEWLINES 1
    DELAY (5*182)/10
    GOTO LABEL096

:LABEL001
    GOTO LABEL000

:LABEL002
    FCLOSE 6
    GETTOKEN VAR058
    GETUSER 
    IF (!(!EXIST(PPEPATH()+"door.lck"))) GOTO LABEL003
    FOPEN 1,PPEPATH()+"door.lck",O_RW,S_DN
    FPUTLN 1,"Door In Use By "+MIXED(U_NAME())+" - Security Lock Enabled!"
    FCLOSE 1
    GOTO LABEL004

:LABEL003
    LET VAR076=PCBNODE()
    FAPPEND 1,PPEPATH()+"Waiting.Lst",O_RW,S_DN
    FPUTLN 1,VAR076
    FCLOSE 1
    NEWLINES 1
    PRINTLN "@X04█@X4E· @X0A Sorry but another user is in the Suggestion Box, try again in a minute @X04█@X4E·@X04█@X0F"
    END 


:LABEL004
    IF (!EXIST(PPEPATH()+"UNIVERSL.KEY")) GOTO LABEL005
    PROC001()
    GOTO LABEL008

:LABEL005
    IF (!(!EXIST(PPEPATH()+PPENAME()+".Key"))) GOTO LABEL006
    LET VAR003=0
    GOTO LABEL008

:LABEL006
    FOPEN 2,PPEPATH()+PPENAME()+".key",O_RD,S_DN
    FGET 2,VAR053
    FGET 2,VAR054
    FGET 2,VAR055
    FCLOSE 2
    LET VAR056=MID(VAR053,2,1)
    LET VAR057=MID(VAR054,5,1)
    LET VAR056=ABS(ASC(VAR056)+77-100)
    LET VAR057=ABS(ASC(VAR057)+77-100)
    IF (!((MID(VAR055,1,2)=VAR056)&(MID(VAR055,79,2)=VAR057))) GOTO LABEL007
    LET VAR003=1
    GOTO LABEL008

:LABEL007
    LET VAR003=0

:LABEL008
    IF (!(VAR003=1)) GOTO LABEL009
    CLS 
    PRINTLN "@X1C░▒▓█ @X1EGO/4 Software's Suggestion Box @X1C█▓▒░                     @X1F(c)95 GO/4 Software@X0F"
    DELAY (1*182)/10
    GOTO LABEL011

:LABEL009
    CLS 
    LET VAR067=1

:LABEL010
    IF ((((1<0)&(VAR067>=10))|((1>=0)&(VAR067<=10)))) GOTO LABEL011
    LET VAR067=VAR067+1
    GOTO LABEL010

:LABEL011
    LET VAR002=1
    IF (UPPER(VAR058)="QUIK") LET VAR002=0
    LET VAR013="■"
    LET VAR071=15
    RDUNET PCBNODE()
    WRUNET PCBNODE(),UN_STAT(),UN_NAME(),"Running "+PPENAME(),"",""
    IF (!(!EXIST(PPEPATH()+PPENAME()+".Nam"))) GOTO LABEL012
    FCREATE 7,PPEPATH()+PPENAME()+".nam",O_RW,S_DN
    FCLOSE 7

:LABEL012
    LET VAR004=READLINE((PPEPATH()+"header"),1)
    LET VAR005=READLINE((PPEPATH()+"header"),2)
    LET VAR006=READLINE((PPEPATH()+"header"),3)
    LOG "Suggestion Box! - Access",0
    IF (!(!EXIST(PPEPATH()+PPENAME()+".Cfg"))) GOTO LABEL013
    FCREATE 7,PPEPATH()+PPENAME()+".Cfg",O_RW,S_DN
    FPUTLN 7,"0"
    FPUTLN 7,"YES"
    FCLOSE 7
    CLS 
    PRINTLN "@X0E        You are the first user!  Please give us your suggestion below.@X0F"
    NEWLINES 1
    GOSUB LABEL029

:LABEL013
    LET VAR070=READLINE((PPEPATH()+PPENAME()+".cfg"),1)
    LET VAR059=READLINE((PPEPATH()+PPENAME()+".CFG"),2)
    REDIM VAR010,VAR070
    REDIM VAR017,VAR070
    REDIM VAR072,VAR070
    REDIM VAR041,VAR070
    LET VAR068=1
    LET VAR069=VAR070
    IF (!(UPPER(VAR059)="YES")) GOTO LABEL014
    LET VAR001=1
    GOTO LABEL015

:LABEL014
    LET VAR001=0

:LABEL015
    IF (VAR002) GOTO LABEL063
    LET VAR002=0

:LABEL016
    FCLOSEALL 
    FOPEN 1,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    GOSUB LABEL055
    IF (!VAR001) GOTO LABEL017
    PRINTLN "                                                                      @X0EYea  @X0CNey@X0F"
    GOTO LABEL018

:LABEL017
    NEWLINE 

:LABEL018
    LET VAR067=VAR068

:LABEL019
    IF (!(((1<0)&(VAR067>=VAR069))|((1>=0)&(VAR067<=VAR069)))) GOTO LABEL025
    FGET 1,VAR012
    LET VAR028=LEFT(VAR012,5)
    LET VAR028=LTRIM(VAR028,"0")
    IF (LEN(VAR028)=0) LET VAR028=0
    LET VAR029=MID(VAR012,7,5)
    LET VAR029=LTRIM(VAR029,"0")
    IF (LEN(VAR029)=0) LET VAR029=0
    LET VAR018=MID(VAR012,13,6)
    LET VAR045=MID(VAR012,20,1)
    LET VAR007=MID(VAR012,22,74)
    LET VAR007=UPPER(LEFT(VAR007,1))+MID(VAR007,2,73)
    IF (!(VAR045="Y")) GOTO LABEL020
    LET VAR047="@X8D@X0B"
    GOTO LABEL021

:LABEL020
    LET VAR047=" "

:LABEL021
    IF (!(VAR001=0)) GOTO LABEL022
    IF ((VAR067>0)&(VAR067<10)) PRINTLN " @X0E ",VAR067,"@X0A)@X0B",VAR047,VAR007
    IF ((VAR067>=10)&(VAR067<100)) PRINTLN "@X0E ",VAR067,"@X0A)@X0B",VAR047,VAR007
    IF ((VAR067>=100)&(VAR067<1000)) PRINTLN "@X0E",VAR067,"@X0A)@X0B",VAR047,VAR007
    GOTO LABEL023

:LABEL022
    IF ((VAR067>0)&(VAR067<10)) PRINTLN " @X0E ",VAR067,"@X0A)@X0B",VAR047,LEFT(VAR007,64),"@X09@POS:66@ ",VAR028,"@POS:76@",VAR029
    IF ((VAR067>=10)&(VAR067<100)) PRINTLN "@X0E ",VAR067,"@X0A)@X0B",VAR047,LEFT(VAR007,64),"@X09@POS:66@ ",VAR028,"@POS:76@",VAR029
    IF ((VAR067>=100)&(VAR067<1000)) PRINTLN "@X0E",VAR067,"@X0A)@X0B",VAR047,LEFT(VAR007,64),"@X09@POS:66@ ",VAR028,"@POS:76@",VAR029

:LABEL023
    IF (!(VAR067>=VAR071)) GOTO LABEL024
    GOSUB LABEL051
    GOSUB LABEL055

:LABEL024
    LET VAR067=VAR067+1
    GOTO LABEL019

:LABEL025
    FCLOSE 1
    PRINTLN "@X03───────────────────────────────────────────────────────────────────────────────@X0F"
    IF (CURSEC()>=SYSOPSEC()) PRINTLN " @X03Sysop only commands - @X0A(@X0ED@X0A)@X03elete a Suggestion / @X0A(@X0EE@X0A)@X03dit the notes file"
    INPUTSTR " @X0B@X0A(@X0EV@X0A)@X0Bote / @X0A(@X0EA@X0A)@X0Bdd your own / @X0A(@X0EH@X0A)@X0Belp / @X0A(@X0ET@X0A)@X0Boggle / @X0A(@X0EN@X0A)@X0Botes @X8D@X0F @X0B/ @X0A(@X0CQ@X0A)@X0Cuit to BBS _",VAR008,15,1,"VAHQTBNDE",0+8
    IF (!((VAR008="T")&(VAR001=0))) GOTO LABEL026
    LET VAR001=1
    LET VAR071=15
    GOTO LABEL016

:LABEL026
    IF (!((VAR008="T")&(VAR001=1))) GOTO LABEL027
    LET VAR001=0
    LET VAR071=15
    GOTO LABEL016

:LABEL027
    IF (VAR008="V") GOTO LABEL037
    IF (VAR008="A") GOTO LABEL029
    IF (VAR008="H") GOTO LABEL063
    IF ((VAR008="D")&(CURSEC()>=SYSOPSEC())) GOTO LABEL064
    IF (VAR008="B") GOTO LABEL072
    IF (VAR008="N") GOTO LABEL073
    IF ((VAR008="E")&(CURSEC()>=SYSOPSEC())) GOTO LABEL076
    IF (!(VAR008="Q")) GOTO LABEL028
    GOSUB LABEL056
    CLS 
    GOTO LABEL096

:LABEL028
    LET VAR071=15
    GOTO LABEL016

:LABEL029
    IF (((VAR069>=5)&(!VAR003))) GOTO LABEL030
    BACKUP 80
    CLREOL 
    PRINTLN "    @X0C Sorry but this is an @X8Cunregistered@X0C version, no more additions allowed!"
    PRINTLN "@X0C  Please have your sysop register the suggestion box to remove all limitations@X0F"
    DELAY (4*182)/10
    LET VAR071=15
    LET VAR002=0
    GOTO LABEL013

:LABEL030
    LET VAR011=""
    LET VAR019=""
    BACKUP 80
    CLREOL 
    PRINTLN "   @X0E┌──@X0BPlease enter a one line description of your suggestion @X0A(@X0C74 chars max@X0A)@X0E─┐"
    INPUTSTR "   _",VAR011,3,74,MASK_ASCII(),DEFS
    IF (!(LEN(VAR011)=0)) GOTO LABEL031
    LET VAR071=15
    GOTO LABEL016

:LABEL031
    IF (!(UPPER(VAR011)="Q")) GOTO LABEL032
    LET VAR071=15
    GOTO LABEL016

:LABEL032
    LET VAR019=RANDOM(999999)
    LET VAR019=VAR019+"000000"
    LET VAR019=LEFT(VAR019,6)
    LET VAR011=STRIP(VAR011,";")
    LET VAR011="00001"+VAR013+"00000"+VAR013+VAR019+VAR013+"N"+VAR013+VAR011
    LET VAR070=VAR070+1
    LET VAR069=VAR070
    FOPEN 2,PPEPATH()+PPENAME()+".Cfg",O_RW,S_DN
    FPUTLN 2,VAR069
    FCLOSE 2
    FOPEN 5,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR067=1

:LABEL033
    IF (!(((1<0)&(VAR067>=VAR069))|((1>=0)&(VAR067<=VAR069)))) GOTO LABEL034
    FGET 5,VAR041(VAR067)
    LET VAR067=VAR067+1
    GOTO LABEL033

:LABEL034
    FCLOSE 5
    FCLOSEALL 
    FCREATE 5,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN
    LET VAR067=1

:LABEL035
    IF (!(((1<0)&(VAR067>=(VAR069-1)))|((1>=0)&(VAR067<=(VAR069-1))))) GOTO LABEL036
    FPUTLN 5,VAR041(VAR067)
    LET VAR067=VAR067+1
    GOTO LABEL035

:LABEL036
    FPUTLN 5,VAR011
    FCLOSE 5
    FAPPEND 4,PPEPATH()+PPENAME()+".nam",O_RW,S_DN
    FPUTLN 4,VAR019+";"+STRIP(U_NAME()," ")
    FCLOSE 4
    LET VAR071=15
    LET VAR002=0
    FCLOSEALL 
    GOTO LABEL013

:LABEL037
    BACKUP 80
    CLREOL 
    INPUTSTR "@X0BPlease enter the suggestion number to vote on @X0A(@X0CQ@X0A)@X0Cuit _",VAR009,15,3,"0123456789",DEFS
    IF (!(VAR009="")) GOTO LABEL038
    LET VAR071=15
    GOTO LABEL016

:LABEL038
    IF (UPPER(VAR009)="Q") GOTO LABEL016
    IF ((VAR009=0)|(VAR009>VAR070)) GOTO LABEL016
    LET VAR025=READLINE((PPEPATH()+PPENAME()+".DAT"),VAR009)
    LET VAR025=MID(VAR025,13,6)
    FOPEN 2,PPEPATH()+PPENAME()+".Nam",O_RD,S_DN

:LABEL039
    IF (!(!FERR(2))) GOTO LABEL041
    FGET 2,VAR016
    TOKENIZE VAR016
    GETTOKEN VAR015
    GETTOKEN VAR014
    IF (!((VAR014=STRIP(U_NAME()," "))&(VAR015=VAR025))) GOTO LABEL040
    BACKUP 80
    CLREOL 
    PRINTLN "           @X04████  @X0ASorry but you already voted on that suggestion! @X04████@X0F"
    FCLOSE 2
    DELAY (4*182)/10
    LET VAR071=15
    GOTO LABEL016

:LABEL040
    GOTO LABEL039

:LABEL041
    FCLOSE 2
    BACKUP 80
    CLREOL 
    PRINT "@X0BWould you like to vote @X0A(@X0EF@X0A)@X0Bor or @X0A(@X0EA@X0A)@X0Bgainst #@X0C ",VAR009,"@X0F "
    INPUTSTR "_",VAR030,14,1,"FA",0+8
    IF (VAR030="A") GOTO LABEL046
    BACKUP 80
    CLREOL 
    PRINTLN "      @X04████ @X0BYour vote has been noted for # @X0E",VAR009,"@X0B thank you for voting! @X04████@X0F"
    FAPPEND 3,PPEPATH()+PPENAME()+".nam",O_RW,S_DN
    FPUTLN 3,VAR025+";"+STRIP(U_NAME()," ")
    FCLOSE 3
    FOPEN 4,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR066=VAR068

:LABEL042
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL043
    FGET 4,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL042

:LABEL043
    FCLOSE 4
    LET VAR052=LEFT(VAR010(VAR009),5)
    LET VAR051=MID(VAR010(VAR009),7,5)
    LET VAR020=MID(VAR010(VAR009),13,6)
    LET VAR046=MID(VAR010(VAR009),20,1)
    LET VAR021=MID(VAR010(VAR009),22,74)
    LET VAR052=VAR052+1
    LET VAR052="0000"+VAR052
    LET VAR052=RIGHT(VAR052,5)
    LET VAR010(VAR009)=VAR052+VAR013+VAR051+VAR013+VAR020+VAR013+VAR046+VAR013+VAR021
    FOPEN 5,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN
    LET VAR066=VAR068

:LABEL044
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL045
    FPUTLN 5,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL044

:LABEL045
    FCLOSE 5
    LET VAR071=15
    DELAY (2*182)/10
    LET VAR002=0
    FCLOSEALL 
    GOTO LABEL013

:LABEL046
    BACKUP 80
    CLREOL 
    PRINTLN "      @X04████ @X0BYour vote has been noted against # @X0E",VAR009,"@X0B thank you for voting! @X04████@X0F"
    FAPPEND 3,PPEPATH()+PPENAME()+".NAM",O_RW,S_DN
    FPUTLN 3,VAR025+";"+STRIP(U_NAME()," ")
    FCLOSE 3
    FOPEN 2,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR066=VAR068

:LABEL047
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL048
    FGET 2,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL047

:LABEL048
    FCLOSE 2
    LET VAR031=LEFT(VAR010(VAR009),5)
    LET VAR032=MID(VAR010(VAR009),7,5)
    LET VAR020=MID(VAR010(VAR009),13,6)
    LET VAR046=MID(VAR010(VAR009),20,1)
    LET VAR021=MID(VAR010(VAR009),22,74)
    LET VAR031=VAR031
    LET VAR032=VAR032+1
    LET VAR032="0000"+VAR032
    LET VAR032=RIGHT(VAR032,5)
    LET VAR010(VAR009)=VAR031+VAR013+VAR032+VAR013+VAR020+VAR013+VAR046+VAR013+VAR021
    FOPEN 2,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN
    LET VAR066=VAR068

:LABEL049
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL050
    FPUTLN 2,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL049

:LABEL050
    FCLOSE 2
    LET VAR071=15
    DELAY (2*182)/10
    LET VAR002=0
    FCLOSEALL 
    GOTO LABEL013

:LABEL051
    PRINTLN "@X03─────────────────────────────────────────────────────────────────────────────@X0F"
    IF (CURSEC()>=SYSOPSEC()) PRINTLN "@X03 Sysop only commands - @X0A(@X0ED@X0A)@X03elete a Suggestion / @X0A(@X0EE@X0A)@X03dit the notes file"
    INPUTSTR "@X0B@X0A(@X0EV@X0A)@X0Bote / @X0A(@X0EA@X0A)@X0Bdd your own / @X0A(@X0EH@X0A)@X0Belp / @X0A(@X0EM@X0A)@X0Bore / @X0A(@X0ET@X0A)@X0Boggle / @X0A(@X0EN@X0A)@X0Botes @X8D@X0B / @X0A(@X0CQ@X0A)@X0Cuit _",VAR008,15,1,"TVAMHQNBDE",0+8
    LET VAR071=VAR071+15
    IF (!((VAR008="T")&(VAR001=0))) GOTO LABEL052
    LET VAR001=1
    LET VAR071=15
    GOTO LABEL016

:LABEL052
    IF (!((VAR008="T")&(VAR001=1))) GOTO LABEL053
    LET VAR001=0
    LET VAR071=15
    GOTO LABEL016

:LABEL053
    IF (VAR008="M") RETURN 

    IF (VAR008="V") GOTO LABEL037
    IF (VAR008="A") GOTO LABEL029
    IF (VAR008="H") GOTO LABEL063
    IF ((VAR008="D")&(CURSEC()>=SYSOPSEC())) GOTO LABEL064
    IF ((VAR008="E")&(CURSEC()>=SYSOPSEC())) GOTO LABEL076
    IF (VAR008="B") GOTO LABEL072
    IF (VAR008="N") GOTO LABEL073
    IF (!(VAR008="Q")) GOTO LABEL054
    GOSUB LABEL056
    CLS 
    GOTO LABEL096

:LABEL054
    RETURN 


:LABEL055
    CLS 
    PRINTLN VAR004
    PRINTLN VAR005
    PRINTLN VAR006
    RETURN 


:LABEL056
    BACKUP 80
    CLREOL 
    PRINTLN "                 @X84████  @X0AOne moment please, sorting data.... @X84 ████ @X0F"
    FOPEN 5,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR065=0

:LABEL057
    IF (!(((1<0)&(VAR065>=VAR069))|((1>=0)&(VAR065<=VAR069)))) GOTO LABEL058
    FGET 5,VAR017(VAR065)
    LET VAR065=VAR065+1
    GOTO LABEL057

:LABEL058
    FCLOSE 5
    SORT VAR017,VAR072
    FCREATE 7,PPEPATH()+PPENAME()+".SRT",O_RW,S_DN
    LET VAR065=0

:LABEL059
    IF (!(((1<0)&(VAR065>=VAR069))|((1>=0)&(VAR065<=VAR069)))) GOTO LABEL060
    FPUTLN 7,VAR017(VAR072(VAR065))
    LET VAR065=VAR065+1
    GOTO LABEL059

:LABEL060
    FCLOSE 7
    FCLOSEALL 
    FCREATE 4,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN

:LABEL061
    IF (!(VAR069<>0)) GOTO LABEL062
    LET VAR038=READLINE((PPEPATH()+PPENAME()+".SRT"),VAR069)
    FPUTLN 4,VAR038
    DEC VAR069
    GOTO LABEL061

:LABEL062
    FCLOSE 4
    RETURN 


:LABEL063
    LET VAR071=15
    CLS 
    DISPFILE PPEPATH()+PPENAME()+"1"+".hlp",2+1+4
    NEWLINES 1
    PRINT "                      @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
    INPUTSTR "_",VAR022,15,1,MASK_ASCII(),DEFS
    CLS 
    DISPFILE PPEPATH()+PPENAME()+"2"+".hlp",2+1+4
    NEWLINES 1
    PRINT "                      @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
    INPUTSTR "_",VAR022,15,1,MASK_ASCII(),DEFS
    GOTO LABEL016

:LABEL064
    FCLOSEALL 
    BACKUP 80
    CLREOL 
    PRINT "   @X0A  Suggestion Number to @X8ADelete@X0A # @X0E(@X0C1@X0E-@X0C",VAR069,"@X0E) @X0A/ @X0E(@X0CQ@X0E)@X0Cuit@X0F "
    INPUTSTR "_",VAR023,14,3,"0123456789Q",0+8
    IF (!(VAR023="Q")) GOTO LABEL065
    LET VAR071=15
    LET VAR002=0
    GOTO LABEL013

:LABEL065
    LET VAR036=READLINE((PPEPATH()+PPENAME()+".dat"),VAR023)
    LET VAR036=MID(VAR036,13,6)
    FOPEN 3,PPEPATH()+PPENAME()+".$$$",O_RW,S_DN
    FOPEN 4,PPEPATH()+PPENAME()+".Nam",O_RD,S_DN

:LABEL066
    IF (!(!FERR(4))) GOTO LABEL068
    FGET 4,VAR037
    IF (MID(VAR037,13,6)=VAR036) GOTO LABEL067
    IF (MID(VAR037,13,6)<>VAR036) FPUTLN 3,VAR037

:LABEL067
    GOTO LABEL066

:LABEL068
    FCLOSE 4
    FCLOSE 3
    RENAME PPEPATH()+PPENAME()+".Nam",PPEPATH()+PPENAME()+".Man"
    RENAME PPEPATH()+PPENAME()+".$$$",PPEPATH()+PPENAME()+".Nam"
    FOPEN 5,PPEPATH()+PPENAME()+".%%",O_RW,S_DN
    FOPEN 6,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN

:LABEL069
    IF (!(!FERR(6))) GOTO LABEL071
    FGET 6,VAR037
    IF (MID(VAR037,13,6)=VAR036) GOTO LABEL070
    FPUTLN 5,VAR037

:LABEL070
    GOTO LABEL069

:LABEL071
    FCLOSE 6
    FCLOSE 5
    FCLOSEALL 
    COPY PPEPATH()+PPENAME()+".Dat",PPEPATH()+PPENAME()+".Tad"
    DELETE PPEPATH()+PPENAME()+".Dat"
    COPY PPEPATH()+PPENAME()+".%%",PPEPATH()+PPENAME()+".Dat"
    DELETE PPEPATH()+PPENAME()+".%%"
    LET VAR070=VAR070-1
    FOPEN 2,PPEPATH()+PPENAME()+".Cfg",O_RW,S_DN
    FPUTLN 2,VAR070
    FCLOSE 2
    IF (EXIST(PPEPATH()+STRING(VAR036)+".Not")) DELETE PPEPATH()+STRING(VAR036)+".Not"
    LET VAR002=0
    LET VAR071=15
    GOTO LABEL013

:LABEL072
    CLS 
    NEWLINES 4
    PRINTLN "@POS:23@@X10┌─────────────────────────────────@X19┐@X0F"
    PRINTLN "@POS:23@@X10│       @X1ASuggestion Box v3.u       @X19│@X0F"
    PRINTLN "@POS:23@@X10│       @X1E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀       @X19│@X0F"
    PRINTLN "@POS:23@@X10│                                 @X19│@X0F"
    PRINTLN "@POS:23@@X10│       @X1C(c)95 GO/4 Software       @X19│@X0F"
    PRINTLN "@POS:23@@X10│                                 @X19│@X0F"
    PRINTLN "@POS:23@@X10│      @X13GO/4 Software is:          @X19│@X0F"
    PRINTLN "@POS:23@@X10│           @X1FBill Marcy            @X19│@X0F"
    PRINT "@POS:23@@X10└@X19─────────────────────────────────┘@X0F"
    DELAY (5*182)/10
    GOTO LABEL016

:LABEL073
    BACKUP 80
    CLREOL 
    PRINT " @X0BView which note file@X0A  @X0E(@X0CQ@X0E)@X0Cuit@X0F "
    INPUTSTR "_",VAR042,14,3,"0123456789Q",0+8
    IF (!(VAR042="Q")) GOTO LABEL074
    LET VAR071=15
    LET VAR002=0
    GOTO LABEL013

:LABEL074
    LET VAR048=READLINE((PPEPATH()+PPENAME()+".DAT"),VAR042)
    LET VAR025=MID(VAR048,13,6)
    LET VAR043=MID(VAR048,20,1)
    IF (!(VAR043="Y")) GOTO LABEL075
    CLS 
    DISPFILE PPEPATH()+STRING(VAR025)+".Not",DEFS
    NEWLINES 1
    PRINT "                      @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
    INPUTSTR "_",VAR022,15,1,MASK_ASCII(),DEFS
    LET VAR002=0
    LET VAR071=15
    GOTO LABEL013

:LABEL075
    BACKUP 80
    CLREOL 
    PRINTLN "@X0A @X0E████ @X0BSorry but you chose a Suggestion with no note @X0A(@X0Blook for the @X8D@X0A) @X0E████@X0F"
    DELAY (4*182)/10
    LET VAR002=0
    LET VAR071=15
    GOTO LABEL013

:LABEL076
    BACKUP 80
    CLREOL 
    PRINT " @X0AAdd a note to which Suggestion@X0A # @X0E(@X0C1@X0E-@X0C",VAR069,"@X0E) @X0A/ @X0E(@X0CQ@X0E)@X0Cuit@X0F "
    INPUTSTR "_",VAR042,14,3,"0123456789Q",0+8
    IF (!(VAR042="Q")) GOTO LABEL077
    LET VAR071=15
    LET VAR002=0
    GOTO LABEL013

:LABEL077
    NEWLINE 
    LET VAR048=READLINE((PPEPATH()+PPENAME()+".DAT"),VAR042)
    LET VAR025=MID(VAR048,13,6)
    LET VAR043=MID(VAR048,20,1)
    LET VAR040=MID(VAR048,22,74)
    IF (!(VAR043="Y")) GOTO LABEL086
    BACKUP 80
    CLREOL 
    INPUTSTR "@X0BThere is already a note for this Suggestion @X0A(@X0ED@X0A)@X0Belete or @X0A(@X0ER@X0A)@X0Beview it _",VAR044,14,1,"DR",0+8
    LET VAR066=1

:LABEL078
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL079
    LET VAR010(VAR066)=""
    LET VAR066=VAR066+1
    GOTO LABEL078

:LABEL079
    IF (!(UPPER(VAR044)="D")) GOTO LABEL084
    DELETE PPEPATH()+STRING(VAR025)+".Not"
    FOPEN 7,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR066=1

:LABEL080
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL081
    FGET 7,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL080

:LABEL081
    FCLOSE 7
    FCLOSEALL 
    LET VAR060=LEFT(VAR010(VAR042),5)
    LET VAR061=MID(VAR010(VAR042),7,5)
    LET VAR062=MID(VAR010(VAR042),13,6)
    LET VAR063="N"
    LET VAR064=MID(VAR010(VAR042),22,74)
    LET VAR010(VAR042)=VAR060+VAR013+VAR061+VAR013+VAR062+VAR013+VAR063+VAR013+VAR064
    FOPEN 6,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN
    LET VAR066=1

:LABEL082
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL083
    FPUTLN 6,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL082

:LABEL083
    FCLOSE 6
    GOTO LABEL085

:LABEL084
    IF (!(UPPER(VAR044)="R")) GOTO LABEL085
    CLS 
    DISPFILE PPEPATH()+STRING(VAR025)+".Not",DEFS
    NEWLINES 1
    PRINT "                      @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
    INPUTSTR "_",VAR022,15,1,MASK_ASCII(),DEFS

:LABEL085
    LET VAR002=0
    GOTO LABEL013

:LABEL086
    LET VAR073=2
    REDIM VAR039,21
    CLS 
    PRINTLN "@X0AType an @X0CS@X0A on a blank line to @X0CSave@X0A, or a @X0CQ@X0A to @X0Cquit@X0A (no save)"
    NEWLINE 
    PRINTLN "@X0E┌─────────@X0B1@X0E─────────@X0B2@X0E─────────@X0B3@X0E─────────@X0B4@X0E─────────@X0B5@X0E─────────@X0B6@X0E─────────@X0B7@X0E───────┐"
    LET VAR039(0)="Date: "+STRING(DATE())
    LET VAR039(1)="  RE: "+LEFT(VAR040,70)
    LET VAR039(2)="-------------------------------------------------------------------------------"
    LET VAR067=3

:LABEL087
    IF (!(((1<0)&(VAR067>=21))|((1>=0)&(VAR067<=21)))) GOTO LABEL089
    INPUTSTR "_",VAR039(VAR067),11,78,MASK_ASCII(),0+256
    IF (UPPER(VAR039(VAR067))="S") GOTO LABEL089
    IF (!(UPPER(VAR039(VAR067))="Q")) GOTO LABEL088
    LET VAR002=0
    GOTO LABEL013

:LABEL088
    INC VAR073
    LET VAR067=VAR067+1
    GOTO LABEL087

:LABEL089
    LET VAR073=VAR073
    FOPEN 3,PPEPATH()+STRING(VAR025)+".Not",O_RW,S_DN
    LET VAR074=0

:LABEL090
    IF (!(((1<0)&(VAR074>=VAR073))|((1>=0)&(VAR074<=VAR073)))) GOTO LABEL091
    FPUTLN 3,VAR039(VAR074)
    LET VAR074=VAR074+1
    GOTO LABEL090

:LABEL091
    FCLOSE 3
    FOPEN 2,PPEPATH()+PPENAME()+".DAT",O_RD,S_DN
    LET VAR066=1

:LABEL092
    IF (!(((1<0)&(VAR066>=VAR069))|((1>=0)&(VAR066<=VAR069)))) GOTO LABEL093
    FGET 2,VAR010(VAR066)
    LET VAR066=VAR066+1
    GOTO LABEL092

:LABEL093
    FCLOSE 2
    FCLOSEALL 
    LET VAR048=READLINE((PPEPATH()+PPENAME()+".DAT"),VAR042)
    LET VAR033=LEFT(VAR048,5)
    LET VAR034=MID(VAR048,7,5)
    LET VAR035=MID(VAR048,13,6)
    LET VAR049="Y"
    LET VAR050=MID(VAR048,22,74)
    LET VAR010(VAR042)=VAR033+VAR013+VAR034+VAR013+VAR035+VAR013+VAR049+VAR013+VAR050
    FOPEN 6,PPEPATH()+PPENAME()+".DAT",O_RW,S_DN
    LET VAR075=1

:LABEL094
    IF (!(((1<0)&(VAR075>=VAR069))|((1>=0)&(VAR075<=VAR069)))) GOTO LABEL095
    FPUTLN 6,VAR010(VAR075)
    LET VAR075=VAR075+1
    GOTO LABEL094

:LABEL095
    FCLOSE 6
    LET VAR002=0
    LET VAR071=15
    GOTO LABEL013

:LABEL096
    IF (!EXIST(PPEPATH()+"Waiting.lst")) GOTO LABEL099
    FOPEN 1,PPEPATH()+"Waiting.Lst",O_RD,S_DN

:LABEL097
    IF (!(!FERR(1))) GOTO LABEL098
    FGET 1,VAR076
    BROADCAST VAR076,VAR076,"Suggestion door now open!"
    GOTO LABEL097

:LABEL098
    FCLOSE 1
    DELETE PPEPATH()+"waiting.lst"

:LABEL099
    DELETE PPEPATH()+"door.lck"
    END 


PROCEDURE PROC001()


    FOPEN 1,PPEPATH()+"UNIVERSL.KEY",O_RD,S_DN
    FDEFIN 1
    LET VAR080=1

:LABEL100
    IF (!(((1<0)&(VAR080>=3))|((1>=0)&(VAR080<=3)))) GOTO LABEL101
    FDGET VAR027(VAR080)
    LET VAR080=VAR080+1
    GOTO LABEL100

:LABEL101
    FCLOSE 1
    LET VAR026=VAR027(1)+VAR027(2)
    LET VAR026=STRIP(VAR026," ")
    LET VAR081=1

:LABEL102
    IF (!(((1<0)&(VAR081>=LEN(VAR026)))|((1>=0)&(VAR081<=LEN(VAR026))))) GOTO LABEL103
    LET VAR082(VAR081)=ASC(MID(VAR026,VAR081,1))
    LET VAR081=VAR081+1
    GOTO LABEL102

:LABEL103
    LET VAR078=0
    LET VAR081=1

:LABEL104
    IF (!(((1<0)&(VAR081>=99))|((1>=0)&(VAR081<=99)))) GOTO LABEL105
    LET VAR078=VAR078+VAR082(VAR081)
    LET VAR081=VAR081+1
    GOTO LABEL104

:LABEL105
    LET VAR079=VAR078*659
    LET VAR077=VAR079
    LET VAR003=0
    IF (!(VAR079<>VAR027(3))) GOTO LABEL106
    LET VAR003=0
    GOTO LABEL107

:LABEL106
    LET VAR003=1

:LABEL107
    ENDPROC 


;------------------------------------------------------------------------------
;Statements used:
;
;     2 END
;    12 CLS
;    13 CLREOL
;   145 GOTO
;   183 LET
;     9 PRINT
;    40 PRINTLN
;    96 IF
;     4 DISPFILE
;     5 FCREATE
;    24 FOPEN
;     4 FAPPEND
;    34 FCLOSE
;    15 FGET
;    20 FPUTLN
;     2 GETUSER
;     6 DELETE
;     1 LOG
;    14 INPUTSTR
;     6 GOSUB
;     4 RETURN
;    10 DELAY
;     1 INC
;     1 DEC
;     3 NEWLINE
;     9 NEWLINES
;     1 TOKENIZE
;     3 GETTOKEN
;     1 BROADCAST
;     1 RDUNET
;     1 WRUNET
;    13 BACKUP
;     2 RENAME
;     1 FDEFIN
;     1 FDGET
;     5 REDIM
;     2 COPY
;     1 SORT
;    10 FCLOSEALL
;     1 PROC
;     1 ENDPROC
;
;Functions used:
;
;    11 *
;    10 /
;   223 +
;     5 -
;    55 =
;     3 <>
;    26 <
;    20 <=
;     3 >
;    52 >=
;    70 !
;    57 &
;    21 |
;     5 LEN
;     9 UPPER
;    34 MID
;    11 LEFT
;     2 RIGHT
;     5 FERR
;     3 ASC
;     2 LTRIM
;     1 RANDOM
;     1 DATE
;     5 U_NAME
;     6 STRIP
;     7 STRING
;     6 MASK_ASCII
;    69 PPEPATH
;     3 PCBNODE
;    11 READLINE
;     6 SYSOPSEC
;     1 UN_STAT
;     1 UN_NAME
;     7 CURSEC
;     7 EXIST
;     2 ABS
;    52 PPENAME
;     1 MIXED
;
;------------------------------------------------------------------------------
;Thank you for using PPLD              T4F - We Create Your Needs Of Tommorow !
;------------------------------------------------------------------------------
[ RETURN TO DIRECTORY ]