home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / DOD-UP32.ZIP / UT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-11-22  |  14KB  |  721 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.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Date     DATE001
  25.     Date     DATE002
  26.     Integer  INTEGER002
  27.     Integer  INTEGER003
  28.     Integer  INTEGER004
  29.     Integer  INTEGER005
  30.     Integer  INTEGER006
  31.     Integer  INTEGER007
  32.     Integer  INTEGER008
  33.     Integer  INTEGER009
  34.     String   STRING001
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     String   STRING005
  39.     String   STRING006
  40.     String   STRING007
  41.     String   STRING008
  42.     String   STRING009
  43.     String   STRING010
  44.     String   STRING011
  45.     String   STRING012
  46.     String   STRING013
  47.     String   STRING014
  48.     String   STRING015
  49.     String   STRING016
  50.     String   TSTRING017(32)
  51.     Time     TIME001
  52.     BigStr   BIGSTR001
  53.     BigStr   BIGSTR002
  54.     BigStr   BIGSTR003
  55.     BigStr   BIGSTR004
  56.     BigStr   TBIGSTR005(25)
  57.     BigStr   BIGSTR006
  58.     BigStr   BIGSTR007
  59.     BigStr   BIGSTR008
  60.     BigStr   BIGSTR009
  61.     BigStr   BIGSTR010
  62.     BigStr   BIGSTR011
  63.     BigStr   BIGSTR012
  64.  
  65. ;------------------------------------------------------------------------------
  66.  
  67.     FOpen 1, PPEPath() + "UT.CFG", 0, 0
  68.     FGet 1, BIGSTR003
  69.     If (Ferr(1) == 1) Then
  70.         Log "■ WARNING: UT.CFG Is Missing", 1
  71.         Log "■ Upload Processor Cannot Operate Correctly", 1
  72.         Stop
  73.     Endif
  74.     FGet 1, STRING009
  75.     FGet 1, STRING010
  76.     BOOLEAN002 = 1
  77.     FGet 1, STRING014
  78.     FGet 1, STRING016
  79.     STRING016 = Upper(STRING016)
  80.     FGet 1, INTEGER007
  81.     FGet 1, STRING004
  82.     FGet 1, STRING005
  83.     FGet 1, STRING006
  84.     FGet 1, BIGSTR003
  85.     If (InStr(BIGSTR003, "-") <> 0) Then
  86.         DATE002 = BIGSTR003
  87.         INTEGER006 = 0
  88.     Else
  89.         INTEGER005 = BIGSTR003
  90.         INTEGER006 = 1
  91.     Endif
  92.     FGet 1, STRING003
  93.     FGet 1, BIGSTR003
  94.     If (Upper(BIGSTR003) == "Y") Then
  95.         BOOLEAN003 = 1
  96.     Else
  97.         BOOLEAN003 = 0
  98.     Endif
  99.     FGet 1, BIGSTR004
  100.     FGet 1, INTEGER008
  101.     FGet 1, BIGSTR009
  102.     FGet 1, BIGSTR010
  103.     FClose 1
  104.     If (PcbNode() == 0) Then
  105.         STRING008 = "."
  106.     Else
  107.         STRING008 = "." + String(PcbNode())
  108.     Endif
  109.     RdUNet PcbNode()
  110.     BIGSTR011 = UN_City()
  111.     BIGSTR012 = UN_Oper()
  112.     WrUNet PcbNode(), UN_Stat(), UN_Name(), "░▒▓ DOD RULEZ! ▓▒░", "Testing Uploads", ""
  113.     BOOLEAN001 = 0
  114.     FOpen 1, PCBDat(), 0, 0
  115.     For INTEGER004 = 1 To 31
  116.         FGet 1, BIGSTR003
  117.         If (INTEGER004 == 31) STRING012 = BIGSTR003
  118.     Next
  119.     FClose 1
  120.     If (Exist(PPEPath() + "ut.pat") == 0) BOOLEAN001 = 1
  121.     If (Exist(PPEPath() + "ut.dat") == 0) BOOLEAN001 = 1
  122.     If (BOOLEAN001 == 1) Gosub LABEL003
  123.     FOpen 1, PPEPath() + "UT.DAT", 0, 3
  124.     FGet 1, DATE001
  125.     FGet 1, TIME001
  126.     If (FileInf(STRING012, 2) <> DATE001) BOOLEAN001 = 1
  127.     If (FileInf(STRING012, 3) <> TIME001) BOOLEAN001 = 1
  128.     FClose 1
  129.     STRING007 = "@OPTEXT@"
  130.     DispStr "@CLS@" + Chr(13) + Chr(10)
  131.     DispStr "@X07                 ▄▄▄▄@X0F▀@X07▄@X0F▀▀  L@X07a@X08rs Upload Processor 3@X07.@X0F2  ▀▀@X07▄@X0F▀@X07▄▄▄▄" + Chr(13) + Chr(10)
  132.     DispStr "" + Chr(13) + Chr(10)
  133.     DispStr "@X07            ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄" + Chr(13) + Chr(10)
  134.     DispStr "@X07            ▄ @X08▄▄▄▄ ▄    ▄                               ▄    ▄ ▄▄▄▄ @X07▄" + Chr(13) + Chr(10)
  135.     DispStr "@X07            █ @X08█                                                   █ @X07█" + Chr(13) + Chr(10)
  136.     DispStr "@X07            @X78░@X0F @X08█  @X0FT@X07e@X08sting File             ........@X07.@X0F.              @X08█ @X78░@X07" + Chr(13) + Chr(10)
  137.     DispStr "            @X78░@X0F @X08█                                                   █ @X78░@X07" + Chr(13) + Chr(10)
  138.     DispStr "            @X78░@X0F @X08▓  @X0FR@X07e@X08cognizing File Type    ........@X07.@X0F.              @X08▓ @X78░@X07" + Chr(13) + Chr(10)
  139.     DispStr "            @X78░@X0F @X08▓  @X0FT@X07e@X08sting ZIP Integrity    ........@X07.@X0F.              @X08▓ @X78░@X07" + Chr(13) + Chr(10)
  140.     DispStr "            @X78▒@X0F @X08▒  @X0FT@X07e@X08sting File Date        ........@X07.@X0F.              @X08▒ @X78▒@X07" + Chr(13) + Chr(10)
  141.     DispStr "            @X78▒@X0F @X08▒  @X0FP@X07r@X08ocessing FILE_ID.DIZ   ........@X07.@X0F.              @X08▒ @X78▒@X07" + Chr(13) + Chr(10)
  142.     DispStr "            @X78▒@X0F @X08▒                                                   ▒ @X78▒@X07" + Chr(13) + Chr(10)
  143.     DispStr "            @X78▓@X0F @X08░  @X0FR@X07e@X08placing ZIP Comment    ........@X07.@X0F.              @X08░ @X78▓@X07" + Chr(13) + Chr(10)
  144.     DispStr "            @X78▓@X0F @X08░  @X0FA@X07d@X08ding BBS Advertisement ........@X07.@X0F.              @X08░ @X78▓@X07" + Chr(13) + Chr(10)
  145.     DispStr "            @X08█ ░                                                   ░ █" + Chr(13) + Chr(10)
  146.     DispStr "@X08            ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄" + Chr(13) + Chr(10)
  147.     DispStr "@X07" + Chr(13) + Chr(10)
  148.     AnsiPos 54, 7
  149.     DispStr STRING007
  150.     STRING007 = ScrText(54, 7, 12, 0)
  151.     INTEGER003 = 0
  152.     FOpen 1, PPEPath() + "Ut.pat", 2, 0
  153.     While (Ferr(1) == 0) Do
  154.         FGet 1, BIGSTR003
  155.         If (Exist(BIGSTR003 + STRING007) == 1) Then
  156.             STRING013 = BIGSTR003
  157.             Break
  158.         Endif
  159.         INTEGER003 = INTEGER003 + 1
  160.     EndWhile
  161.     FClose 1
  162.     AnsiPos 54, 9
  163.     If (BOOLEAN002 == 1) Then
  164.         FAppend 6, PPEPath() + "UT.LOG", 1, 3
  165.         FPutLn 6, "───-" + String(Date()) + " (" + String(Time()) + ")-────────────────────────────────────────────────"
  166.         FPutLn 6, "      Testing File: " + STRING013 + STRING007
  167.         FClose 6
  168.     Endif
  169.     STRING015 = FileInf(STRING013 + STRING007, 9)
  170.     If (InStr(Upper(STRING014), Upper(Mid(STRING015, 1, 3))) <> 0) Then
  171.         DispStr "@X0CNON-ZIP!"
  172.         If (BOOLEAN002 == 1) Then
  173.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  174.             FPutLn 6, "      FILE HAS UNWANTED TYPE"
  175.             FClose 6
  176.         Endif
  177.         BIGSTR003 = "@X0FH@X07ey @X0Fm@X07an@X08! @X0FD@X07o @X0Fn@X07ot @X0Fu@X07pl@X08oad @X0Fc@X07ra@X08p!@X07"
  178.         If (STRING016 == "D") Then
  179.             GetUser
  180.             U_Sec = U_Sec - INTEGER007
  181.             PutUser
  182.             If (BOOLEAN002 == 1) Then
  183.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  184.                 FPutLn 6, "      User's access level has been decreased"
  185.                 FClose 6
  186.             Endif
  187.             BIGSTR003 = "@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"
  188.         Endif
  189.         If (STRING016 == "H") Then
  190.             If (BOOLEAN002 == 1) Then
  191.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  192.                 FPutLn 6, "      User has been disconnected"
  193.                 FClose 6
  194.             Endif
  195.             Hangup
  196.         Endif
  197.         If (STRING016 == "K") Then
  198.             GetUser
  199.             U_Sec = 0
  200.             PutUser
  201.             DelUser
  202.             If (BOOLEAN002 == 1) Then
  203.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  204.                 FPutLn 6, "      User has been killed"
  205.                 FClose 6
  206.             Endif
  207.             BIGSTR003 = "@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"
  208.         Endif
  209.         AnsiPos 1, 20
  210.         FOpen 1, TempPath() + "FAILURE", 2, 0
  211.         FPut 1, BIGSTR003 + Chr(13) + Chr(10)
  212.         FPut 1, " "
  213.         FClose 1
  214.         AnsiPos 1, 20
  215.         RdUNet PcbNode()
  216.         WrUNet PcbNode(), UN_Stat(), UN_Name(), BIGSTR011, BIGSTR012, ""
  217.         Stop
  218.     Endif
  219.     DispStr "@X0FZIP"
  220.     AnsiPos 54, 10
  221.     DispStr "@X8FWORKING"
  222.     If (Exist(STRING009 + "pcbfail.txt") == 1) Delete STRING009 + "pcbfail.txt"
  223.     If (OnLocal() == 1) Gosub LABEL004
  224.     Shell 0, INTEGER002, STRING010 + "PKUNZIP.EXE", " -t " + STRING013 + STRING007
  225.     If (OnLocal() == 1) Gosub LABEL005
  226.     If (INTEGER002 > 0) Then
  227.         AnsiPos 54, 10
  228.         DispStr "@X0CFAILED  "
  229.         If (BOOLEAN002 == 1) Then
  230.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  231.             FPutLn 6, "      FILE FAILED VERIFICATION CHECK"
  232.             FClose 6
  233.         Endif
  234.         AnsiPos 1, 20
  235.         FOpen 1, TempPath() + "FAILURE", 2, 0
  236.         FPut 1, Chr(13) + Chr(10)
  237.         FPut 1, " "
  238.         FClose 1
  239.         RdUNet PcbNode()
  240.         WrUNet PcbNode(), UN_Stat(), UN_Name(), BIGSTR011, BIGSTR012, ""
  241.         Stop
  242.     Endif
  243.     AnsiPos 54, 10
  244.     DispStr "@X0FCRC OK  "
  245.     If (BOOLEAN002 == 1) Then
  246.         FAppend 6, PPEPath() + "UT.LOG", 1, 3
  247.         FPutLn 6, "      CRC OK"
  248.         FClose 6
  249.     Endif
  250.     DATE001 = FileInf(STRING013 + STRING007, 2)
  251.     If (INTEGER006 == 0) Then
  252.         If (DATE002 > DATE001) Then
  253.             BOOLEAN001 = 1
  254.         Else
  255.             BOOLEAN001 = 0
  256.         Endif
  257.     ElseIf (Date() - INTEGER005 > DATE001) Then
  258.         BOOLEAN001 = 1
  259.     Else
  260.         BOOLEAN001 = 0
  261.     Endif
  262.     If (BOOLEAN001 == 0) Then
  263.         AnsiPos 54, 11
  264.         DispStr "@X0FSUITABLE"
  265.     Endif
  266.     If (BOOLEAN001 == 1) Then
  267.         AnsiPos 54, 11
  268.         DispStr "@X0CTOO OLD!"
  269.         If (BOOLEAN002 == 1) Then
  270.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  271.             FPutLn 6, "      FILE IS TOO OLD"
  272.             FClose 6
  273.         Endif
  274.         BIGSTR003 = "@X0FH@X07ey @X0Fm@X07an@X08! @X0FD@X07o @X0Fn@X07ot @X0Fu@X07pl@X08oad @X0Fc@X07ra@X08p!@X07"
  275.         If (STRING016 == "D") Then
  276.             GetUser
  277.             U_Sec = U_Sec - INTEGER007
  278.             PutUser
  279.             If (BOOLEAN002 == 1) Then
  280.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  281.                 FPutLn 6, "      User's access level has been decreased"
  282.                 FClose 6
  283.             Endif
  284.             BIGSTR003 = "@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"
  285.         Endif
  286.         If (STRING016 == "H") Then
  287.             If (BOOLEAN002 == 1) Then
  288.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  289.                 FPutLn 6, "      User has been disconnected"
  290.                 FClose 6
  291.             Endif
  292.             Hangup
  293.         Endif
  294.         If (STRING016 == "K") Then
  295.             GetUser
  296.             U_Sec = 0
  297.             PutUser
  298.             DelUser
  299.             If (BOOLEAN002 == 1) Then
  300.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  301.                 FPutLn 6, "      User has been killed"
  302.                 FClose 6
  303.             Endif
  304.             BIGSTR003 = "@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"
  305.         Endif
  306.         FOpen 1, TempPath() + "FAILURE", 2, 0
  307.         FPut 1, BIGSTR003 + Chr(13) + Chr(10)
  308.         FPut 1, " "
  309.         FClose 1
  310.         AnsiPos 1, 20
  311.         RdUNet PcbNode()
  312.         WrUNet PcbNode(), UN_Stat(), UN_Name(), BIGSTR011, BIGSTR012, ""
  313.         Stop
  314.     Endif
  315.     BIGSTR006 = ""
  316.     AnsiPos 54, 12
  317.     DispStr "@X8FWORKING"
  318.     AnsiPos 54, 12
  319.     If (OnLocal() == 1) Gosub LABEL004
  320.     Shell 0, INTEGER002, STRING010 + "PKUNZIP.EXE", " -o " + STRING013 + STRING007 + " " + TempPath() + " FiLE_iD.DiZ"
  321.     If (OnLocal() == 1) Gosub LABEL005
  322.     If (INTEGER002 > 0) Then
  323.         AnsiPos 54, 12
  324.         DispStr "@X0FNOT FOUND"
  325.         If (BOOLEAN002 == 1) Then
  326.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  327.             FPutLn 6, "      FILE_ID.DIZ does not found"
  328.             FClose 6
  329.         Endif
  330.         AnsiPos 1, 20
  331.     Else
  332.         INTEGER002 = 0
  333.         BOOLEAN004 = 0
  334.         If (Upper(STRING003) == "N") Then
  335.             BOOLEAN004 = 1
  336.         ElseIf (Exist(STRING003) == 0) Then
  337.             If (BOOLEAN002 == 1) Then
  338.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  339.                 FPutLn 6, "       " + STRING003 + " does not found"
  340.                 FClose 6
  341.             Endif
  342.             BOOLEAN004 = 1
  343.         Endif
  344.         If (BOOLEAN004 == 0) Then
  345.             FOpen 6, STRING003, 0, 3
  346.             While ((Ferr(6) == 0) && (INTEGER002 < 33)) Do
  347.                 INTEGER002 = INTEGER002 + 1
  348.                 FGet 6, TSTRING017(INTEGER002)
  349.             EndWhile
  350.             FClose 6
  351.             INTEGER009 = INTEGER002
  352.         Endif
  353.         If (Upper(STRING005) == "N") Goto LABEL001
  354.         If (Exist(STRING005) == 0) Then
  355.             If (BOOLEAN002 == 1) Then
  356.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  357.                 FPutLn 6, "       " + STRING005 + " does not found"
  358.                 FClose 6
  359.             Endif
  360.             AnsiPos 1, 20
  361.         Else
  362.             AnsiPos 54, 12
  363.             DispStr "@X8FWORKING"
  364.             FOpen 1, TempPath() + "FILE_ID.DIZ", 2, 0
  365.             FOpen 2, TempPath() + "FILE_ID.TMP", 2, 0
  366.             While (Ferr(1) == 0) Do
  367.                 FGet 1, BIGSTR001
  368.                 FPutLn 2, BIGSTR001
  369.             EndWhile
  370.             FClose 1
  371.             FClose 2
  372.             Append STRING005, TempPath() + "FILE_ID.TMP"
  373.             If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  374.             Rename TempPath() + "FILE_ID.TMP", TempPath() + "FILE_ID.DIZ"
  375.             If (BOOLEAN004 == 0) Then
  376.                 FOpen 1, TempPath() + "FILE_ID.DIZ", 2, 0
  377.                 FOpen 2, TempPath() + "FILE_ID.TMP", 2, 0
  378.                 While (Ferr(1) == 0) Do
  379.                     FGet 1, BIGSTR001
  380.                     BOOLEAN005 = 0
  381.                     For INTEGER002 = 1 To INTEGER009
  382.                         If (InStr(Upper(BIGSTR001), Upper(TSTRING017(INTEGER002))) <> 0) BOOLEAN005 = 1
  383.                     Next
  384.                     If (BOOLEAN005 == 0) FPutLn 2, BIGSTR001
  385.                 EndWhile
  386.                 FClose 1
  387.                 FClose 2
  388.                 If (Exist(TempPath() + "FILE_ID.DIZ") == 1) Delete TempPath() + "FILE_ID.DIZ"
  389.                 Rename TempPath() + "FILE_ID.TMP", TempPath() + "FILE_ID.DIZ"
  390.             Endif
  391.         Endif
  392.         :LABEL001
  393.         AnsiPos 54, 12
  394.         DispStr "@X0FDONE    "
  395.         BOOLEAN001 = 1
  396.         AnsiPos 1, 20
  397.         FOpen 1, TempPath() + "UPDESC" + STRING008, 2, 0
  398.         FOpen 2, TempPath() + "FILE_ID.DIZ", 2, 0
  399.         FGet 1, BIGSTR003
  400.         BIGSTR003 = Mid(BIGSTR003, 1, 33)
  401.         FClose 1
  402.         FOpen 1, TempPath() + "UPDESC" + STRING008, 2, 0
  403.         FPut 1, BIGSTR003
  404.         FGet 2, BIGSTR003
  405.         FPutLn 1, BIGSTR003
  406.         While (Ferr(2) == 0) Do
  407.             FGet 2, BIGSTR001
  408.             FPutLn 1, "                               " + "| " + BIGSTR001
  409.         EndWhile
  410.         FClose 1
  411.         FClose 2
  412.         Copy TempPath() + "FILE_ID.DIZ", BIGSTR009 + "FILE_ID.DIZ"
  413.     Endif
  414.     AnsiPos 54, 14
  415.     If (Upper(STRING004) == "N") Then
  416.         AnsiPos 54, 14
  417.         DispStr "@X08SKIPPED"
  418.     Else
  419.         If (Exist(STRING004) == 0) Then
  420.             AnsiPos 54, 14
  421.             DispStr "@X08SKIPPED"
  422.             If (BOOLEAN002 == 1) Then
  423.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  424.                 FPutLn 6, "       " + STRING004 + " not found!"
  425.                 FClose 6
  426.             Endif
  427.             STRING004 = "FUCK"
  428.         Endif
  429.         If (Upper(STRING004) <> "N") Then
  430.             AnsiPos 54, 14
  431.             DispStr "@X8FWORKING"
  432.             If (OnLocal() == 1) Gosub LABEL004
  433.             Shell 1, INTEGER002, STRING010 + "PKZIP.EXE", " -z -b" + BIGSTR010 + " " + STRING013 + STRING007 + " <" + STRING004
  434.             If (OnLocal() == 1) Gosub LABEL005
  435.             If (INTEGER002 == 0) Then
  436.                 AnsiPos 54, 14
  437.                 DispStr "@X0FDONE   "
  438.             Endif
  439.             If (INTEGER002 > 0) Then
  440.                 AnsiPos 54, 14
  441.                 DispStr "@X0FFAILED  "
  442.                 If (BOOLEAN002 == 1) Then
  443.                     FAppend 6, PPEPath() + "UT.LOG", 1, 3
  444.                     FPutLn 6, "      Failed adding comment to ZIP"
  445.                     FClose 6
  446.                 Endif
  447.             Endif
  448.         Endif
  449.     Endif
  450.     AnsiPos 54, 15
  451.     If ((Upper(STRING006) == "N") && (BOOLEAN003 == 0)) Then
  452.         AnsiPos 54, 15
  453.         DispStr "@X08SKIPPED"
  454.     ElseIf (Upper(STRING006) <> "N") Then
  455.         AnsiPos 54, 15
  456.         DispStr "@X8FWORKING"
  457.         BIGSTR006 = BIGSTR006 + " " + STRING006
  458.         AnsiPos 54, 15
  459.         DispStr "@X0FDONE   "
  460.     Endif
  461.     If (BOOLEAN003 == 1) Then
  462.         AnsiPos 54, 15
  463.         DispStr "@X8FWORKING"
  464.         DATE001 = Date()
  465.         TIME001 = Time()
  466.         If (Len(String(Hour(TIME001))) == 1) Then
  467.             BIGSTR008 = "0" + String(Hour(TIME001))
  468.         Endif
  469.         If (Len(String(Hour(TIME001))) == 2) Then
  470.             BIGSTR008 = String(Hour(TIME001))
  471.         Endif
  472.         STRING001 = BIGSTR008 + ":"
  473.         If (Len(String(Min(TIME001))) == 1) Then
  474.             BIGSTR008 = "0" + String(Min(TIME001))
  475.         Endif
  476.         If (Len(String(Min(TIME001))) == 2) Then
  477.             BIGSTR008 = String(Min(TIME001))
  478.         Endif
  479.         STRING001 = STRING001 + BIGSTR008
  480.         If (Month(DATE001) == 1) BIGSTR003 = "January"
  481.         If (Month(DATE001) == 2) BIGSTR003 = "February"
  482.         If (Month(DATE001) == 3) BIGSTR003 = "March"
  483.         If (Month(DATE001) == 4) BIGSTR003 = "April"
  484.         If (Month(DATE001) == 5) BIGSTR003 = "May"
  485.         If (Month(DATE001) == 6) BIGSTR003 = "June"
  486.         If (Month(DATE001) == 7) BIGSTR003 = "July"
  487.         If (Month(DATE001) == 8) BIGSTR003 = "August"
  488.         If (Month(DATE001) == 9) BIGSTR003 = "September"
  489.         If (Month(DATE001) == 10) BIGSTR003 = "October"
  490.         If (Month(DATE001) == 11) BIGSTR003 = "November"
  491.         If (Month(DATE001) == 12) BIGSTR003 = "December"
  492.         STRING002 = BIGSTR003 + " " + String(Day(DATE001)) + ", " + String(Year(DATE001))
  493.         If (INTEGER008 == 1) Then
  494.             BIGSTR002 = "This file was uploaded at " + STRING001 + " (" + STRING002 + ")"
  495.         Endif
  496.         If (INTEGER008 == 2) Then
  497.             BIGSTR002 = "File " + Strip(STRING007, " ") + " was uploaded at " + STRING001 + " (" + STRING002 + ")"
  498.         Endif
  499.         If (INTEGER008 == 3) Then
  500.             BIGSTR002 = "File " + Strip(STRING007, " ") + " was uploaded by " + U_Name() + " at " + STRING001 + " (" + STRING002 + ")"
  501.         Endif
  502.         If (PcbNode() <> 0) Then
  503.             BIGSTR002 = BIGSTR002 + " [Node " + String(PcbNode()) + "]"
  504.         Endif
  505.         For INTEGER002 = 1 To 11
  506.             STRING011 = STRING011 + Chr(Random(25) + 65)
  507.         Next
  508.         BIGSTR007 = Mid(STRING011, 1, 8) + ".TXT"
  509.         STRING011 = BIGSTR009 + Mid(STRING011, 1, 8) + ".TXT"
  510.         If (Exist(BIGSTR004) == 0) Then
  511.             If (BOOLEAN002 == 1) Then
  512.                 FAppend 6, PPEPath() + "UT.LOG", 1, 3
  513.                 FPutLn 6, "      " + BIGSTR004 + " does not exist"
  514.                 FClose 6
  515.             Endif
  516.             AnsiPos 54, 15
  517.             DispStr "@X0FDONE   "
  518.             Goto LABEL002
  519.         Endif
  520.         FOpen 2, BIGSTR004, 2, 3
  521.         FOpen 1, STRING011, 2, 3
  522.         While (Ferr(2) == 0) Do
  523.             FGet 2, BIGSTR001
  524.             FPutLn 1, BIGSTR001
  525.         EndWhile
  526.         FPutLn 1, ""
  527.         FPutLn 1, " ──────────────────────────────────────────────────────────────────────────────"
  528.         FPutLn 1, "     " + BIGSTR002
  529.         FPutLn 1, ""
  530.         FPutLn 1, "     TESTED BY LARS UPLOAD PROCESSOR (tm) v2.3 PPE! BY LARS ULRICH '94 [DoD]   "
  531.         FPutLn 1, " ──────────────────────────────────────────────────────────────────────────────"
  532.         FClose 1
  533.         FClose 2
  534.         AnsiPos 54, 15
  535.         DispStr "@X0FDONE   "
  536.         Goto LABEL002
  537.     Endif
  538.     :LABEL002
  539.     FCreate 1, BIGSTR009 + "ZLIST" + STRING008, 2, 3
  540.     FPutLn 1, BIGSTR006
  541.     FPutLn 1, BIGSTR009 + "FILE_ID.DIZ"
  542.     FPutLn 1, STRING011
  543.     FPutLn 1, ""
  544.     FClose 1
  545.     If (OnLocal() == 1) Gosub LABEL004
  546.     Shell 0, INTEGER002, STRING010 + "PKZIP.EXE", " -ex -b" + BIGSTR010 + " " + STRING013 + STRING007 + " @" + BIGSTR009 + "ZLIST" + STRING008
  547.     Delete "ZLIST" + STRING008
  548.     If (OnLocal() == 1) Gosub LABEL005
  549.     If (INTEGER002 > 0) Then
  550.         If (BOOLEAN002 == 1) Then
  551.             FAppend 6, PPEPath() + "UT.LOG", 1, 3
  552.             FPutLn 6, "      Failed Adding PASSTHRU/BBS Ads/FILE_ID.DIZ"
  553.             FClose 6
  554.         Endif
  555.     Endif
  556.     AnsiPos 1, 20
  557.     RdUNet PcbNode()
  558.     WrUNet PcbNode(), UN_Stat(), UN_Name(), BIGSTR011, BIGSTR012, ""
  559.     Stop
  560.     :LABEL003
  561.     FOpen 1, STRING012, 0, 3
  562.     FOpen 2, PPEPath() + "UT.PAT", 2, 3
  563.     While (Ferr(1) == 0) Do
  564.         BIGSTR003 = ""
  565.         FGet 1, BIGSTR003
  566.         For INTEGER003 = 1 To 14
  567.             FGet 1, BIGSTR003
  568.         Next
  569.         FGet 1, BIGSTR003
  570.         FPutLn 2, BIGSTR003
  571.         For INTEGER003 = 1 To 15
  572.             FGet 1, BIGSTR003
  573.         Next
  574.         For INTEGER003 = 1 To 2
  575.             FGet 1, BIGSTR003
  576.         Next
  577.     EndWhile
  578.     FClose 1
  579.     FClose 2
  580.     FOpen 1, PPEPath() + "UT.DAT", 2, 3
  581.     DATE001 = FileInf(STRING012, 2)
  582.     TIME001 = FileInf(STRING012, 3)
  583.     FPutLn 1, DATE001
  584.     FPutLn 1, TIME001
  585.     FClose 1
  586.     BOOLEAN001 = 0
  587.     Return
  588.     :LABEL004
  589.     For INTEGER003 = 1 To 20
  590.         TBIGSTR005(INTEGER003) = ScrText(1, INTEGER003, 80, 1)
  591.     Next
  592.     Return
  593.     :LABEL005
  594.     For INTEGER003 = 1 To 20
  595.         AnsiPos 1, INTEGER003
  596.         DispStr TBIGSTR005(INTEGER003)
  597.     Next
  598.     Return
  599.  
  600. ;------------------------------------------------------------------------------
  601. ;
  602. ; Usage report (before postprocessing)
  603. ;
  604. ; ■ Statements used :
  605. ;
  606. ;    105     Goto 
  607. ;    101     Let 
  608. ;    107     If 
  609. ;    1       FCreate 
  610. ;    20      FOpen 
  611. ;    18      FAppend 
  612. ;    39      FClose 
  613. ;    32      FGet 
  614. ;    7       FPut 
  615. ;    37      FPutLn 
  616. ;    2       Hangup
  617. ;    4       GetUser
  618. ;    4       PutUser
  619. ;    4       Delete 
  620. ;    2       DelUser
  621. ;    2       Log 
  622. ;    9       Gosub 
  623. ;    3       Return
  624. ;    4       Shell 
  625. ;    5       Stop
  626. ;    42      DispStr 
  627. ;    5       RdUNet 
  628. ;    5       WrUNet 
  629. ;    34      AnsiPos 
  630. ;    2       Rename 
  631. ;    1       Append 
  632. ;    1       Copy 
  633. ;
  634. ;
  635. ; ■ Functions used :
  636. ;
  637. ;    187     +
  638. ;    3       -
  639. ;    86      ==
  640. ;    8       <>
  641. ;    9       <
  642. ;    8       <=
  643. ;    6       >
  644. ;    16      >=
  645. ;    75      !
  646. ;    18      &&
  647. ;    8       ||
  648. ;    4       Len(
  649. ;    12      Upper()
  650. ;    4       Mid()
  651. ;    8       Ferr()
  652. ;    43      Chr()
  653. ;    3       InStr()
  654. ;    1       Random()
  655. ;    3       Date()
  656. ;    2       Time()
  657. ;    1       U_Name()
  658. ;    1       Year()
  659. ;    12      Month()
  660. ;    1       Day()
  661. ;    4       Hour()
  662. ;    4       Min()
  663. ;    2       Strip()
  664. ;    14      String()
  665. ;    1       PCBDat()
  666. ;    25      PPEPath()
  667. ;    14      PcbNode()
  668. ;    8       OnLocal()
  669. ;    5       UN_Stat()
  670. ;    5       UN_Name()
  671. ;    1       UN_City()
  672. ;    1       UN_Oper()
  673. ;    10      Exist()
  674. ;    6       FileInf()
  675. ;    21      TempPath()
  676. ;    2       ScrText()
  677. ;
  678. ;------------------------------------------------------------------------------
  679. ;
  680. ; Analysis flags : WDBSd
  681. ;
  682. ; W - Write user ■ 5
  683. ;     Program writes a user record. Although this may be normal for a
  684. ;     User Editor, it may also be a way to modify an account level.
  685. ;     ■ Search for : PUTUSER
  686. ;
  687. ; D - Delete user ■ 5
  688. ;     Program is deleting account(s)... Check!
  689. ;     ■ Search for : DELUSER
  690. ;
  691. ; B - Brute hangup ■ 1
  692. ;     Program hangup without notification. This may be a good way to
  693. ;     disconnect a user, but if used randomly, may be very nasty
  694. ;     ■ Search for : HANGUP, DTROFF
  695. ;
  696. ; S - Shell to DOS ■ 5
  697. ;     This may be normal if the PPE need to execute an external command,
  698. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  699. ;     or usefull (sorting, maintenance,...). Check!
  700. ;     ■ Search for : SHELL
  701. ;
  702. ; d - Access PCBOARD.DAT ■ 2
  703. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  704. ;     for many PPE so they can find various informations on the system
  705. ;     (system paths, max number of lines in messages, ...) but it may also
  706. ;     be a way to gather vital informations.
  707. ;     ■ Search for : PCBDAT()
  708. ;
  709. ;------------------------------------------------------------------------------
  710. ;
  711. ; Postprocessing report
  712. ;
  713. ;    8       For/Next
  714. ;    7       While/EndWhile
  715. ;    60      If/Then or If/Then/Else
  716. ;    0       Select Case
  717. ;
  718. ;------------------------------------------------------------------------------
  719. ;                 AEGiS Corp - Break the routines, code against the machines!
  720. ;------------------------------------------------------------------------------
  721.