home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 005 / cw_hh_36.zip / HOWHEARD.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-30  |  9KB  |  398 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     DATE002
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     Integer  INTEGER015
  34.     Integer  INTEGER016
  35.     Integer  INTEGER017
  36.     Integer  INTEGER018
  37.     Integer  INTEGER019
  38.     Integer  INTEGER020
  39.     Integer  INTEGER021
  40.     Integer  INTEGER022
  41.     Integer  INTEGER023
  42.     Integer  INTEGER024
  43.     Integer  INTEGER025
  44.     Integer  INTEGER026
  45.     String   STRING002
  46.     String   STRING003
  47.     String   STRING004
  48.     String   STRING005
  49.     String   STRING006
  50.     String   STRING007
  51.     String   STRING008
  52.     String   STRING009
  53.     String   STRING010
  54.     String   STRING011
  55.     String   STRING012
  56.     String   STRING013
  57.     String   STRING014
  58.     String   STRING015
  59.     String   STRING016
  60.     String   STRING017
  61.     String   STRING018
  62.     String   STRING019
  63.     String   STRING020
  64.     String   STRING021
  65.     String   STRING022
  66.     String   STRING023
  67.     String   STRING024
  68.     String   STRING025
  69.     String   STRING026
  70.     String   STRING027
  71.     String   STRING028
  72.     String   STRING029
  73.  
  74. ;------------------------------------------------------------------------------
  75.  
  76.     If (INTEGER020 == 1) Then
  77.         INTEGER020 = "CRW"
  78.         Beep
  79.     Endif
  80.     INTEGER021 = 36
  81.     STRING019 = PPEPath() + PPEName() + ".CNF"
  82.     STRING027 = 58053
  83.     STRING025 = "N"
  84.     STRING028 = "U" + "n" + "r" + "e" + "g" + "i" + "s" + "t" + "e" + "r" + "e" + "d"
  85.     If (PPEName() == "SUBSCRIP") STRING026 = 46554
  86.     If (PPEName() == "FONE-VER") STRING026 = 34479
  87.     If (PPEName() == "PRO-VOTE") STRING026 = 57877
  88.     If (PPEName() == "CONFMENU") STRING026 = 27062
  89.     If (PPEName() == "FILEMENU") STRING026 = 14513
  90.     If (PPEName() == "MAINMENU") STRING026 = 25781
  91.     If (PPEName() == "DOORMENU") STRING026 = 44910
  92.     If (PPEName() == "AUTOPOST") STRING026 = 61482
  93.     If (PPEName() == "BBSLISTR") STRING026 = 11832
  94.     If (PPEName() == "REMINDME") STRING026 = 54925
  95.     If (PPEName() == "TIMEZONE") STRING026 = 38318
  96.     If (PPEName() == "USERNEWS") STRING026 = 31171
  97.     If (PPEName() == "MSGQUEST") STRING026 = 50024
  98.     If (PPEName() == "BIRTHDAY") STRING026 = 19645
  99.     If (PPEName() == "HOWHEARD") STRING026 = 42868
  100.     If (PPEName() == "WELCOMAT") STRING026 = 23034
  101.     If (Exist(STRING019)) Then
  102.         FOpen 1, STRING019, 0, 0
  103.         FGet 1, STRING014
  104.         FGet 1, INTEGER024
  105.         FGet 1, INTEGER023
  106.         FClose 1
  107.     Else
  108.         Select Case (PPEName())
  109.             Case "MAINT"
  110.                 STRING019 = PPEPath() + "PRO-VOTE.CNF"
  111.             Case "CMW"
  112.                 STRING019 = PPEPath() + "CONFMENU.CNF"
  113.             Case "INTELAPP"
  114.                 STRING019 = PPEPath() + "INTELEC.CNF"
  115.             Case Else
  116.                 PrintLn "@X0CError - Config file not found - Please notify SysOp"
  117.                 End
  118.             Endif
  119.     End Select
  120.     Tokenize STRING014
  121.     GetToken STRING023
  122.     GetToken STRING024
  123.     If (INTEGER024 == 0) Then
  124.         STRING025 = "N"
  125.         Goto LABEL003
  126.     Else
  127.         Goto LABEL001
  128.     Endif
  129.     :LABEL001
  130.     STRING020 = Left(STRING023, 1)
  131.     STRING021 = Left(STRING024, 2)
  132.     STRING022 = STRING020 + STRING021
  133.     If (STRING020 == "A") INTEGER025 = 8408
  134.     If (STRING020 == "B") INTEGER025 = 9119
  135.     If (STRING020 == "C") INTEGER025 = 6619
  136.     If (STRING020 == "D") INTEGER025 = 4820
  137.     If (STRING020 == "E") INTEGER025 = 7325
  138.     If (STRING020 == "F") INTEGER025 = 2928
  139.     If (STRING020 == "G") INTEGER025 = 2031
  140.     If (STRING020 == "H") INTEGER025 = 1934
  141.     If (STRING020 == "I") INTEGER025 = 5534
  142.     If (STRING020 == "J") INTEGER025 = 4737
  143.     If (STRING020 == "K") INTEGER025 = 9242
  144.     If (STRING020 == "L") INTEGER025 = 3743
  145.     If (STRING020 == "M") INTEGER025 = 6546
  146.     If (STRING020 == "N") INTEGER025 = 8355
  147.     If (STRING020 == "O") INTEGER025 = 2859
  148.     If (STRING020 == "P") INTEGER025 = 4660
  149.     If (STRING020 == "Q") INTEGER025 = 7463
  150.     If (STRING020 == "R") INTEGER025 = 1164
  151.     If (STRING020 == "S") INTEGER025 = 6471
  152.     If (STRING020 == "T") INTEGER025 = 3973
  153.     If (STRING020 == "U") INTEGER025 = 5674
  154.     If (STRING020 == "V") INTEGER025 = 5782
  155.     If (STRING020 == "W") INTEGER025 = 3885
  156.     If (STRING020 == "X") INTEGER025 = 8287
  157.     If (STRING020 == "Y") INTEGER025 = 7591
  158.     If (STRING020 == "Z") INTEGER025 = 1096
  159.     INTEGER022 = S2I(STRING022, INTEGER021) + INTEGER024 + STRING026 + INTEGER025
  160.     INTEGER026 = S2I(STRING022, INTEGER021) + INTEGER024 + STRING027 + INTEGER025
  161.     If (INTEGER023 == INTEGER022) Goto LABEL002
  162.     If (INTEGER023 == INTEGER026) Goto LABEL002
  163.     Goto LABEL013
  164.     :LABEL002
  165.     STRING025 = "Y"
  166.     If (Len(INTEGER024) == 1) STRING016 = "000"
  167.     If (Len(INTEGER024) == 2) STRING016 = "00"
  168.     If (Len(INTEGER024) == 3) STRING016 = "0"
  169.     If (Len(INTEGER024) == 4) STRING016 = ""
  170.     STRING017 = INTEGER024
  171.     STRING018 = STRING016 + STRING017
  172.     STRING015 = Space(30 - Len(STRING014))
  173.     :LABEL003
  174.     STRING029 = "CRW"
  175.     STRING012 = "3.6 "
  176.     STRING013 = PPEPath() + "PROMPTS.HH"
  177.     If (GrafMode() == "R") STRING013 = PPEPath() + "PROMPTS.HHR"
  178.     If (STRING025 == "N") STRING009 = "@X0BHowHeard v" + STRING012 + " # " + "@X0C" + STRING028 + "@X0B" + " ■ " + STRING014 + " ■ "
  179.     If (STRING025 == "Y") STRING009 = "@X0BHowHeard v" + STRING012 + " #@X0F" + STRING018 + "@X0B ■ " + STRING014 + " ■ "
  180.     FOpen 1, STRING019, 0, 0
  181.     FGet 1, STRING011
  182.     FGet 1, STRING011
  183.     FGet 1, STRING011
  184.     FGet 1, STRING007
  185.     FGet 1, STRING008
  186.     FGet 1, INTEGER018
  187.     FGet 1, INTEGER007
  188.     FGet 1, STRING002
  189.     FGet 1, INTEGER013
  190.     FGet 1, INTEGER002
  191.     FGet 1, INTEGER008
  192.     FGet 1, STRING003
  193.     FGet 1, INTEGER014
  194.     FGet 1, INTEGER003
  195.     FGet 1, INTEGER009
  196.     FGet 1, STRING004
  197.     FGet 1, INTEGER015
  198.     FGet 1, INTEGER004
  199.     FGet 1, INTEGER010
  200.     FGet 1, STRING005
  201.     FGet 1, INTEGER016
  202.     FGet 1, INTEGER005
  203.     FGet 1, INTEGER011
  204.     FGet 1, STRING006
  205.     FGet 1, INTEGER017
  206.     FGet 1, INTEGER006
  207.     FGet 1, INTEGER012
  208.     FClose 1
  209.     INTEGER019 = 0
  210.     If (STRING002 == "Other") INTEGER019 = 1
  211.     If (STRING003 == "Other") INTEGER019 = 2
  212.     If (STRING004 == "Other") INTEGER019 = 3
  213.     If (STRING005 == "Other") INTEGER019 = 4
  214.     If (STRING006 == "Other") INTEGER019 = 5
  215.     INTEGER018 = INTEGER018 - 1
  216.     GetUser
  217.     :LABEL004
  218.     Cls
  219.     STRING010 = " "
  220.     DispFile STRING007, 4 + 2 + 1
  221.     InputStr ReadLine(STRING013, 1), STRING010, 14, 1, "12345", 10
  222.     PrintLn 
  223.     If (STRING010 == "1") Goto LABEL005
  224.     If (STRING010 == "2") Goto LABEL006
  225.     If (STRING010 == "3") Goto LABEL007
  226.     If (STRING010 == "4") Goto LABEL008
  227.     If (STRING010 == "5") Goto LABEL009
  228.     If (STRING010 == " ") Goto LABEL012
  229.     If (STRING010 == "") Goto LABEL012
  230.     :LABEL005
  231.     If (INTEGER019 == 1) Goto LABEL011
  232.     PrintLn 
  233.     U_Notes(INTEGER018) = STRING002
  234.     If (!(INTEGER013 == "")) U_Sec = INTEGER013
  235.     If (!(INTEGER008 == "")) ConfFlag INTEGER008, 1
  236.     If (INTEGER002 == "0") DATE002 = 0 - 0 - 0
  237.     If (!(INTEGER002 == "") && !(INTEGER002 == 0)) DATE002 = Date() + INTEGER002
  238.     U_ExpDate = DATE002
  239.     Goto LABEL012
  240.     :LABEL006
  241.     If (INTEGER019 == 2) Goto LABEL011
  242.     PrintLn 
  243.     If (INTEGER007 < 2) Goto LABEL010
  244.     U_Notes(INTEGER018) = STRING003
  245.     If (!(INTEGER014 == "")) U_Sec = INTEGER014
  246.     If (!(INTEGER009 == "")) ConfFlag INTEGER009, 1
  247.     If (INTEGER003 == "0") DATE002 = 0 - 0 - 0
  248.     If (!(INTEGER003 == "") && !(INTEGER003 == 0)) DATE002 = Date() + INTEGER003
  249.     U_ExpDate = DATE002
  250.     Goto LABEL012
  251.     :LABEL007
  252.     If (INTEGER019 == 3) Goto LABEL011
  253.     PrintLn 
  254.     If (INTEGER007 < 3) Goto LABEL010
  255.     U_Notes(INTEGER018) = STRING004
  256.     If (!(INTEGER015 == "")) U_Sec = INTEGER015
  257.     If (!(INTEGER010 == "")) ConfFlag INTEGER010, 1
  258.     If (INTEGER004 == "0") DATE002 = 0 - 0 - 0
  259.     If (!(INTEGER004 == "") && !(INTEGER004 == 0)) DATE002 = Date() + INTEGER004
  260.     U_ExpDate = DATE002
  261.     Goto LABEL012
  262.     :LABEL008
  263.     If (INTEGER019 == 4) Goto LABEL011
  264.     PrintLn 
  265.     If (INTEGER007 < 4) Goto LABEL010
  266.     U_Notes(INTEGER018) = STRING005
  267.     If (!(INTEGER016 == "")) U_Sec = INTEGER016
  268.     If (!(INTEGER011 == "")) ConfFlag INTEGER011, 1
  269.     If (INTEGER005 == "0") DATE002 = 0 - 0 - 0
  270.     If (!(INTEGER005 == "") && !(INTEGER005 == 0)) DATE002 = Date() + INTEGER005
  271.     U_ExpDate = DATE002
  272.     Goto LABEL012
  273.     :LABEL009
  274.     If (INTEGER019 == 5) Goto LABEL011
  275.     PrintLn 
  276.     If (INTEGER007 < 5) Goto LABEL010
  277.     U_Notes(INTEGER018) = STRING006
  278.     If (!(INTEGER017 == "")) U_Sec = INTEGER017
  279.     If (!(INTEGER012 == "")) ConfFlag INTEGER012, 1
  280.     If (INTEGER006 == "0") DATE002 = 0 - 0 - 0
  281.     If (!(INTEGER006 == "") && !(INTEGER006 == 0)) DATE002 = Date() + INTEGER006
  282.     U_ExpDate = DATE002
  283.     Goto LABEL012
  284.     :LABEL010
  285.     PrintLn 
  286.     PrintLn ReadLine(STRING013, 2)
  287.     PrintLn 
  288.     Delay 50
  289.     Goto LABEL004
  290.     :LABEL011
  291.     STRING010 = ""
  292.     Cls
  293.     DispFile STRING008, 4 + 2 + 1
  294.     InputStr "", STRING010, 11, 60, Mask_Alpha() + Mask_Num() + Mask_Ascii(), 2
  295.     If (Len(STRING010) < 1) Then
  296.         Cls
  297.         PrintLn ReadLine(STRING013, 3)
  298.         Delay 36
  299.         Goto LABEL011
  300.     Else
  301.         U_Notes(INTEGER018) = STRING010
  302.         PrintLn 
  303.         Goto LABEL012
  304.     Endif
  305.     :LABEL012
  306.     PutUser
  307.     PrintLn STRING009
  308.     Delay 45
  309.     End
  310.     :LABEL013
  311.     Cls
  312.     PrintLn 
  313.     PrintLn "                       @X5D┌──────────────────────────────@X50┐@X07"
  314.     PrintLn "                       @X5D│        @X5AHowHeard  v", STRING012, "       @X50│@X07"
  315.     PrintLn "                       @X5D│                              @X50│@X07"
  316.     PrintLn "                       @X5D│      @X5BAborting Operation      @X50│@X07"
  317.     PrintLn "                       @X5D│                              @X50│@X07"
  318.     PrintLn "                       @X5D│  @X5BInvalid Registration Code!  @X50│@X07"
  319.     PrintLn "                       @X5D└@X50──────────────────────────────┘@X07"
  320.     Beep
  321.     Delay 182
  322.     End
  323.  
  324. ;------------------------------------------------------------------------------
  325. ;
  326. ; Usage report (before postprocessing)
  327. ;
  328. ; ■ Statements used :
  329. ;
  330. ;    3       End
  331. ;    4       Cls
  332. ;    42      Goto 
  333. ;    106     Let 
  334. ;    21      PrintLn 
  335. ;    99      If 
  336. ;    5       ConfFlag 
  337. ;    2       DispFile 
  338. ;    2       FOpen 
  339. ;    2       FClose 
  340. ;    30      FGet 
  341. ;    1       GetUser
  342. ;    1       PutUser
  343. ;    2       InputStr 
  344. ;    4       Delay 
  345. ;    1       Tokenize 
  346. ;    2       GetToken 
  347. ;    2       Beep
  348. ;
  349. ;
  350. ; ■ Functions used :
  351. ;
  352. ;    51      +
  353. ;    12      -
  354. ;    98      ==
  355. ;    5       <
  356. ;    27      !
  357. ;    5       &&
  358. ;    6       Len(
  359. ;    2       Left()
  360. ;    1       Space()
  361. ;    5       Date()
  362. ;    1       Mask_Alpha()
  363. ;    1       Mask_Num()
  364. ;    1       Mask_Ascii()
  365. ;    6       PPEPath()
  366. ;    3       ReadLine()
  367. ;    1       Exist()
  368. ;    2       S2I()
  369. ;    1       GrafMode()
  370. ;    20      PPEName()
  371. ;
  372. ;------------------------------------------------------------------------------
  373. ;
  374. ; Analysis flags : FW
  375. ;
  376. ; F - Change conference flags status ■ 2
  377. ;     This may be normal for a SELECT replacement but it may also be
  378. ;     a way to get access to conferences a user is not allowed to.
  379. ;     ■ Search for : CONFFLAG, CONFUNFLAG
  380. ;
  381. ; W - Write user ■ 5
  382. ;     Program writes a user record. Although this may be normal for a
  383. ;     User Editor, it may also be a way to modify an account level.
  384. ;     ■ Search for : PUTUSER
  385. ;
  386. ;------------------------------------------------------------------------------
  387. ;
  388. ; Postprocessing report
  389. ;
  390. ;    0       For/Next
  391. ;    0       While/EndWhile
  392. ;    4       If/Then or If/Then/Else
  393. ;    1       Select Case
  394. ;
  395. ;------------------------------------------------------------------------------
  396. ;                 AEGiS Corp - Break the routines, code against the machines!
  397. ;------------------------------------------------------------------------------
  398.