home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / MPS_UL10.ZIP / USERLIST.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-03-11  |  9KB  |  536 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.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Integer  INTEGER001
  29.     Integer  INTEGER002
  30.     Integer  INTEGER003
  31.     Integer  INTEGER004
  32.     Integer  INTEGER005
  33.     Integer  INTEGER006
  34.     Integer  INTEGER007
  35.     Integer  INTEGER008
  36.     Integer  INTEGER009
  37.     Integer  INTEGER010
  38.     String   STRING002
  39.     String   STRING003
  40.     String   STRING004
  41.     String   STRING005
  42.     String   STRING006
  43.     String   TSTRING007(10)
  44.     String   TSTRING008(10)
  45.     String   TSTRING009(10)
  46.     String   TSTRING010(5)
  47.     String   STRING011
  48.     String   TSTRING012(25)
  49.     String   TSTRING013(25)
  50.     String   TSTRING014(25)
  51.     String   TSTRING015(25)
  52.     String   TSTRING016(25)
  53.     String   TSTRING017(25)
  54.     String   STRING018
  55.     String   STRING019
  56.     String   STRING020
  57.     String   STRING021
  58.     String   STRING022
  59.     String   STRING023
  60.     String   STRING024
  61.     String   STRING025
  62.     String   STRING026
  63.  
  64. ;------------------------------------------------------------------------------
  65.  
  66.     STRING011 = "@X08UserList v1.0 "
  67.     If (Exist(PPEPath() + "USERLIST.CFG")) Then
  68.         FOpen 1, PPEPath() + "USERLIST.CFG", 0, 0
  69.         If (Ferr(1) <> 1) Then
  70.             For INTEGER007 = 1 To 5
  71.                 FGet 1, TSTRING009(INTEGER007)
  72.             Next
  73.             FClose 1
  74.         Else
  75.             Newline
  76.             PrintLn "@X0CError Opening " + PPEPath() + "USERLIST.CFG"
  77.             Newline
  78.             End
  79.         Endif
  80.     Else
  81.         TSTRING009(1) = "NO"
  82.         TSTRING009(2) = "YES"
  83.         TSTRING009(3) = "NO"
  84.         TSTRING009(4) = "YES"
  85.         TSTRING009(5) = "YES"
  86.     Endif
  87.     STRING021 = Chr(98) + Chr(121) + " "
  88.     INTEGER003 = 13
  89.     BOOLEAN002 = 1
  90.     Gosub LABEL022
  91.     STRING021 = STRING021 + STRING025
  92.     INTEGER003 = 1
  93.     Gosub LABEL022
  94.     STRING021 = STRING021 + STRING025
  95.     INTEGER003 = 1803
  96.     BOOLEAN002 = 1
  97.     Gosub LABEL022
  98.     STRING021 = STRING021 + STRING025
  99.     INTEGER003 = 21
  100.     Gosub LABEL022
  101.     STRING021 = STRING021 + STRING025
  102.     INTEGER003 = 19
  103.     BOOLEAN002 = 1
  104.     Gosub LABEL022
  105.     STRING021 = STRING021 + STRING025
  106.     STRING022 = Chr(98) + Chr(121) + " "
  107.     INTEGER003 = 131619
  108.     BOOLEAN002 = 1
  109.     Gosub LABEL022
  110.     STRING022 = STRING022 + STRING025
  111.     STRING023 = Chr(91)
  112.     INTEGER003 = 21141895
  113.     BOOLEAN002 = 1
  114.     Gosub LABEL022
  115.     STRING023 = STRING023 + STRING025
  116.     INTEGER003 = 97991920
  117.     BOOLEAN002 = 1
  118.     Gosub LABEL022
  119.     STRING023 = STRING023 + STRING025
  120.     INTEGER003 = 95189594
  121.     BOOLEAN002 = 1
  122.     Gosub LABEL022
  123.     STRING023 = STRING023 + STRING025
  124.     STRING023 = STRING023 + Chr(93)
  125.     TSTRING010(1) = "@X0B"
  126.     TSTRING010(2) = "@X09"
  127.     TSTRING010(3) = "@X07"
  128.     TSTRING010(4) = "@X05"
  129.     INTEGER007 = 1
  130.     INTEGER009 = 1
  131.     STRING002 = U_Name()
  132.     STRING003 = U_City
  133.     If (TSTRING009(1) == "NO") INTEGER007 = 2
  134.     If (TSTRING009(2) == "YES") BOOLEAN004 = 1
  135.     If ((TSTRING009(3) == "YES") && (UN_City() <> STRING003)) BOOLEAN006 = 1
  136.     If (TSTRING009(4) == "YES") BOOLEAN005 = 1
  137.     If (TSTRING009(5) == "YES") BOOLEAN007 = 1
  138.     Print "@POFF@"
  139.     :LABEL001
  140.     INTEGER010 = INTEGER010 + 1
  141.     Gosub LABEL004
  142.     Gosub LABEL006
  143.     AnsiPos 1, 4
  144.     Print "@X08■ @X07Please Wait @X08■ @X07Compiling Users..."
  145.     For INTEGER009 = 1 To 19
  146.         U_City = "END"
  147.         GetAltUser INTEGER007
  148.         If ((U_City == "END") && (U_Name() == STRING002)) Then
  149.             BOOLEAN003 = 1
  150.             Break
  151.         Endif
  152.         If ((BOOLEAN004 == 1) && (U_Alias <> "")) Then
  153.             TSTRING012(INTEGER009) = U_Alias
  154.         Else
  155.             TSTRING012(INTEGER009) = U_Name()
  156.         Endif
  157.         If (BOOLEAN005 == 1) TSTRING012(INTEGER009) = Mixed(TSTRING012(INTEGER009))
  158.         TSTRING014(INTEGER009) = U_Ful()
  159.         TSTRING015(INTEGER009) = U_Fdl()
  160.         TSTRING016(INTEGER009) = Left(U_LDate(), 5)
  161.         TSTRING017(INTEGER009) = Left(TimeAp(U_LTime()), 5) + Lower(Right(TimeAp(U_LTime()), 2))
  162.         TSTRING017(INTEGER009) = Left(TSTRING017(INTEGER009), Len(TSTRING017(INTEGER009)) - 1) + " "
  163.         Gosub LABEL012
  164.         TSTRING013(INTEGER009) = STRING004
  165.         FReAltUser
  166.         INTEGER007 = INTEGER007 + 1
  167.     Next
  168.     INTEGER009 = INTEGER009 - 1
  169.     :LABEL002
  170.     AnsiPos 1, 4
  171.     For INTEGER008 = 1 To INTEGER009
  172.         Gosub LABEL007
  173.     Next
  174.     If (BOOLEAN003 == 1) Then
  175.         INTEGER007 = INTEGER007 - 1
  176.         Newline
  177.         Print "@X0F"
  178.         Print INTEGER007
  179.         PrintLn "@X07 total users."
  180.         Newline
  181.         Wait
  182.     Else
  183.         :LABEL003
  184.         Print "@X0E(S)earch, (Q)uit, More? "
  185.         Print "@X07"
  186.         Gosub LABEL005
  187.         Backup 25
  188.         ClrEol
  189.         If ((Upper(STRING018) == "Q") || (Upper(STRING018) == "N")) Then
  190.             Goto LABEL021
  191.         Endif
  192.         If (Upper(STRING018) == "S") Then
  193.             Gosub LABEL008
  194.             Gosub LABEL004
  195.             Goto LABEL002
  196.         Endif
  197.         If (((((INTEGER010 == 5) || (INTEGER010 == 10)) || (INTEGER010 == 20)) || (INTEGER010 == 40)) || (INTEGER010 == 80)) Then
  198.             Cls
  199.             AnsiPos 8, 12
  200.             Print "@X0CThis PPE is ", STRING023, ", Please ask your Sysop to REGISTER!"
  201.             Delay 50
  202.         Endif
  203.         INTEGER009 = 1
  204.         Goto LABEL001
  205.         :LABEL004
  206.         Cls
  207.         PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  208.         PrintLn "@X78░         @X75User                     Location            UL/DL      Last Called @X78░"
  209.         PrintLn "@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  210.         Return
  211.         :LABEL005
  212.         STRING018 = ""
  213.         KbdFlush
  214.         While (STRING018 == "") Do
  215.             STRING018 = Inkey()
  216.         EndWhile
  217.         Return
  218.         :LABEL006
  219.         INTEGER002 = Random(3 - 1) + 1
  220.         INTEGER002 = Random(3 - 1) + 1
  221.         If (INTEGER002 == 1) Print "@POS:52@", STRING011, STRING023, "@X07"
  222.         If (INTEGER002 == 2) Print "@POS:57@", STRING011, STRING021, "@X07"
  223.         If (INTEGER002 == 3) Print "@POS:60@", STRING011, STRING022, "@X07"
  224.         Return
  225.         :LABEL007
  226.         Print TSTRING010(1) + TSTRING012(INTEGER008)
  227.         Print "@POS:27@@X08│ "
  228.         Print TSTRING010(2) + TSTRING013(INTEGER008)
  229.         Print "@POS:54@@X08│ "
  230.         Print TSTRING010(3) + TSTRING014(INTEGER008) + "@X08/" + TSTRING010(3) + TSTRING015(INTEGER008)
  231.         Print "@POS:65@@X08│ "
  232.         PrintLn TSTRING010(4) + TSTRING016(INTEGER008) + " " + TSTRING010(4) + TSTRING017(INTEGER008) + "@X07"
  233.         Return
  234.         :LABEL008
  235.         STRING020 = ""
  236.         Input "@X0AEnter Text to Search for (Enter)=abort: @X07_", STRING020
  237.         If (STRING020 == "") Then
  238.             Backup 50
  239.             ClrEol
  240.             Goto LABEL003
  241.         Endif
  242.         SearchInit STRING020, 0
  243.         Gosub LABEL004
  244.         Print "@POS:52@@X08UserList v1.0 " + STRING023 + "@X07"
  245.         AnsiPos 1, 4
  246.         PrintLn "@X0CSearching User Database@X04..."
  247.         Newline
  248.         Print "@PON@"
  249.         INTEGER006 = 1
  250.         If (TSTRING009(1) == "NO") INTEGER006 = 2
  251.         INTEGER005 = 0
  252.         :LABEL009
  253.         SearchInit STRING020, 0
  254.         U_City = "END"
  255.         GetAltUser INTEGER006
  256.         If ((U_City == "END") && (U_Name() == STRING002)) Goto LABEL011
  257.         STRING019 = U_Name() + " " + U_Alias + " "
  258.         If (BOOLEAN006 == 1) Then
  259.             STRING019 = STRING019 + UN_City()
  260.         Else
  261.             STRING019 = STRING019 + U_City
  262.         Endif
  263.         SearchFind STRING019, BOOLEAN008
  264.         If (BOOLEAN008 == 1) Then
  265.             INTEGER005 = INTEGER005 + 1
  266.             TSTRING014(0) = U_Ful()
  267.             TSTRING015(0) = U_Fdl()
  268.             TSTRING016(0) = Left(U_LDate(), 5)
  269.             TSTRING017(0) = Left(TimeAp(U_LTime()), 5) + Lower(Right(TimeAp(U_LTime()), 2))
  270.             TSTRING017(0) = Left(TSTRING017(0), Len(TSTRING017(0)) - 1) + " "
  271.             TSTRING012(0) = U_Name()
  272.             If (BOOLEAN004 == 1) Then
  273.                 SearchFind U_Name(), BOOLEAN009
  274.                 If ((BOOLEAN009 == 0) && (U_Alias <> "")) TSTRING012(0) = U_Alias
  275.                 Goto LABEL010
  276.             Endif
  277.             SearchFind U_Alias, BOOLEAN009
  278.             If ((BOOLEAN009 == 1) && (U_Alias <> "")) TSTRING012(0) = U_Alias
  279.             :LABEL010
  280.             If (BOOLEAN005 == 1) TSTRING012(0) = Mixed(TSTRING012(0))
  281.             Gosub LABEL012
  282.             TSTRING013(0) = STRING004
  283.             SearchInit STRING020, 0
  284.             SearchFind STRING019, BOOLEAN008
  285.             Print TSTRING010(1)
  286.             PrFound TSTRING012(0)
  287.             Print "@POS:27@@X08│ "
  288.             Print TSTRING010(2)
  289.             PrFound TSTRING013(0)
  290.             Print "@POS:54@@X08│ "
  291.             Print TSTRING010(3) + TSTRING014(0) + "@X08/" + TSTRING010(3) + TSTRING015(0)
  292.             Print "@POS:65@@X08│ "
  293.             Print TSTRING010(4) + TSTRING016(0) + " " + TSTRING010(4) + TSTRING017(0)
  294.             PrintLn "@X07"
  295.         Endif
  296.         FReAltUser
  297.         INTEGER006 = INTEGER006 + 1
  298.         SearchStop
  299.         Goto LABEL009
  300.         :LABEL011
  301.         SearchStop
  302.         If (INTEGER005 > 0) Newline
  303.         Print "@X07Found @X0F"
  304.         Print INTEGER005
  305.         PrintLn "@X07 occurance(s)."
  306.         Print "@POFF@"
  307.         Newline
  308.         Wait
  309.         Return
  310.         :LABEL012
  311.         TSTRING007(1) = "TO"
  312.         TSTRING008(1) = "to"
  313.         TSTRING007(2) = "OF"
  314.         TSTRING008(2) = "of"
  315.         TSTRING007(3) = "IN"
  316.         TSTRING008(3) = "in"
  317.         TSTRING007(4) = "THE"
  318.         TSTRING008(4) = "the"
  319.         TSTRING007(5) = "BBS"
  320.         TSTRING008(5) = "BBS"
  321.         If (BOOLEAN007 == 1) Then
  322.             SearchInit ",", 0
  323.             If (BOOLEAN006 == 1) Then
  324.                 Tokenize UN_City()
  325.             Else
  326.                 Tokenize U_City
  327.             Endif
  328.             STRING004 = ""
  329.             :LABEL013
  330.             GetToken STRING005
  331.             If (STRING004 <> "") STRING004 = STRING004 + " "
  332.             :LABEL014
  333.             INTEGER001 = 1
  334.             If (STRING005 == "") Then
  335.                 SearchStop
  336.             Else
  337.                 For INTEGER002 = 1 To 5
  338.                     If ((STRING005 == TSTRING007(INTEGER002)) && (STRING004 <> "")) Then
  339.                         If (BOOLEAN005 == 1) Then
  340.                             STRING004 = STRING004 + TSTRING008(INTEGER002)
  341.                             Goto LABEL015
  342.                         Endif
  343.                         STRING004 = STRING004 + Upper(TSTRING008(INTEGER002))
  344.                         :LABEL015
  345.                         Goto LABEL013
  346.                     Endif
  347.                 Next
  348.                 If ((Len(STRING005) == 3) && (Right(STRING005, 1) == ".")) Then
  349.                     STRING004 = Left(STRING004, Len(STRING004) - 1) + ", " + STRING005
  350.                     Goto LABEL013
  351.                 Endif
  352.                 SearchFind STRING005, BOOLEAN001
  353.                 If (BOOLEAN001 == 1) Then
  354.                     Goto LABEL016
  355.                 ElseIf (BOOLEAN005 == 1) Then
  356.                     STRING004 = STRING004 + Mixed(STRING005)
  357.                 Else
  358.                     STRING004 = STRING004 + STRING005
  359.                 Endif
  360.                 Goto LABEL013
  361.                 :LABEL016
  362.                 STRING006 = Mid(STRING005, INTEGER001, 1)
  363.                 If (STRING006 == " ") Goto LABEL013
  364.                 If ((INTEGER001 == 1) && (STRING006 == ",")) Then
  365.                     STRING004 = Left(STRING004, Len(STRING004) - 1) + STRING006
  366.                     GetToken STRING005
  367.                     If ((Len(STRING005) == 2) || ((Len(STRING005) == 3) && (Right(STRING005, 1) == "."))) Then
  368.                         STRING004 = STRING004 + " " + STRING005
  369.                         Goto LABEL013
  370.                         Goto LABEL017
  371.                     Endif
  372.                     Goto LABEL014
  373.                 Endif
  374.                 :LABEL017
  375.                 If (STRING006 == ",") Then
  376.                     STRING004 = STRING004 + ", "
  377.                     INTEGER001 = INTEGER001 + 1
  378.                     STRING005 = Mid(STRING005, INTEGER001, Len(STRING005) - INTEGER001 + 1)
  379.                     If (Len(STRING005) == 0) Then
  380.                         GetToken STRING005
  381.                         If ((Len(STRING005) == 2) || ((Len(STRING005) == 3) && (Right(STRING005, 1) == "."))) Then
  382.                             STRING004 = STRING004 + STRING005
  383.                             Goto LABEL013
  384.                             Goto LABEL018
  385.                         Endif
  386.                         Goto LABEL014
  387.                         :LABEL018
  388.                         Goto LABEL020
  389.                     Endif
  390.                     If ((Len(STRING005) == 2) || ((Len(STRING005) == 3) && (Right(STRING005, 1) == "."))) Then
  391.                         STRING004 = STRING004 + STRING005
  392.                         Goto LABEL013
  393.                         Goto LABEL019
  394.                     Endif
  395.                     SearchFind STRING005, BOOLEAN001
  396.                     If (BOOLEAN001 == 1) Goto LABEL014
  397.                     If (BOOLEAN005 == 1) Then
  398.                         STRING004 = STRING004 + Mixed(STRING005)
  399.                         Goto LABEL019
  400.                     Endif
  401.                     STRING004 = STRING004 + STRING005
  402.                     :LABEL019
  403.                     Goto LABEL013
  404.                 Endif
  405.                 :LABEL020
  406.                 If (INTEGER001 == 1) Then
  407.                     STRING004 = STRING004 + STRING006
  408.                 ElseIf (BOOLEAN005 == 1) Then
  409.                     STRING004 = STRING004 + Lower(STRING006)
  410.                 Else
  411.                     STRING004 = STRING004 + STRING006
  412.                 Endif
  413.                 INTEGER001 = INTEGER001 + 1
  414.                 Goto LABEL016
  415.             Else
  416.                 If (BOOLEAN006 == 1) Then
  417.                     STRING004 = UN_City()
  418.                 Else
  419.                     STRING004 = U_City
  420.                 Endif
  421.                 If (BOOLEAN005 == 1) STRING004 = Mixed(STRING004)
  422.             Endif
  423.         Endif
  424.         Return
  425.     Endif
  426.     :LABEL021
  427.     End
  428.     :LABEL022
  429.     STRING025 = ""
  430.     For INTEGER004 = 1 To Len(INTEGER003) Step 2
  431.         STRING026 = Mid(INTEGER003, INTEGER004, 2)
  432.         If (Left(STRING026, 1) == "9") STRING026 = Right(STRING026, 1)
  433.         If (BOOLEAN002 == 1) Then
  434.             STRING025 = STRING025 + Chr(STRING026 + 64)
  435.             Continue
  436.         Endif
  437.         STRING025 = STRING025 + Chr(STRING026 + 96)
  438.     Next
  439.     BOOLEAN002 = 0
  440.     Return
  441.     STRING024 = " ■ MPS Encryption v1.2 ■ Step off Lamer! "
  442.  
  443. ;------------------------------------------------------------------------------
  444. ;
  445. ; Usage report (before postprocessing)
  446. ;
  447. ; ■ Statements used :
  448. ;
  449. ;    2       End
  450. ;    2       Cls
  451. ;    2       ClrEol
  452. ;    2       Wait
  453. ;    84      Goto 
  454. ;    140     Let 
  455. ;    28      Print 
  456. ;    9       PrintLn 
  457. ;    57      If 
  458. ;    1       Input 
  459. ;    1       FOpen 
  460. ;    1       FClose 
  461. ;    1       FGet 
  462. ;    18      Gosub 
  463. ;    7       Return
  464. ;    1       Delay 
  465. ;    7       Newline
  466. ;    2       Tokenize 
  467. ;    3       GetToken 
  468. ;    4       AnsiPos 
  469. ;    2       Backup 
  470. ;    1       KbdFlush
  471. ;    2       GetAltUser 
  472. ;    4       SearchInit 
  473. ;    6       SearchFind 
  474. ;    3       SearchStop
  475. ;    2       PrFound 
  476. ;    2       FReAltUser
  477. ;
  478. ;
  479. ; ■ Functions used :
  480. ;
  481. ;    84      +
  482. ;    9       -
  483. ;    63      ==
  484. ;    7       <>
  485. ;    5       <
  486. ;    5       <=
  487. ;    1       >
  488. ;    10      >=
  489. ;    37      !
  490. ;    22      &&
  491. ;    13      ||
  492. ;    15      Len(
  493. ;    3       Lower()
  494. ;    4       Upper()
  495. ;    3       Mid()
  496. ;    9       Left()
  497. ;    7       Right()
  498. ;    1       Ferr()
  499. ;    8       Chr()
  500. ;    2       Random()
  501. ;    7       U_Name()
  502. ;    2       U_LDate()
  503. ;    4       U_LTime()
  504. ;    2       U_Ful()
  505. ;    2       U_Fdl()
  506. ;    4       TimeAp()
  507. ;    1       Inkey()
  508. ;    3       PPEPath()
  509. ;    4       UN_City()
  510. ;    1       Exist()
  511. ;    5       Mixed()
  512. ;
  513. ;------------------------------------------------------------------------------
  514. ;
  515. ; Analysis flags : R
  516. ;
  517. ; R - Read user ■ 5
  518. ;     User records are read, this may signify that someone wants to get
  519. ;     various informations about a user (for example his password), but
  520. ;     this may also be normal for a program accessing user records (for
  521. ;     example a User Editor)
  522. ;     ■ Search for : GETALTUSER
  523. ;
  524. ;------------------------------------------------------------------------------
  525. ;
  526. ; Postprocessing report
  527. ;
  528. ;    5       For/Next
  529. ;    1       While/EndWhile
  530. ;    31      If/Then or If/Then/Else
  531. ;    0       Select Case
  532. ;
  533. ;------------------------------------------------------------------------------
  534. ;                 AEGiS Corp - Break the routines, code against the machines!
  535. ;------------------------------------------------------------------------------
  536.