Metropoli BBS
VIEWER: confz.pps MODE: TEXT (CP437)
; CONFZ.PPE (Confz Joiner)
; Version 1.00, Build 56
; Copyright (c) 1995 by Tormentor of Trash


     STRING Confz (500), Passwordz (500)
     INTEGER ConfCount, x, Selected, Page, OldSelected, OldPage, Numbaz (500)
     STRING Key, s

     IF (!EXIST (PPEPATH () + "CONFZ.CNF")) THEN
       PRINT "@X0CCONFZ: CONFiGURATiON FiLE NOT FOUND! CAN'T CONTiNUE!@X07"
       WAIT
       END
     ENDIF

     FOPEN 1, PPEPATH () + "CONFZ.CNF", O_RW, S_DN
     WHILE (!FERR (1)) DO
       INC ConfCount
       FGET 1, Confz (ConfCount)
       FGET 1, s

       IF ((UPPER (Confz (ConfCount)) = "%EOF%") |\
           (UPPER (s) = "%EOF%")) THEN
         Confz (ConfCount) = ""
         BREAK
       ENDIF

       Numbaz (ConfCount) = LEFT (s, 4)
       Passwordz (ConfCount) = UPPER (MID (s, 5, LEN (s) - 4))
     ENDWHILE
     FCLOSE 1

     DEC ConfCount

     PRINT "@CLS@@POFF@"
     DISPFILE PPEPATH () + "CONFZ.GFX", DEFS

     Selected = 1 : OldSelected = - 1
     Page = 0 : OldPage = - 1

     WHILE (Key <> CHR (27)) DO
       IF (Page <> OldPage) THEN
         FOR x = 13 TO 21
           ANSIPOS 18, x
           PRINT "@X07                                             " + CHR (13)
           FORWARD (40 - LEN (Confz (x - 13 + (Page * 8) + 1)) / 2) - 1
           PRINT Confz (x - 13 + (Page * 8) + 1)
         NEXT x
         OldPage = Page
       ENDIF

       IF (Selected <> OldSelected) THEN
         ANSIPOS 18, Selected + 13 - (Page * 8) - 1
         PRINT "@X07                                             " + CHR (13)
         FORWARD (40 - (LEN (Confz (Selected)) / 2)) - 4
         PRINT "@X70   " + Confz (Selected) + "   @X07"

         IF (OldSelected >= 1) THEN
           ANSIPOS 18, OldSelected + 13 - (Page * 8) - 1
           PRINT "                                             " + CHR (13)
           FORWARD (40 - LEN (Confz (OldSelected)) / 2) -1
           PRINT Confz (OldSelected)
         ENDIF

         ANSIPOS 1, Selected + 13 - (Page * 8) - 1
         FORWARD (40 - (LEN (Confz (Selected)) / 2)) - 4

         OldSelected = Selected
       ENDIF

       Key = ""
       WHILE (Key = "") DO
         Key = INKEY ()
       ENDWHILE

       IF (Key = CHR (13)) THEN
         IF (Passwordz (Selected) <> "NONE") THEN
           ANSIPOS 18, 11 : PRINT "@X70 ┌─────────────────────────────────────────┐ @X07"
           ANSIPOS 18, 12 : PRINT "@X70 │ Password: @X07                             @X70 │ @X07"
           ANSIPOS 18, 13 : PRINT "@X70 └─────────────────────────────────────────┘ @X07"
           ANSIPOS 21, 12 : INPUTSTR "@X70Password: _", s, @X07, 29, MASK_ASCII (), 1 + 64 + 8
           IF (UPPER (s) = Passwordz (Selected)) THEN
             ANSIPOS 18, 12 : PRINT "@X70 │             Access Granted!             │ @X07"
             ANSIPOS 33, 12 : DELAY (25)
             s = Numbaz (Selected)
             KBDSTUFF "J " + s + CHR (13)
             CLS : END
           ELSE
             ANSIPOS 18, 12 : PRINT "@X70 │             Access Denied!              │ @X07"
             ANSIPOS 33, 12 : BEEP : DELAY (10) : BEEP : DELAY (10) : BEEP : DELAY (10)
             OldSelected = - 1 : OldPage = - 1
             ANSIPOS 1, 1 : PRINT "@POFF@"
             DISPFILE PPEPATH () + "CONFZ.GFX", DEFS
           ENDIF
         ELSE
           s = Numbaz (Selected)
           KBDSTUFF "J " + s + CHR (13)
           CLS : END
         ENDIF
       ENDIF

       IF (Key = "UP") DEC Selected
       IF (Key = "DOWN") INC Selected

       IF (Selected > ConfCount) Selected = ConfCount
       IF (Selected < 1) Selected = 1

       IF (Selected > (Page * 8) + 8 + 1) INC Page
       IF (Selected < (Page * 8) + 1) DEC Page
     ENDWHILE

     CLS : PRINT "@PON@"
END

;EOF CONFZ.PPS

[ RETURN TO DIRECTORY ]