home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / PIC_PLOG.ZIP / PCELOGON.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-12  |  9KB  |  464 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.     Integer  INTEGER001
  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.     String   STRING001
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.     String   STRING005
  38.     String   STRING006
  39.     String   STRING007
  40.     String   STRING008
  41.     String   STRING009
  42.     String   TSTRING010(16)
  43.     String   STRING011
  44.     String   STRING012
  45.     String   STRING013
  46.     String   STRING014
  47.     String   STRING015
  48.     String   STRING016
  49.     String   STRING017
  50.     String   STRING018
  51.     String   STRING019
  52.     String   STRING020
  53.     String   STRING021
  54.     String   STRING022
  55.     String   STRING023
  56.     String   STRING024
  57.     String   STRING025
  58.     String   STRING026
  59.     String   STRING027
  60.     String   STRING028
  61.     String   STRING029
  62.     String   STRING030
  63.     String   STRING031
  64.     String   STRING032
  65.     String   STRING033
  66.     String   STRING034
  67.     String   STRING035
  68.     String   STRING036
  69.     String   STRING037
  70.     String   STRING038
  71.     String   TSTRING039(16)
  72.     String   TSTRING040(15)
  73.     String   STRING041
  74.     String   STRING042
  75.     String   STRING043
  76.     String   STRING044
  77.     String   STRING045
  78.     String   STRING046
  79.     String   STRING047
  80.     String   STRING048
  81.     String   STRING049
  82.     String   STRING050
  83.     String   STRING051
  84.     String   STRING052
  85.  
  86. ;------------------------------------------------------------------------------
  87.  
  88.     FOpen 3, PPEPath() + "PCELOGON.CNF", 2, 0
  89.     FGet 3, STRING046
  90.     FGet 3, STRING049
  91.     FClose 3
  92.     FOpen 1, PPEPath() + "STRINGS.DAT", 2, 0
  93.     FGet 1, STRING047
  94.     FGet 1, STRING045
  95.     FGet 1, STRING042
  96.     If (Len(STRING042) == 0) STRING042 = "@X0F"
  97.     STRING042 = STRING042 + "_"
  98.     FGet 1, STRING043
  99.     If (Len(STRING043) == 0) STRING043 = "@X0CYou Fucking MORON!"
  100.     FGet 1, STRING041
  101.     If (Len(STRING041) == 0) STRING041 = "@X09Your Oneliner As been Added"
  102.     FGet 1, STRING050
  103.     FGet 1, STRING051
  104.     FClose 1
  105.     STRING046 = Upper(STRING046)
  106.     If (STRING046 == "YES") Then
  107.         InputStr STRING047, STRING048, 14, 1, "NnYy", 256 + 4096 + 2
  108.         STRING048 = Upper(STRING048)
  109.         If (STRING048 == "Y") Then
  110.             Goto LABEL012
  111.         Endif
  112.         If (STRING048 == "N") Goto LABEL001
  113.     Endif
  114.     :LABEL001
  115.     FOpen 1, PPEPath() + "LASTCALL.CNF", 2, 0
  116.     FGet 1, STRING022
  117.     FGet 1, STRING024
  118.     FGet 1, STRING023
  119.     FGet 1, STRING025
  120.     FGet 1, STRING026
  121.     FGet 1, INTEGER004
  122.     FGet 1, STRING012
  123.     FGet 1, STRING035
  124.     FGet 1, STRING027
  125.     FClose 1
  126.     STRING028 = ""
  127.     STRING018 = Chr(32)
  128.     STRING019 = ""
  129.     STRING021 = ""
  130.     STRING020 = ""
  131.     INTEGER009 = 10
  132.     INTEGER010 = 38
  133.     INTEGER011 = 70
  134.     Gosub LABEL002
  135.     GetUser
  136.     STRING013 = Mixed(U_Name())
  137.     If ((STRING013 == STRING027) || (STRING013 == "SYSOP")) Then
  138.         Goto LABEL005
  139.     Endif
  140.     STRING014 = Mixed(U_City)
  141.     STRING015 = Mixed(CallNum())
  142.     STRING011 = STRING022 + STRING015
  143.     INTEGER006 = INTEGER009 - Len(STRING011)
  144.     For INTEGER007 = 1 To INTEGER006
  145.         STRING019 = STRING019 + STRING018
  146.     Next
  147.     STRING016 = Date()
  148.     STRING011 = STRING011 + STRING019 + STRING024 + STRING013
  149.     INTEGER006 = INTEGER010 - Len(STRING011)
  150.     For INTEGER007 = 1 To INTEGER006
  151.         STRING020 = STRING020 + STRING018
  152.     Next
  153.     STRING011 = STRING011 + STRING020 + STRING023 + STRING014
  154.     INTEGER006 = INTEGER011 - Len(STRING011)
  155.     For INTEGER007 = 1 To INTEGER006
  156.         STRING021 = STRING021 + STRING018
  157.     Next
  158.     STRING017 = Time()
  159.     STRING011 = STRING011 + STRING021 + STRING025 + STRING016 + STRING018 + STRING018 + STRING026 + STRING017
  160.     TSTRING010(INTEGER008 + 1) = STRING011
  161.     INTEGER008 = INTEGER008 + 1
  162.     INTEGER005 = INTEGER008
  163.     FCreate 1, PPEPath() + "LASTCALLS.DAT", 2, 0
  164.     If (INTEGER008 >= INTEGER004) Then
  165.         INTEGER008 = 2
  166.         While (INTEGER008 <= INTEGER004) Do
  167.             FPutLn 1, TSTRING010(INTEGER008)
  168.             INTEGER008 = INTEGER008 + 1
  169.         EndWhile
  170.     ElseIf (INTEGER008 < INTEGER004) Then
  171.         INTEGER008 = 0
  172.         While (INTEGER008 <= INTEGER005) Do
  173.             If (Len(TSTRING010(INTEGER008)) > 0) Then
  174.                 FPutLn 1, TSTRING010(INTEGER008)
  175.             Endif
  176.             INTEGER008 = INTEGER008 + 1
  177.         EndWhile
  178.     Endif
  179.     FClose 1
  180.     Goto LABEL005
  181.     End
  182.     :LABEL002
  183.     If (Exist(PPEPath() + STRING012)) Then
  184.         DispFile PPEPath() + STRING012, 4 + 2 + 1
  185.     Else
  186.         PrintLn " "
  187.     Endif
  188.     FOpen 1, PPEPath() + "LASTCALLS.DAT", 2, 0
  189.     INTEGER008 = 0
  190.     :LABEL003
  191.     If (Ferr(1)) Goto LABEL004
  192.     FGet 1, STRING011
  193.     If (Len(STRING011) > 0) Then
  194.         INTEGER008 = INTEGER008 + 1
  195.         TSTRING010(INTEGER008) = STRING011
  196.         PrintLn TSTRING010(INTEGER008)
  197.     Endif
  198.     Goto LABEL003
  199.     :LABEL004
  200.     If (Exist(PPEPath() + STRING035)) Then
  201.         DispFile PPEPath() + STRING035, 4 + 2 + 1
  202.     Else
  203.         PrintLn " "
  204.     Endif
  205.     FClose 1
  206.     More
  207.     Return
  208.     :LABEL005
  209.     INTEGER014 = 0
  210.     TSTRING040(0) = ""
  211.     TSTRING040(1) = "@X01"
  212.     TSTRING040(2) = "@X02"
  213.     TSTRING040(3) = "@X03"
  214.     TSTRING040(4) = "@X04"
  215.     TSTRING040(5) = "@X05"
  216.     TSTRING040(6) = "@X06"
  217.     TSTRING040(7) = "@X07"
  218.     TSTRING040(8) = "@X08"
  219.     TSTRING040(9) = "@X09"
  220.     TSTRING040(10) = "@X0A"
  221.     TSTRING040(11) = "@X0B"
  222.     TSTRING040(12) = "@X0C"
  223.     TSTRING040(13) = "@X0D"
  224.     TSTRING040(14) = "@X0E"
  225.     TSTRING040(15) = "@X0F"
  226.     STRING044 = "1liner.hlp"
  227.     STRING030 = "1LINER.TOP"
  228.     STRING035 = "1LINER.BOT"
  229.     FOpen 1, PPEPath() + "1liner.cfg", 2, 0
  230.     FGet 1, INTEGER012
  231.     If ((INTEGER012 < 1) || (INTEGER012 > 16)) INTEGER012 = 16
  232.     FGet 1, STRING034
  233.     If (Len(STRING034) == 0) STRING034 = "@X05 -> @X07"
  234.     FGet 1, STRING038
  235.     If ((STRING038 <> "YES") && (STRING038 <> "yes")) Then
  236.         STRING037 = ""
  237.     Else
  238.         STRING037 = "@X07"
  239.     Endif
  240.     FGet 1, STRING031
  241.     FClose 1
  242.     GetUser
  243.     If (U_Sec < STRING031) Goto LABEL006
  244.     If (Exist(PPEPath() + STRING030)) Then
  245.         DispFile PPEPath() + STRING030, 4 + 2 + 1
  246.     Else
  247.         PrintLn "@CLS@@X0BOneliners v@X07.@X0F1 @X07Coded By @X0F Sticky Fingaz & HelioS"
  248.         PrintLn "@X08───────────────────────────────────────────────────────────────────────────────"
  249.     Endif
  250.     FOpen 1, PPEPath() + "1LINER.DAT", 2, 0
  251.     INTEGER013 = 1
  252.     While (!Ferr(1) && (INTEGER013 <= INTEGER012)) Do
  253.         If ((STRING038 <> "YES") && (STRING038 <> "yes")) Then
  254.             STRING036 = TSTRING040(0)
  255.         Else
  256.             STRING036 = TSTRING040(Random(14) + 1)
  257.         Endif
  258.         FGet 1, STRING032
  259.         TSTRING039(INTEGER013) = STRING032
  260.         If (Len(STRING032) > 0) Then
  261.             PrintLn STRING034 + STRING036 + TSTRING039(INTEGER013) + STRING037
  262.         Endif
  263.         INTEGER013 = INTEGER013 + 1
  264.     EndWhile
  265.     If (Exist(PPEPath() + STRING035)) Then
  266.         DispFile PPEPath() + STRING035, 4 + 2 + 1
  267.     Else
  268.         PrintLn " "
  269.     Endif
  270.     FClose 1
  271.     STRING029 = "N"
  272.     InputStr STRING045, STRING029, 14, 1, "NnYy", 256 + 4096 + 2
  273.     STRING029 = Upper(STRING029)
  274.     If (STRING029 == "N") Goto LABEL007
  275.     INTEGER014 = 0
  276.     If (STRING029 == "Y") Newline
  277.     DispFile PPEPath() + "ENTER.PCB", 1
  278.     InputStr STRING042, STRING033, 14, 75, Mask_Ascii(), 256
  279.     If (STRING033 == "") Then
  280.         Newline
  281.         Print STRING043
  282.         Newline
  283.         Goto LABEL007
  284.         End
  285.     Endif
  286.     FCreate 1, PPEPath() + "1LINER.DAT", 2, 0
  287.     If (INTEGER013 >= INTEGER012) Then
  288.         INTEGER013 = 1
  289.         While ((Len(TSTRING039(INTEGER013 + 1)) > 0) && (INTEGER013 <= INTEGER012)) Do
  290.             FPutLn 1, TSTRING039(INTEGER013 + 1)
  291.             INTEGER013 = INTEGER013 + 1
  292.         EndWhile
  293.     Endif
  294.     FPutLn 1, STRING033
  295.     FClose 1
  296.     PrintLn "@CLREOL@"
  297.     Print STRING041
  298.     Goto LABEL007
  299.     Log "", 0
  300.     :LABEL006
  301.     :LABEL007
  302.     ClrEol
  303.     If (Exist(PPEPath() + "Uploads.pcb")) DispFile PPEPath() + "Uploads.pcb", 1
  304.     STRING049 = Upper(STRING049)
  305.     If (STRING049 == "YES") Then
  306.         Goto LABEL008
  307.     Endif
  308.     Goto LABEL011
  309.     End
  310.     :LABEL008
  311.     FOpen 1, PPEPath() + "Whosnew.Cnf", 2, 0
  312.     FGet 1, INTEGER001
  313.     FGet 1, STRING004
  314.     FGet 1, STRING005
  315.     FGet 1, STRING006
  316.     FClose 1
  317.     Newline
  318.     PrintLn STRING050
  319.     INTEGER002 = 1
  320.     INTEGER003 = 0
  321.     STRING002 = " "
  322.     FCreate 1, PPEPath() + "WHOSNEW.DAT", 2, 0
  323.     GetUser
  324.     STRING003 = U_Name()
  325.     :LABEL009
  326.     Inc INTEGER003
  327.     While (STRING002 <> "") Do
  328.         GetAltUser INTEGER002
  329.         Inc INTEGER002
  330.         STRING002 = U_Name()
  331.         If (INTEGER003 == 3) Break
  332.         If (STRING002 == STRING003) Goto LABEL009
  333.         If ((U_Sec <= INTEGER001) && (U_Sec <> 0)) Gosub LABEL010
  334.     EndWhile
  335.     FClose 1
  336.     FOpen 2, PPEPath() + "whosnew.dat", 2, 0
  337.     FGet 2, STRING052
  338.     FClose 2
  339.     If (STRING052 == "") Then
  340.         PrintLn STRING051
  341.     Else
  342.         Newline
  343.         DispFile PPEPath() + "WHOSNEW.TOP", 1
  344.         If (Exist(PPEPath() + "WHOSNEW.DAT")) DispFile PPEPath() + "WHOSNEW.DAT", 1
  345.         DispFile PPEPath() + "WHOSNEW.BOT", 1
  346.         FreshLine
  347.         Wait
  348.         Goto LABEL011
  349.         End
  350.         :LABEL010
  351.         STRING001 = ""
  352.         STRING001 = INTEGER002 - 1
  353.         FPutLn 1, STRING004 + "@POS:1@" + STRING001 + "@POS:12@" + STRING005 + Mixed(U_Name()) + "@POS:38@" + STRING006 + Mixed(U_City)
  354.         Return
  355.     Endif
  356.     :LABEL011
  357.     FOpen 2, PPEPath() + "colors.dat", 2, 0
  358.     FGet 2, STRING007
  359.     FGet 2, STRING008
  360.     FGet 2, STRING009
  361.     FClose 2
  362.     Newline
  363.     PrintLn STRING007 + "Caller Num." + STRING008 + ": " + STRING009 + "@NUMCALLS@"
  364.     PrintLn STRING007 + "Lst Date on" + STRING008 + ": " + STRING009 + "@LASTDATEON@"
  365.     PrintLn STRING007 + "Security Lv" + STRING008 + ": " + STRING009 + "@SECURITY@"
  366.     PrintLn STRING007 + "# times on " + STRING008 + ": " + STRING009 + "@NUMTIMESON@"
  367.     PrintLn STRING007 + "Ratio DL/UL" + STRING008 + ": " + STRING009 + "@FILERATIO@"
  368.     PrintLn STRING007 + "# Downloads" + STRING008 + ": " + STRING009 + "@DLFILES@"
  369.     PrintLn STRING007 + "# Uploads  " + STRING008 + ": " + STRING009 + "@UPFILES@"
  370.     PrintLn STRING007 + "Bytes DL'd " + STRING008 + ": " + STRING009 + "@DLBYTES@"
  371.     PrintLn STRING007 + "Bytes UL'd " + STRING008 + ": " + STRING009 + "@UPBYTES@"
  372.     PrintLn STRING007 + "Online Baud" + STRING008 + ": " + STRING009 + "@BPS@"
  373.     PrintLn STRING007 + "Bytes Avail" + STRING008 + ": " + STRING009 + "@BYTESLEFT@"
  374.     PrintLn STRING007 + "Last Caller" + STRING008 + ": " + STRING009 + "@LASTCALLERSYSTEM@"
  375.     PrintLn STRING007 + "System time" + STRING008 + ": " + STRING009 + "@SYSTIME@"
  376.     PrintLn STRING007 + "System Date" + STRING008 + ": " + STRING009 + "@SYSDATE@"
  377.     Newline
  378.     End
  379.     :LABEL012
  380.     End
  381.  
  382. ;------------------------------------------------------------------------------
  383. ;
  384. ; Usage report (before postprocessing)
  385. ;
  386. ; ■ Statements used :
  387. ;
  388. ;    6       End
  389. ;    1       ClrEol
  390. ;    1       More
  391. ;    1       Wait
  392. ;    58      Goto 
  393. ;    87      Let 
  394. ;    2       Print 
  395. ;    24      PrintLn 
  396. ;    41      If 
  397. ;    9       DispFile 
  398. ;    3       FCreate 
  399. ;    9       FOpen 
  400. ;    12      FClose 
  401. ;    32      FGet 
  402. ;    5       FPutLn 
  403. ;    3       GetUser
  404. ;    1       Log 
  405. ;    3       InputStr 
  406. ;    2       Gosub 
  407. ;    2       Return
  408. ;    2       Inc 
  409. ;    7       Newline
  410. ;    1       FreshLine
  411. ;    1       GetAltUser 
  412. ;
  413. ;
  414. ; ■ Functions used :
  415. ;
  416. ;    151     +
  417. ;    4       -
  418. ;    16      ==
  419. ;    6       <>
  420. ;    6       <
  421. ;    8       <=
  422. ;    5       >
  423. ;    8       >=
  424. ;    28      !
  425. ;    11      &&
  426. ;    5       ||
  427. ;    11      Len(
  428. ;    4       Upper()
  429. ;    2       Ferr()
  430. ;    1       Chr()
  431. ;    1       Random()
  432. ;    1       Date()
  433. ;    1       Time()
  434. ;    4       U_Name()
  435. ;    1       Mask_Ascii()
  436. ;    27      PPEPath()
  437. ;    6       Exist()
  438. ;    1       CallNum()
  439. ;    5       Mixed()
  440. ;
  441. ;------------------------------------------------------------------------------
  442. ;
  443. ; Analysis flags : R
  444. ;
  445. ; R - Read user ■ 5
  446. ;     User records are read, this may signify that someone wants to get
  447. ;     various informations about a user (for example his password), but
  448. ;     this may also be normal for a program accessing user records (for
  449. ;     example a User Editor)
  450. ;     ■ Search for : GETALTUSER
  451. ;
  452. ;------------------------------------------------------------------------------
  453. ;
  454. ; Postprocessing report
  455. ;
  456. ;    3       For/Next
  457. ;    5       While/EndWhile
  458. ;    18      If/Then or If/Then/Else
  459. ;    0       Select Case
  460. ;
  461. ;------------------------------------------------------------------------------
  462. ;                 AEGiS Corp - Break the routines, code against the machines!
  463. ;------------------------------------------------------------------------------
  464.