home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / dod_up12.zip / UT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-21  |  13KB  |  592 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.     Date     DATE001
  24.     Date     DATE002
  25.     Integer  INTEGER002
  26.     Integer  INTEGER003
  27.     Integer  INTEGER004
  28.     Integer  INTEGER005
  29.     Integer  INTEGER006
  30.     Integer  INTEGER007
  31.     Integer  INTEGER008
  32.     String   STRING001
  33.     String   STRING002
  34.     String   STRING003
  35.     String   STRING004
  36.     String   STRING005
  37.     String   STRING006
  38.     String   STRING007
  39.     String   STRING008
  40.     String   STRING009
  41.     String   STRING010
  42.     String   STRING011
  43.     String   STRING012
  44.     String   STRING013
  45.     String   TSTRING014(32)
  46.     Time     TIME001
  47.     BigStr   BIGSTR001
  48.     BigStr   BIGSTR002
  49.  
  50. ;------------------------------------------------------------------------------
  51.  
  52.     FOpen 1, PPEPath() + "UT.CFG", 0, 0
  53.     FGet 1, BIGSTR002
  54.     If (Ferr(1) == 1) Then
  55.         Log "√ UT.CFG is missing!", 1
  56.         Stop
  57.     Endif
  58.     FGet 1, STRING007
  59.     FGet 1, STRING008
  60.     FGet 1, BIGSTR002
  61.     If (Upper(BIGSTR002) == "Y") Then
  62.         BOOLEAN002 = 1
  63.     Else
  64.         BOOLEAN002 = 0
  65.     Endif
  66.     FGet 1, STRING011
  67.     FGet 1, STRING013
  68.     STRING013 = Upper(STRING013)
  69.     FGet 1, INTEGER007
  70.     FGet 1, STRING002
  71.     FGet 1, STRING003
  72.     FGet 1, STRING004
  73.     FGet 1, BIGSTR002
  74.     If (InStr(BIGSTR002, "-") <> 0) Then
  75.         DATE002 = BIGSTR002
  76.         INTEGER006 = 0
  77.     Else
  78.         INTEGER005 = BIGSTR002
  79.         INTEGER006 = 1
  80.     Endif
  81.     FGet 1, STRING001
  82.     FClose 1
  83.     If (PcbNode() == 0) Then
  84.         STRING006 = "."
  85.     Else
  86.         STRING006 = String(PcbNode())
  87.     Endif
  88.     BOOLEAN001 = 0
  89.     FOpen 1, PCBDat(), 0, 0
  90.     For INTEGER004 = 1 To 31
  91.         FGet 1, BIGSTR002
  92.         If (INTEGER004 == 31) STRING009 = BIGSTR002
  93.     Next
  94.     FClose 1
  95.     If (Exist(PPEPath() + "ut.pat") == 0) BOOLEAN001 = 1
  96.     If (Exist(PPEPath() + "ut.dat") == 0) BOOLEAN001 = 1
  97.     If (BOOLEAN001 == 1) Gosub LABEL002
  98.     FOpen 1, PPEPath() + "UT.DAT", 0, 3
  99.     FGet 1, DATE001
  100.     FGet 1, TIME001
  101.     If (FileInf(STRING009, 2) <> DATE001) BOOLEAN001 = 1
  102.     If (FileInf(STRING009, 3) <> TIME001) BOOLEAN001 = 1
  103.     FClose 1
  104.     STRING005 = "@OPTEXT@"
  105.     DispStr "@CLS@@X08                        @X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄" + Chr(13) + Chr(10)
  106.     DispStr "@X0F                        @X70 ∙@X07█████@X70Lars' Upload Processor@X07█████@X70∙ @X07" + Chr(13) + Chr(10)
  107.     DispStr "@X0F                        @X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀" + Chr(13) + Chr(10)
  108.     DispStr "@X08                @X02▄▄▄                ▄▄▄▄▄▄▄                  ▄▄" + Chr(13) + Chr(10)
  109.     DispStr "@X02             ▄@X2A▒░░ ░░░@X2F▀@X7F▀▀▀▀▀▀@X72▀▀▀▀@X02█@X2A░▒▒▒▓▓░░░@X72▀@X2A░▒░@X72▀▀@X7F▀▀▀▀▀▀▀▀▀▀@X72▀▀▀@X2A▒░@X72▀@X7F▀▀▀▀@X78▄@X07" + Chr(13) + Chr(10)
  110.     DispStr "@X0F            @X02▐@X2A▒▒░@X02▀▀@X08▀@X2A▒@X08▀▀▀@X2A░@X08▀▀▀▀▀▀▀▀▀▀@X02▀▀▀@X2A▓░@X02▀@X08▀▀▀▀@X2A░@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X2A░@X08▀▀▀▀@X7F▄ @X08█" + Chr(13) + Chr(10)
  111.     DispStr "@X08            @X2A▓▓@X72▀@X08█ @X0FTe@X07st@X08ing @X0FFi@X07le         @X02▌   @X08..........              @X0F█@X7F @X08█" + Chr(13) + Chr(10)
  112.     DispStr "@X08            @X2A░@X0F█@X7F @X08█                      @X02▌                           @X0F█@X7F @X08█" + Chr(13) + Chr(10)
  113.     DispStr "@X08            @X02▐@X0F█@X7F @X08█ @X0FRe@X07co@X08gnizing @X0FFi@X07le @X0FTy@X08pe@X0A·   @X08..........              @X0F█@X7F @X08█@X02▌" + Chr(13) + Chr(10)
  114.     DispStr "@X02            ▐@X0F█@X7F @X08█ @X0FTe@X07st@X08ing @X0FZi@X07P @X0FIn@X07te@X08grity    ..........              @X0F█@X7F @X08█@X02▌" + Chr(13) + Chr(10)
  115.     DispStr "@X02            ▐@X0F█@X7F @X08█ @X0FTe@X07st@X08ing @X0FFi@X07le @X0FDa@X07te        @X08..........              @X0F█@X7F @X08█@X02▌" + Chr(13) + Chr(10)
  116.     DispStr "@X02            ▐@X0F█@X7F @X08█ @X0FPr@X07oc@X08essing @X0FFi@X07LE@X08_@X0FiD@X07.@X0FDi@X07Z   @X08..........              @X0F█@X7F @X08█@X02▌" + Chr(13) + Chr(10)
  117.     DispStr "@X02             @X0F█@X7F @X08█                                                  @X0F█@X7F @X08█@X2A░@X07" + Chr(13) + Chr(10)
  118.     DispStr "@X0F            @X0A·@X0F█@X7F @X08█ @X0FRe@X07pl@X08acing @X0FZi@X07P @X0FCo@X07mm@X08ent    ..........              @X0F█@X7F @X08█@X2A░@X02▄" + Chr(13) + Chr(10)
  119.     DispStr "@X02             @X0F█@X7F @X08█ @X0FAd@X07di@X08ng @X0FBB@X07S @X0FAd@X07ve@X08rtisement ..........              @X0F█@X7F @X08█@X28 @X2A■@X02▌" + Chr(13) + Chr(10)
  120.     DispStr "@X02             @X0F█@X7F @X78▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█@X7F @X08█" + Chr(13) + Chr(10)
  121.     DispStr "@X08             @X7F▀@X78▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X08█" + Chr(13) + Chr(10)
  122.     DispStr "@X07" + Chr(13) + Chr(10)
  123.     AnsiPos 54, 7
  124.     DispStr STRING005
  125.     STRING005 = ScrText(54, 7, 12, 0)
  126.     INTEGER003 = 0
  127.     FOpen 1, PPEPath() + "Ut.pat", 2, 0
  128.     While (Ferr(1) == 0) Do
  129.         FGet 1, BIGSTR002
  130.         If (Exist(BIGSTR002 + STRING005) == 1) Then
  131.             STRING010 = BIGSTR002
  132.             Break
  133.         Endif
  134.         INTEGER003 = INTEGER003 + 1
  135.     EndWhile
  136.     FClose 1
  137.     AnsiPos 54, 9
  138.     If (BOOLEAN002 == 1) Then
  139.         FAppend 6, PPEPath() + "UT.LOG", 1, 3
  140.         FPutLn 6, " - -- Testing File: " + STRING010 + STRING005
  141.         FClose 6
  142.     Endif
  143.     STRING012 = FileInf(STRING010 + STRING005, 9)
  144.     If (InStr(Upper(STRING011), Upper(Mid(STRING012, 1, 3))) <> 0) Then
  145.         DispStr "@X0CNON-ZIP!"
  146.         If (BOOLEAN002 == 1) Then
  147.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  148.             FPutLn 6, "      FILE HAS UNWANTED TYPE!"
  149.             FClose 6
  150.         Endif
  151.         BIGSTR002 = "@X0FH@X07ey @X0Fm@X07an@X08! @X0FD@X07o @X0Fn@X07ot @X0Fu@X07pl@X08oad @X0Fc@X07ra@X08p!@X07"
  152.         If (STRING013 == "D") Then
  153.             GetUser
  154.             U_Sec = U_Sec - INTEGER007
  155.             PutUser
  156.             If (BOOLEAN002 == 1) Then
  157.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  158.                 FPutLn 6, "      User's access level has been decreased!"
  159.                 FClose 6
  160.             Endif
  161.             BIGSTR002 = "@X0FY@X07ou@X08've @X0Fu@X07pl@X08oaded @X0Fc@X07ra@X08p, @X0Fs@X07o @X0Fy@X07ou@X08r @X0Fa@X07cc@X08ess @X0Fl@X07ev@X08el @X0Fh@X07as @X0Fb@X07ee@X08n @X0Fd@X07ec@X08reased...@X07"
  162.         Endif
  163.         If (STRING013 == "H") Then
  164.             If (BOOLEAN002 == 1) Then
  165.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  166.                 FPutLn 6, "      Lamer has been disconnected!"
  167.                 FClose 6
  168.             Endif
  169.             Hangup
  170.         Endif
  171.         If (STRING013 == "K") Then
  172.             GetUser
  173.             U_Sec = 0
  174.             PutUser
  175.             DelUser
  176.             If (BOOLEAN002 == 1) Then
  177.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  178.                 FPutLn 6, "      Bastard has been killed!"
  179.                 FClose 6
  180.             Endif
  181.             BIGSTR002 = "@X0FY@X07ou@X08've @X0Fu@X07pl@X08oaded @X0Fc@X07ra@X08p, @X0Fs@X07o @X0Fy@X07ou@X08r @X0Fa@X07cc@X08ount @X0Fh@X07as @X0Fb@X07ee@X08n @X0Fn@X07uk@X08ed...@X07"
  182.         Endif
  183.         AnsiPos 1, 20
  184.         FOpen 1, TempPath() + "FAILURE", 2, 0
  185.         FPut 1, BIGSTR002 + Chr(13) + Chr(10)
  186.         FPut 1, " "
  187.         FClose 1
  188.         AnsiPos 1, 20
  189.         Stop
  190.     Endif
  191.     DispStr "@X0FZIP"
  192.     AnsiPos 54, 10
  193.     DispStr "@X8FWORKiNG"
  194.     If (Exist(STRING007 + "pcbfail.txt") == 1) Delete STRING007 + "pcbfail.txt"
  195.     Shell 0, INTEGER002, STRING008 + "PKUNZiP.EXE", " -t " + STRING010 + STRING005
  196.     If (INTEGER002 > 0) Then
  197.         AnsiPos 54, 10
  198.         DispStr "@X0CFAiLED  "
  199.         If (BOOLEAN002 == 1) Then
  200.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  201.             FPutLn 6, "      FILE FAILED VERIFICATION CHECK!"
  202.             FClose 6
  203.         Endif
  204.         AnsiPos 1, 20
  205.         FOpen 1, TempPath() + "FAILURE", 2, 0
  206.         FPut 1, Chr(13) + Chr(10)
  207.         FPut 1, " "
  208.         FClose 1
  209.         Stop
  210.     Endif
  211.     AnsiPos 54, 10
  212.     DispStr "@X0FCRC OK  "
  213.     DATE001 = FileInf(STRING010 + STRING005, 2)
  214.     If (INTEGER006 == 0) Then
  215.         If (DATE002 > DATE001) Then
  216.             BOOLEAN001 = 1
  217.         Else
  218.             BOOLEAN001 = 0
  219.         Endif
  220.     ElseIf (Date() - INTEGER005 > DATE001) Then
  221.         BOOLEAN001 = 1
  222.     Else
  223.         BOOLEAN001 = 0
  224.     Endif
  225.     If (BOOLEAN001 == 0) Then
  226.         AnsiPos 54, 11
  227.         DispStr "@X0FSUiTABLE"
  228.     Endif
  229.     If (BOOLEAN001 == 1) Then
  230.         AnsiPos 54, 11
  231.         DispStr "@X0CTOO OLD!"
  232.         If (BOOLEAN002 == 1) Then
  233.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  234.             FPutLn 6, "      FILE iS TOO OLD!"
  235.             FClose 6
  236.         Endif
  237.         BIGSTR002 = "@X0FH@X07ey @X0Fm@X07an@X08! @X0FD@X07o @X0Fn@X07ot @X0Fu@X07pl@X08oad @X0Fc@X07ra@X08p!@X07"
  238.         If (STRING013 == "D") Then
  239.             GetUser
  240.             U_Sec = U_Sec - INTEGER007
  241.             PutUser
  242.             If (BOOLEAN002 == 1) Then
  243.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  244.                 FPutLn 6, "      User's access level has been decreased!"
  245.                 FClose 6
  246.             Endif
  247.             BIGSTR002 = "@X0FY@X07ou@X08've @X0Fu@X07pl@X08oaded @X0Fc@X07ra@X08p, @X0Fs@X07o @X0Fy@X07ou@X08r @X0Fa@X07cc@X08ess @X0Fl@X07ev@X08el @X0Fh@X07as @X0Fb@X07ee@X08n @X0Fd@X07ec@X08reased...@X07"
  248.         Endif
  249.         If (STRING013 == "H") Then
  250.             If (BOOLEAN002 == 1) Then
  251.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  252.                 FPutLn 6, "      Lamer has been disconnected!"
  253.                 FClose 6
  254.             Endif
  255.             Hangup
  256.         Endif
  257.         If (STRING013 == "K") Then
  258.             GetUser
  259.             U_Sec = 0
  260.             PutUser
  261.             DelUser
  262.             If (BOOLEAN002 == 1) Then
  263.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  264.                 FPutLn 6, "      Bastard has been killed!"
  265.                 FClose 6
  266.             Endif
  267.             BIGSTR002 = "@X0FY@X07ou@X08've @X0Fu@X07pl@X08oaded @X0Fc@X07ra@X08p, @X0Fs@X07o @X0Fy@X07ou@X08r @X0Fa@X07cc@X08ount @X0Fh@X07as @X0Fb@X07ee@X08n @X0Fn@X07uk@X08ed...@X07"
  268.         Endif
  269.         FOpen 1, TempPath() + "FAILURE", 2, 0
  270.         FPut 1, BIGSTR002 + Chr(13) + Chr(10)
  271.         FPut 1, " "
  272.         FClose 1
  273.         AnsiPos 1, 20
  274.         Stop
  275.     Endif
  276.     AnsiPos 54, 12
  277.     DispStr "@X8FWORKiNG"
  278.     AnsiPos 54, 12
  279.     Shell 0, INTEGER002, STRING008 + "PKUNZiP.EXE", " -o " + STRING010 + STRING005 + " " + TempPath() + " FiLE_iD.DiZ"
  280.     If (INTEGER002 > 0) Then
  281.         AnsiPos 54, 12
  282.         DispStr "@X0FNOT FOUND"
  283.         If (BOOLEAN002 == 1) Then
  284.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  285.             FPutLn 6, "      File_id.diz not found."
  286.             FClose 6
  287.         Endif
  288.         AnsiPos 1, 20
  289.     Else
  290.         INTEGER002 = 0
  291.         BOOLEAN003 = 0
  292.         If (Upper(STRING001) == "N") BOOLEAN003 = 1
  293.         If (Exist(STRING001) == 0) Then
  294.             If (BOOLEAN002 == 1) Then
  295.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  296.                 FPutLn 6, "       " + STRING001 + " not found!"
  297.                 FClose 6
  298.             Endif
  299.             BOOLEAN003 = 1
  300.         Endif
  301.         If (BOOLEAN003 == 0) Then
  302.             FOpen 6, STRING001, 0, 3
  303.             While ((Ferr(6) == 0) && (INTEGER002 < 33)) Do
  304.                 INTEGER002 = INTEGER002 + 1
  305.                 FGet 6, TSTRING014(INTEGER002)
  306.             EndWhile
  307.             FClose 6
  308.             INTEGER008 = INTEGER002
  309.         Endif
  310.         If (Upper(STRING003) == "N") Goto LABEL001
  311.         If (Exist(STRING003) == 0) Then
  312.             If (BOOLEAN002 == 1) Then
  313.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  314.                 FPutLn 6, "       " + STRING003 + " not found!"
  315.                 FClose 6
  316.             Endif
  317.             AnsiPos 1, 20
  318.         Else
  319.             AnsiPos 54, 12
  320.             DispStr "@X8FWORKiNG"
  321.             Shell 0, INTEGER002, STRING008 + "PKUNZiP.EXE", " -o " + STRING010 + STRING005 + " " + TempPath() + " FiLE_iD.DiZ"
  322.             If (INTEGER002 > 0) Then
  323.                 Goto LABEL001
  324.             Endif
  325.             If (INTEGER002 == 0) Then
  326.                 FOpen 1, TempPath() + "FILE_ID.DIZ", 2, 0
  327.                 FOpen 2, TempPath() + "FILE_ID.TMP", 2, 0
  328.                 While (Ferr(1) == 0) Do
  329.                     FGet 1, BIGSTR001
  330.                     FPutLn 2, BIGSTR001
  331.                 EndWhile
  332.                 FClose 1
  333.                 FClose 2
  334.                 Append STRING003, TempPath() + "FILE_ID.TMP"
  335.                 If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  336.                 Rename TempPath() + "FILE_ID.TMP", TempPath() + "FILE_ID.DIZ"
  337.             Endif
  338.             Shell 1, INTEGER002, STRING008 + "PKZiP.EXE", " -ex " + STRING010 + STRING005 + " " + TempPath() + "FILE_ID.DIZ"
  339.             If (INTEGER002 > 0) Then
  340.                 If (BOOLEAN002 == 1) Then
  341.                     FAppend 6, PPEPath() + "UT.LOG", 1, 3
  342.                     FPutLn 6, "      Adding FILE_ID.DIZ to ZIP has been failed!"
  343.                     FClose 6
  344.                 Endif
  345.             Endif
  346.             If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  347.             If (BOOLEAN003 == 0) Then
  348.                 Shell 0, INTEGER002, STRING008 + "PKUNZiP.EXE", " -o " + STRING010 + STRING005 + " " + TempPath() + " FiLE_iD.DiZ"
  349.                 If (INTEGER002 == 0) Then
  350.                     FOpen 1, TempPath() + "FILE_ID.DIZ", 2, 0
  351.                     FOpen 2, TempPath() + "FILE_ID.TMP", 2, 0
  352.                     While (Ferr(1) == 0) Do
  353.                         FGet 1, BIGSTR001
  354.                         BOOLEAN004 = 0
  355.                         For INTEGER002 = 1 To INTEGER008
  356.                             If (InStr(Upper(BIGSTR001), Upper(TSTRING014(INTEGER002))) <> 0) BOOLEAN004 = 1
  357.                         Next
  358.                         If (BOOLEAN004 == 0) FPutLn 2, BIGSTR001
  359.                     EndWhile
  360.                     FClose 1
  361.                     FClose 2
  362.                     If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  363.                     Rename TempPath() + "FILE_ID.TMP", TempPath() + "FILE_ID.DIZ"
  364.                 Endif
  365.                 Shell 1, INTEGER002, STRING008 + "PKZiP.EXE", " -ex " + STRING010 + STRING005 + " " + TempPath() + "FILE_ID.DIZ"
  366.                 If (INTEGER002 > 0) Then
  367.                     If (BOOLEAN002 == 1) Then
  368.                         FAppend 6, PPEPath() + "UT.LOG", 1, 3
  369.                         FPutLn 6, "      Adding FILE_ID.DIZ to ZIP has been failed!"
  370.                         FClose 6
  371.                     Endif
  372.                 Endif
  373.                 If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  374.             Endif
  375.         Endif
  376.         :LABEL001
  377.         Shell 0, INTEGER002, STRING008 + "PKUNZiP.EXE", " -o " + STRING010 + STRING005 + " " + TempPath() + " FiLE_iD.DiZ"
  378.         If (INTEGER002 == 0) Then
  379.             AnsiPos 54, 12
  380.             DispStr "@X0FDONE    "
  381.         Endif
  382.         If (INTEGER002 == 0) Then
  383.             BOOLEAN001 = 1
  384.             If (BOOLEAN002 == 1) Then
  385.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  386.                 FPutLn 6, "      Contains File_id.diz."
  387.                 FClose 6
  388.             Endif
  389.             AnsiPos 1, 20
  390.             FOpen 1, TempPath() + "UPDESC" + STRING006, 2, 0
  391.             FOpen 2, TempPath() + "FILE_ID.DIZ", 2, 0
  392.             FGet 1, BIGSTR002
  393.             BIGSTR002 = Mid(BIGSTR002, 1, 33)
  394.             FClose 1
  395.             FOpen 1, TempPath() + "UPDESC" + STRING006, 2, 0
  396.             FPut 1, BIGSTR002
  397.             FGet 2, BIGSTR002
  398.             FPutLn 1, BIGSTR002
  399.             While (Ferr(2) == 0) Do
  400.                 FGet 2, BIGSTR001
  401.                 FPutLn 1, "                               " + "| " + BIGSTR001
  402.             EndWhile
  403.             FClose 1
  404.             FClose 2
  405.             If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  406.         Endif
  407.     Endif
  408.     AnsiPos 54, 14
  409.     If (Upper(STRING002) == "N") Then
  410.         DispStr "@X08SKiPPED"
  411.     Endif
  412.     If (Exist(STRING002) == 0) Then
  413.         DispStr "@X08SKiPPED"
  414.         If (BOOLEAN002 == 1) Then
  415.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  416.             FPutLn 6, "       " + STRING002 + " not found!"
  417.             FClose 6
  418.         Endif
  419.         STRING002 = "FUCK"
  420.     Endif
  421.     If (Upper(STRING002) <> "N") Then
  422.         DispStr "@X8FWORKiNG"
  423.         Shell 1, INTEGER002, STRING008 + "PKZiP.EXE", " -z " + STRING010 + STRING005 + " <" + STRING002
  424.         If (INTEGER002 == 0) Then
  425.             AnsiPos 54, 14
  426.             DispStr "@X0FDONE   "
  427.         Endif
  428.         If (INTEGER002 > 0) Then
  429.             AnsiPos 54, 14
  430.             DispStr "@X0FFAILED  "
  431.             If (BOOLEAN002 == 1) Then
  432.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  433.                 FPutLn 6, "      Adding comment to ZIP has been failed."
  434.                 FClose 6
  435.             Endif
  436.         Endif
  437.     Endif
  438.     AnsiPos 54, 15
  439.     If (Upper(STRING004) == "N") Then
  440.         DispStr "@X08SKiPPED"
  441.     Endif
  442.     If (Upper(STRING004) <> "N") Then
  443.         DispStr "@X8FWORKiNG"
  444.         Shell 1, INTEGER002, STRING008 + "PKZiP.EXE", " -ex " + STRING010 + STRING005 + " " + STRING004
  445.         If (INTEGER002 == 0) Then
  446.             AnsiPos 54, 15
  447.             DispStr "@X0FDONE   "
  448.         Endif
  449.         If (INTEGER002 > 0) Then
  450.             AnsiPos 54, 15
  451.             DispStr "@X0FFAILED  "
  452.             If (BOOLEAN002 == 1) Then
  453.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  454.                 FPutLn 6, "      Adding BBS Ad(s) to ZIP has been failed. Check the existence of Ad file(s)."
  455.                 FClose 6
  456.             Endif
  457.         Endif
  458.     Endif
  459.     AnsiPos 1, 20
  460.     Stop
  461.     :LABEL002
  462.     FOpen 1, STRING009, 0, 3
  463.     FOpen 2, PPEPath() + "UT.PAT", 2, 3
  464.     While (Ferr(1) == 0) Do
  465.         BIGSTR002 = ""
  466.         FGet 1, BIGSTR002
  467.         For INTEGER003 = 1 To 14
  468.             FGet 1, BIGSTR002
  469.         Next
  470.         FGet 1, BIGSTR002
  471.         FPutLn 2, BIGSTR002
  472.         For INTEGER003 = 1 To 15
  473.             FGet 1, BIGSTR002
  474.         Next
  475.         For INTEGER003 = 1 To 2
  476.             FGet 1, BIGSTR002
  477.         Next
  478.     EndWhile
  479.     FClose 1
  480.     FClose 2
  481.     FOpen 1, PPEPath() + "UT.DAT", 2, 3
  482.     DATE001 = FileInf(STRING009, 2)
  483.     TIME001 = FileInf(STRING009, 3)
  484.     FPutLn 1, DATE001
  485.     FPutLn 1, TIME001
  486.     FClose 1
  487.     BOOLEAN001 = 0
  488.     Return
  489.  
  490. ;------------------------------------------------------------------------------
  491. ;
  492. ; Usage report (before postprocessing)
  493. ;
  494. ; ■ Statements used :
  495. ;
  496. ;    91      Goto 
  497. ;    61      Let 
  498. ;    85      If 
  499. ;    18      FOpen 
  500. ;    19      FAppend 
  501. ;    37      FClose 
  502. ;    27      FGet 
  503. ;    7       FPut 
  504. ;    26      FPutLn 
  505. ;    2       Hangup
  506. ;    4       GetUser
  507. ;    4       PutUser
  508. ;    6       Delete 
  509. ;    2       DelUser
  510. ;    1       Log 
  511. ;    1       Gosub 
  512. ;    1       Return
  513. ;    9       Shell 
  514. ;    5       Stop
  515. ;    39      DispStr 
  516. ;    26      AnsiPos 
  517. ;    2       Rename 
  518. ;    1       Append 
  519. ;
  520. ;
  521. ; ■ Functions used :
  522. ;
  523. ;    165     +
  524. ;    3       -
  525. ;    64      ==
  526. ;    7       <>
  527. ;    6       <
  528. ;    5       <=
  529. ;    9       >
  530. ;    10      >=
  531. ;    69      !
  532. ;    11      &&
  533. ;    5       ||
  534. ;    12      Upper()
  535. ;    2       Mid()
  536. ;    7       Ferr()
  537. ;    42      Chr()
  538. ;    3       InStr()
  539. ;    1       Date()
  540. ;    1       String()
  541. ;    1       PCBDat()
  542. ;    26      PPEPath()
  543. ;    2       PcbNode()
  544. ;    12      Exist()
  545. ;    6       FileInf()
  546. ;    31      TempPath()
  547. ;    1       ScrText()
  548. ;
  549. ;------------------------------------------------------------------------------
  550. ;
  551. ; Analysis flags : WDBSd
  552. ;
  553. ; W - Write user ■ 5
  554. ;     Program writes a user record. Although this may be normal for a
  555. ;     User Editor, it may also be a way to modify an account level.
  556. ;     ■ Search for : PUTUSER
  557. ;
  558. ; D - Delete user ■ 5
  559. ;     Program is deleting account(s)... Check!
  560. ;     ■ Search for : DELUSER
  561. ;
  562. ; B - Brute hangup ■ 1
  563. ;     Program hangup without notification. This may be a good way to
  564. ;     disconnect a user, but if used randomly, may be very nasty
  565. ;     ■ Search for : HANGUP, DTROFF
  566. ;
  567. ; S - Shell to DOS ■ 5
  568. ;     This may be normal if the PPE need to execute an external command,
  569. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  570. ;     or usefull (sorting, maintenance,...). Check!
  571. ;     ■ Search for : SHELL
  572. ;
  573. ; d - Access PCBOARD.DAT ■ 2
  574. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  575. ;     for many PPE so they can find various informations on the system
  576. ;     (system paths, max number of lines in messages, ...) but it may also
  577. ;     be a way to gather vital informations.
  578. ;     ■ Search for : PCBDAT()
  579. ;
  580. ;------------------------------------------------------------------------------
  581. ;
  582. ; Postprocessing report
  583. ;
  584. ;    5       For/Next
  585. ;    6       While/EndWhile
  586. ;    58      If/Then or If/Then/Else
  587. ;    0       Select Case
  588. ;
  589. ;------------------------------------------------------------------------------
  590. ;                 AEGiS Corp - Break the routines, code against the machines!
  591. ;------------------------------------------------------------------------------
  592.