home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / both_20.zip / BOTHALL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-11  |  8KB  |  432 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.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     String   STRING006
  30.     String   STRING007
  31.     String   STRING008
  32.     String   STRING009
  33.     String   STRING010
  34.     String   STRING011
  35.     String   STRING012
  36.     String   STRING013
  37.     String   STRING014
  38.     String   STRING015
  39.     String   STRING016
  40.     String   STRING017
  41.     String   STRING018
  42.     String   STRING019
  43.     String   STRING020
  44.     String   STRING021
  45.     String   STRING022
  46.     String   STRING023
  47.     String   STRING024
  48.     String   STRING025
  49.     String   STRING026
  50.     String   STRING027
  51.     String   STRING028
  52.     String   STRING029
  53.     String   STRING030
  54.     String   STRING031
  55.     String   STRING032
  56.     String   STRING033
  57.     String   STRING034
  58.     String   STRING035
  59.     String   STRING036
  60.     String   STRING037
  61.     String   STRING038
  62.     String   STRING039
  63.     String   STRING040
  64.     String   STRING041
  65.     String   STRING042
  66.     String   STRING043
  67.     String   STRING044
  68.     String   STRING045
  69.     String   STRING046
  70.     String   STRING047
  71.     String   STRING048
  72.     String   STRING049
  73.     String   STRING050
  74.     String   STRING051
  75.     String   STRING052
  76.     String   STRING053
  77.     String   STRING054
  78.     String   STRING055
  79.     String   STRING056
  80.     String   STRING057
  81.     String   STRING058
  82.     String   STRING059
  83.     String   STRING060
  84.     String   STRING061
  85.     String   STRING062
  86.     String   STRING063
  87.     String   STRING064
  88.  
  89. ;------------------------------------------------------------------------------
  90.  
  91.     STRING024 = PPEPath() + "LASTCALL.TMP"
  92.     STRING019 = PPEPath() + "ALLCALL.TMP"
  93.     STRING022 = PPEPath() + "LASTSTAT.TMP"
  94.     STRING023 = PPEPath() + "ALLSTAT.TMP"
  95.     STRING036 = PPEPath() + PPEName() + ".CFG"
  96.     STRING031 = "Sysop"
  97.     STRING032 = ""
  98.     STRING033 = ""
  99.     STRING034 = ""
  100.     STRING035 = ""
  101.     STRING055 = "@X07"
  102.     STRING014 = Space(1)
  103.     STRING015 = Space(2)
  104.     INTEGER001 = 0
  105.     INTEGER002 = 0
  106.     INTEGER003 = 20
  107.     INTEGER004 = 500
  108.     STRING038 = "║"
  109.     STRING037 = "║"
  110.     STRING039 = "╔═════════════════════════════════════════════════════════════════════════════╗"
  111.     STRING040 = "╠═════════════════════════════════════════════════════════════════════════════╣"
  112.     STRING020 = "╚═════════════════════════════════════════════════════════════════════════════╝"
  113.     STRING030 = "@X0E@MORE@"
  114.     GetUser
  115.     Log "Minutes Used: " + String(MinOn()), 0
  116.     Newline
  117.     PrintLn "@X0ERunning BOTHALL.PPE v2.0 @X0A(c) Copyright 1994 @X0Bby A. Segura@X07"
  118.     Newlines 2
  119.     PrintLn "@X0CMinutes Used: " + String(MinOn())
  120.     Newlines 2
  121.     PrintLn "@X0AThanks for calling, @X0B@FIRST@!@X07"
  122.     Newline
  123.     If (Exist(STRING036)) Then
  124.         FOpen 1, STRING036, 0, 0
  125.         Newline
  126.         SPrintLn "... Loading CFG Records ... (BOTHALL.PPE)."
  127.         Newline
  128.         FGet 1, STRING001
  129.         FGet 1, INTEGER003
  130.         FGet 1, INTEGER004
  131.         FGet 1, STRING031
  132.         FGet 1, STRING032
  133.         FGet 1, STRING033
  134.         FGet 1, STRING034
  135.         FGet 1, STRING035
  136.         FGet 1, INTEGER005
  137.         FGet 1, STRING043
  138.         STRING043 = Left(STRING043, 4)
  139.         FGet 1, STRING044
  140.         STRING044 = Left(STRING044, 4)
  141.         FGet 1, STRING045
  142.         STRING045 = Left(STRING045, 4)
  143.         FGet 1, STRING046
  144.         STRING046 = Left(STRING046, 4)
  145.         FGet 1, STRING047
  146.         STRING047 = Left(STRING047, 4)
  147.         FGet 1, STRING048
  148.         STRING048 = Left(STRING048, 4)
  149.         FGet 1, STRING049
  150.         STRING049 = Left(STRING049, 4)
  151.         FGet 1, STRING050
  152.         STRING050 = Left(STRING050, 4)
  153.         FGet 1, STRING051
  154.         STRING051 = Left(STRING051, 4)
  155.         FGet 1, STRING052
  156.         STRING052 = Left(STRING052, 4)
  157.         FGet 1, STRING053
  158.         STRING053 = Left(STRING053, 4)
  159.         FGet 1, STRING054
  160.         STRING054 = Left(STRING054, 4)
  161.         FGet 1, STRING056
  162.         STRING056 = Left(STRING056, 4)
  163.         FGet 1, STRING057
  164.         STRING057 = Left(STRING057, 4)
  165.         FGet 1, STRING058
  166.         STRING058 = Left(STRING058, 4)
  167.         FGet 1, STRING059
  168.         STRING059 = Left(STRING059, 4)
  169.         FGet 1, STRING060
  170.         STRING060 = Left(STRING060, 4)
  171.         FGet 1, STRING061
  172.         STRING061 = Left(STRING061, 4)
  173.         FGet 1, STRING062
  174.         STRING062 = Left(STRING062, 4)
  175.         FGet 1, STRING063
  176.         STRING063 = Left(STRING063, 4)
  177.         FGet 1, STRING064
  178.         STRING064 = Left(STRING064, 4)
  179.         FGet 1, STRING041
  180.         FClose 1
  181.     Else
  182.         PrintLn "Tell SysOp BOTHALL.CFG file is missing! (BOTHALL.PPE)."
  183.         Log "BOTHALL.CFG missing, shifting to defaults!", 1
  184.         Newline
  185.     Endif
  186.     If (CurSec() == 0) Goto LABEL007
  187.     STRING018 = Mixed(U_Name())
  188.     If (STRING018 == Mixed(STRING031)) Goto LABEL007
  189.     If (STRING018 == Mixed(STRING032)) Goto LABEL007
  190.     If (STRING018 == Mixed(STRING033)) Goto LABEL007
  191.     If (STRING018 == Mixed(STRING034)) Goto LABEL007
  192.     If (STRING018 == Mixed(STRING035)) Goto LABEL007
  193.     KbdChkOff
  194.     CdChkOff
  195.     DtrOff
  196.     Delay 18
  197.     DtrOn
  198.     If ((INTEGER005 < 0) || (INTEGER005 > 500)) INTEGER005 = 500
  199.     If (INTEGER005 <> 500) Then
  200.         STRING025 = PPEPath() + "ACALL" + String(INTEGER005)
  201.         STRING002 = PPEPath() + "ASTAT" + String(INTEGER005)
  202.     Else
  203.         STRING025 = PPEPath() + "ACALL"
  204.         STRING002 = PPEPath() + "ASTAT"
  205.     Endif
  206.     If (STRING041 == "ARS9933MS") Then
  207.         STRING042 = "@X0D..........BOTHALL.PPE v2.0 @X0A(c) COPYRIGHT 1994 @X0Bby Al Segura @X0AREGISTERED@X0D..........@X07"
  208.     Else
  209.         STRING042 = "@X0D.........BOTHALL.PPE v2.0 @X0A(c) COPYRIGHT 1994 @X0Bby Al Segura @X0CUNREGISTERED@X0D.........@X07"
  210.     Endif
  211.     STRING003 = STRING049 + Left(STRING018, 20) + STRING014
  212.     STRING008 = STRING054 + Right(String(U_Logons()), 3) + STRING014
  213.     STRING009 = STRING056 + Left(String(U_LDate()), 5)
  214.     STRING011 = STRING046 + Left(String(Date()), 5) + STRING014
  215.     STRING004 = STRING057 + Right(String(U_Ful()), 3) + STRING014
  216.     STRING005 = STRING058 + Right(String(U_Fdl()), 3) + STRING014
  217.     STRING006 = STRING059 + Right(String(U_MsgRd()), 5) + STRING014
  218.     STRING007 = STRING060 + Right(String(U_MsgWr()), 3) + STRING015
  219.     STRING012 = STRING061 + Right(String(U_Stat(4)), 3) + STRING014
  220.     STRING013 = STRING062 + Right(String(U_Stat(10)), 3) + STRING015
  221.     STRING016 = STRING063 + Right(String(U_Stat(14)), 3) + STRING014
  222.     STRING017 = STRING064 + Right(String(U_Stat(12)), 3)
  223.     STRING029 = STRING047 + Left(String(Time()), 5) + STRING014
  224.     If (U_Sec < INTEGER003) STRING010 = STRING051 + Right(String(U_Sec), 3) + STRING015
  225.     If (U_Sec >= INTEGER003) STRING010 = STRING052 + Right(String(U_Sec), 3) + STRING015
  226.     STRING021 = STRING011 + STRING029 + STRING003 + STRING010 + STRING008 + STRING005 + STRING004 + STRING006 + STRING007 + STRING012 + STRING013 + STRING016 + STRING017
  227.     FCreate 1, STRING022, 2, 0
  228.     FPutLn 1, STRING021
  229.     FClose 1
  230.     If (Exist(STRING023)) Goto LABEL001
  231.     FCreate 1, STRING023, 2, 0
  232.     FClose 1
  233.     :LABEL001
  234.     Append STRING023, STRING022
  235.     STRING021 = ""
  236.     FOpen 2, STRING022, 0, 0
  237.     FCreate 1, STRING002, 1, 0
  238.     :LABEL002
  239.     If (Ferr(2)) Goto LABEL003
  240.     FGet 2, STRING021
  241.     Select Case (INTEGER001)
  242.         Case 0
  243.             If (STRING021 == "") Goto LABEL003
  244.             FPutLn 1, "@CLS@"
  245.             FPutLn 1, STRING043 + STRING039 + STRING055
  246.             FPutLn 1, STRING043 + STRING038 + STRING044 + STRING001 + STRING043 + STRING037 + STRING055
  247.             FPutLn 1, STRING043 + STRING040 + STRING055
  248.             FPutLn 1, STRING043 + STRING038 + STRING045 + "                                 Sec TOTAL Files  MESSAGES# Cmnt SECURITY Dwn" + STRING043 + STRING037 + STRING055
  249.             FPutLn 1, STRING043 + STRING038 + STRING045 + "Date  Time  User Name            Lvl Call Dwn  Up  Read Wrt Left Vio Pwrd Lmt" + STRING043 + STRING037 + STRING055
  250.             FPutLn 1, STRING043 + STRING040 + STRING055
  251.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  252.         Case 12
  253.             If (STRING021 == "") Goto LABEL003
  254.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  255.             FPutLn 1, STRING043 + STRING020 + STRING055
  256.             FPutLn 1, STRING042
  257.             FPutLn 1, STRING030
  258.             INTEGER001 = -1
  259.         Case Else
  260.             If (STRING021 == "") Goto LABEL003
  261.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  262.     End Select
  263.     Inc INTEGER001
  264.     Inc INTEGER002
  265.     If (INTEGER002 >= INTEGER004) Goto LABEL003
  266.     Goto LABEL002
  267.     :LABEL003
  268.     If (INTEGER001 <> 0) Then
  269.         FPutLn 1, STRING043 + STRING020 + STRING055
  270.         FPutLn 1, STRING042
  271.         FPutLn 1, STRING030
  272.     Endif
  273.     FClose 1
  274.     FClose 2
  275.     Delete STRING023
  276.     Rename STRING022, STRING023
  277.     INTEGER001 = 0
  278.     INTEGER002 = 0
  279.     STRING021 = ""
  280.     STRING003 = STRING049 + Left(STRING018, 20) + STRING014
  281.     STRING026 = STRING050 + Left(Mixed(U_City), 24) + STRING014
  282.     STRING027 = STRING053 + Right(String(Carrier()), 5) + STRING014
  283.     STRING008 = STRING054 + Right(String(U_Logons()), 4) + STRING014
  284.     STRING010 = Left(STRING010, Len(STRING010) - 1)
  285.     STRING028 = STRING048 + Right(String(MinOn()), 3) + STRING014
  286.     STRING021 = STRING011 + STRING029 + STRING028 + STRING003 + STRING026 + STRING010 + STRING027 + STRING008
  287.     FCreate 1, STRING024, 2, 0
  288.     FPutLn 1, STRING021
  289.     FClose 1
  290.     If (Exist(STRING019)) Goto LABEL004
  291.     FCreate 1, STRING019, 2, 0
  292.     FClose 1
  293.     :LABEL004
  294.     Append STRING019, STRING024
  295.     STRING021 = ""
  296.     FOpen 2, STRING024, 0, 0
  297.     FCreate 1, STRING025, 1, 0
  298.     :LABEL005
  299.     If (Ferr(2)) Goto LABEL006
  300.     FGet 2, STRING021
  301.     Select Case (INTEGER001)
  302.         Case 0
  303.             FPutLn 1, "@CLS@"
  304.             FPutLn 1, STRING043 + STRING039 + STRING055
  305.             FPutLn 1, STRING043 + STRING038 + STRING044 + STRING001 + STRING043 + STRING037 + STRING055
  306.             FPutLn 1, STRING043 + STRING040 + STRING055
  307.             FPutLn 1, STRING043 + STRING038 + STRING045 + "Date  Time  Min User Name            User's City              Sec Baud  Calls" + STRING043 + STRING037 + STRING055
  308.             FPutLn 1, STRING043 + STRING040 + STRING055
  309.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  310.         Case 13
  311.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  312.             FPutLn 1, STRING043 + STRING020 + STRING055
  313.             FPutLn 1, STRING042
  314.             FPutLn 1, STRING030
  315.             INTEGER001 = -1
  316.         Case Else
  317.             If (STRING021 == "") Goto LABEL006
  318.             FPutLn 1, STRING043 + STRING038 + STRING021 + STRING043 + STRING037 + STRING055
  319.     End Select
  320.     Inc INTEGER001
  321.     Inc INTEGER002
  322.     If (INTEGER002 >= INTEGER004) Goto LABEL006
  323.     Goto LABEL005
  324.     :LABEL006
  325.     If (INTEGER001 <> 0) Then
  326.         FPutLn 1, STRING043 + STRING020 + STRING055
  327.         FPutLn 1, STRING042
  328.         FPutLn 1, STRING030
  329.     Endif
  330.     FClose 1
  331.     FClose 2
  332.     Delete STRING019
  333.     Rename STRING024, STRING019
  334.     CdChkOn
  335.     KbdChkOn
  336.     SPrintLn "BOTHALL.PPE Completed Successfully!"
  337.     End
  338.     :LABEL007
  339.     End
  340.  
  341. ;------------------------------------------------------------------------------
  342. ;
  343. ; Usage report (before postprocessing)
  344. ;
  345. ; ■ Statements used :
  346. ;
  347. ;    2       End
  348. ;    34      Goto 
  349. ;    82      Let 
  350. ;    4       PrintLn 
  351. ;    28      If 
  352. ;    6       FCreate 
  353. ;    3       FOpen 
  354. ;    9       FClose 
  355. ;    33      FGet 
  356. ;    33      FPutLn 
  357. ;    1       GetUser
  358. ;    2       Delete 
  359. ;    2       Log 
  360. ;    1       DtrOn
  361. ;    1       DtrOff
  362. ;    1       CdChkOn
  363. ;    1       CdChkOff
  364. ;    1       Delay 
  365. ;    4       Inc 
  366. ;    5       Newline
  367. ;    2       Newlines 
  368. ;    1       KbdChkOn
  369. ;    1       KbdChkOff
  370. ;    2       SPrintLn 
  371. ;    2       Rename 
  372. ;    2       Append 
  373. ;
  374. ;
  375. ; ■ Functions used :
  376. ;
  377. ;    2       -
  378. ;    151     +
  379. ;    1       -
  380. ;    15      ==
  381. ;    3       <>
  382. ;    2       <
  383. ;    1       >
  384. ;    3       >=
  385. ;    13      !
  386. ;    1       ||
  387. ;    1       Len(
  388. ;    28      Left()
  389. ;    14      Right()
  390. ;    2       Space()
  391. ;    2       Ferr()
  392. ;    1       Date()
  393. ;    1       Time()
  394. ;    1       U_Name()
  395. ;    1       U_LDate()
  396. ;    2       U_Logons()
  397. ;    1       U_Ful()
  398. ;    1       U_Fdl()
  399. ;    21      String()
  400. ;    9       PPEPath()
  401. ;    1       U_MsgRd()
  402. ;    1       U_MsgWr()
  403. ;    1       CurSec()
  404. ;    3       MinOn()
  405. ;    3       Exist()
  406. ;    1       Carrier()
  407. ;    4       U_Stat()
  408. ;    1       PPEName()
  409. ;    7       Mixed()
  410. ;
  411. ;------------------------------------------------------------------------------
  412. ;
  413. ; Analysis flags : B
  414. ;
  415. ; B - Brute hangup ■ 1
  416. ;     Program hangup without notification. This may be a good way to
  417. ;     disconnect a user, but if used randomly, may be very nasty
  418. ;     ■ Search for : HANGUP, DTROFF
  419. ;
  420. ;------------------------------------------------------------------------------
  421. ;
  422. ; Postprocessing report
  423. ;
  424. ;    0       For/Next
  425. ;    0       While/EndWhile
  426. ;    5       If/Then or If/Then/Else
  427. ;    2       Select Case
  428. ;
  429. ;------------------------------------------------------------------------------
  430. ;                 AEGiS Corp - Break the routines, code against the machines!
  431. ;------------------------------------------------------------------------------
  432.