home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 September / CHIPCD_9_99.iso / software / uaktualnienia / OptionPackPL / iis4_07.cab / CodeBrws.asp1 < prev    next >
Text File  |  1998-04-27  |  6KB  |  197 lines

  1. <% Option Explicit %>
  2.  
  3. <HTML>
  4. <HEAD>
  5. <META NAME="DESCRIPTION" CONTENT="ASP Source code browser">
  6. <META NAME="GENERATOR" CONTENT="Microsoft Visual InterDev 1.0">
  7. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso8859-1">
  8. </HEAD>
  9.  
  10. <BODY  BGCOLOR=#FFFFFF TOPMARGIN=0 LEFTMARGIN=0 ALINK=#23238E VLINK=#808080 LINK=#FFCC00>
  11. <BASEFONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2>
  12.  
  13. <!-- DISPLAY THE COLOR LEGEND -->
  14. <TABLE BORDER=1>
  15.     <TR>
  16.       <TD WIDTH="25" BGCOLOR="#FF0000">  </TD>
  17.       <TD><FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="2">ASP Script</FONT></TD>
  18.     </TR>
  19.     <TR>
  20.       <TD BGCOLOR="#0000FF">  </TD>
  21.       <TD><FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="2">Comments</FONT></TD>
  22.     </TR>
  23.     <TR>
  24.       <TD BGCOLOR="#000000">  </TD>
  25.       <% If InStr(UCase(Request("Source")),".CDX") > 0 Then %>
  26.         <TD><FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="2">XML and Text</FONT></TD>
  27.       <% Else %>
  28.         <TD><FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="2">HTML and Text</FONT></TD>
  29.       <% End If %>
  30.     </TR>
  31. </TABLE>
  32.  
  33. <HR>
  34. <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="2">
  35.   <% OutputSource %>
  36. </FONT>
  37. </BODY>
  38. </HTML>
  39.  
  40. <%
  41.   Sub OutputSource
  42.     Dim strVirtualPath, strFilename
  43.     strVirtualPath = Request("Source")
  44.     strFilename = Server.MapPath(strVirtualPath)
  45.     
  46.     Dim FileObject, oInStream, strOutput
  47.     Set FileObject = CreateObject("Scripting.FileSystemObject")
  48.     Set oInStream = FileObject.OpenTextFile(strFilename, 1, 0, 0)
  49.     While NOT oInStream.AtEndOfStream
  50.       strOutput = oInStream.ReadLine
  51.       Call PrintLine(strOutput, fCheckLine(strOutput))
  52.       Response.Write "<BR>"
  53.     Wend
  54.   End Sub
  55.  
  56.   ' Returns the minimum number greater than 0
  57.   ' If both are 0, returns -1
  58.   Function fMin(iNum1, iNum2)
  59.     If iNum1 = 0 AND iNum2 = 0 Then
  60.       fMin = -1
  61.     ElseIf iNum2 = 0 Then
  62.       fMin = iNum1
  63.     ElseIf iNum1 = 0 Then
  64.       fMin = iNum2
  65.     ElseIf iNum1 < iNum2 Then
  66.       fMin = iNum1
  67.     Else 
  68.       fMin = iNum2
  69.     End If
  70.   End Function
  71.  
  72.   Function fCheckLine (ByVal strLine)
  73.   Dim iTemp, iPos
  74.   fCheckLine = 0
  75.   iTemp = 0
  76.   
  77.   iPos = InStr(strLine, "<" & "%")
  78.   If fMin(iTemp, iPos) = iPos Then
  79.     iTemp = iPos
  80.     fCheckLine = 1
  81.   End If
  82.   
  83.   iPos = InStr(strLine, "%" & ">")
  84.   If fMin(iTemp, iPos) = iPos Then
  85.     iTemp = iPos
  86.     fCheckLine = 2
  87.   End If
  88.   
  89.   iPos = InStr(1, strLine, "<" & "SCRIPT", 1)
  90.   If fMin(iTemp, iPos) = iPos Then
  91.     iTemp = iPos
  92.     fCheckLine = 3
  93.   End If
  94.   
  95.   iPos = InStr(1, strLine, "<" & "/SCRIPT", 1)
  96.   If fMin(iTemp, iPos) = iPos Then
  97.     iTemp = iPos
  98.     fCheckLine = 4
  99.   End If
  100.   
  101.   iPos = InStr(1, strLine, "<" & "!--", 1)
  102.   If fMin(iTemp, iPos) = iPos Then
  103.     iTemp = iPos
  104.     fCheckLine = 5
  105.   End If
  106.   
  107.   iPos = InStr(1, strLine, "-" & "->", 1)
  108.   If fMin(iTemp, iPos) = iPos Then
  109.     iTemp = iPos
  110.     fCheckLine = 6
  111.   End If
  112.   
  113.   End Function
  114.  
  115.   Sub PrintHTML (ByVal strLine)
  116.     Dim iPos, iSpaces, i
  117.     iSpaces = Len(strLine) - Len(LTrim(strLine))
  118.     i = 1
  119.     While Mid(Strline, i, 1) = Chr(9)
  120.       iSpaces = iSpaces + 5
  121.       i = i + 1
  122.     Wend
  123.     If iSpaces > 0 Then
  124.       For i = 1 to iSpaces
  125.         Response.Write(" ")
  126.       Next
  127.     End If
  128.     iPos = InStr(strLine, "<")
  129.     If iPos Then
  130.       Response.Write(Left(strLine, iPos - 1))
  131.       Response.Write("<")
  132.       strLine = Right(strLine, Len(strLine) - iPos)
  133.       Call PrintHTML(strLine)
  134.     Else
  135.       Response.Write(strLine)
  136.     End If
  137.   End Sub
  138.  
  139.   Sub PrintLine (ByVal strLine, iFlag)
  140.     Dim iPos
  141.     Select Case iFlag
  142.       Case 0
  143.         Call PrintHTML(strLine)
  144.       
  145.       Case 1
  146.         iPos = InStr(strLine, "<" & "%")
  147.         Call PrintHTML(Left(strLine, iPos - 1))
  148.         Response.Write("<FONT COLOR=#ff0000>")
  149.         Response.Write("<%")
  150.         strLine = Right(strLine, Len(strLine) - (iPos + 1))
  151.         Call PrintLine(strLine, fCheckLine(strLine))
  152.       
  153.       Case 2
  154.         iPos = InStr(strLine, "%" & ">")
  155.         Call PrintHTML(Left(strLine, iPos -1))
  156.         Response.Write("%>")
  157.         Response.Write("</FONT>")
  158.         strLine = Right(strLine, Len(strLine) - (iPos + 1))
  159.         Call PrintLine(strLine, fCheckLine(strLine))
  160.       
  161.       Case 3
  162.         iPos = InStr(1, strLine, "<" & "SCRIPT", 1)
  163.         Call PrintHTML(Left(strLine, iPos - 1))
  164.         Response.Write("<FONT COLOR=#0000ff>")
  165.         Response.Write("<SCRIPT")
  166.         strLine = Right(strLine, Len(strLine) - (iPos + 6))
  167.         Call PrintLine(strLine, fCheckLine(strLine))
  168.       
  169.       Case 4
  170.         iPos = InStr(1, strLine, "<" & "/SCRIPT>", 1)
  171.         Call PrintHTML(Left(strLine, iPos - 1))
  172.         Response.Write("</SCRIPT>")
  173.         Response.Write("</FONT>")
  174.         strLine = Right(strLine, Len(strLine) - (iPos + 8))
  175.         Call PrintLine(strLine, fCheckLine(strLine))
  176.       
  177.       Case 5
  178.         iPos = InStr(1, strLine, "<" & "!--", 1)
  179.         Call PrintHTML(Left(strLine, iPos - 1))
  180.         Response.Write("<FONT COLOR=#0000ff>")
  181.         Response.Write("<!--")
  182.         strLine = Right(strLine, Len(strLine) - (iPos + 3))
  183.         Call PrintLine(strLine, fCheckLine(strLine))
  184.       
  185.       Case 6
  186.         iPos = InStr(1, strLine, "-" & "->", 1)
  187.         Call PrintHTML(Left(strLine, iPos - 1))
  188.         Response.Write("-->")
  189.         Response.Write("</FONT>")
  190.         strLine = Right(strLine, Len(strLine) - (iPos + 2))
  191.         Call PrintLine(strLine, fCheckLine(strLine))
  192.       
  193.       Case Else
  194.         Response.Write("Function Error -- Please contact the administrator.")
  195.     End Select
  196.   End Sub
  197. %>