home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / MS_DEV / VID / SERVER / ASF / DATA.Z / code.asp < prev    next >
Text File  |  1996-10-22  |  4KB  |  150 lines

  1. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  2.  
  3.  REM *************** NOTICE ****************
  4.  REM * This file may only be used to view  *
  5.  REM * source code of .asp files in the    *
  6.  REM * AdvWorks directory.  If you wish to *
  7.  REM * change the security on this, modify *
  8.  REM * or remove this function.            *
  9.  REM ***************************************
  10.  
  11.  FUNCTION fValidPath (ByVal strPath)
  12.   If InStr(1, strPath, "/AdvWorks/", 1) Then
  13.     fValidPath = 1
  14.   Else
  15.     fValidPath = 0
  16.   End If
  17.  END FUNCTION
  18. </SCRIPT>
  19.  
  20. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  21.  REM Returns the minimum number greater than 0
  22.  REM If both are 0, returns -1
  23.  FUNCTION fMin (iNum1, iNum2)
  24.   If iNum1 = 0 AND iNum2 = 0 Then
  25.     fMin = -1
  26.   ElseIf iNum2 = 0 Then
  27.     fMin = iNum1
  28.   ElseIf iNum1 = 0 Then
  29.     fMin = iNum2
  30.   ElseIf iNum1 < iNum2 Then
  31.     fMin = iNum1
  32.   Else 
  33.     fMin = iNum2
  34.   End If
  35.  END FUNCTION
  36. </SCRIPT>
  37.  
  38. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  39.  FUNCTION fCheckLine (ByVal strLine)
  40.  
  41.   fCheckLine = 0
  42.   iTemp = 0
  43.  
  44.   iPos = InStr(strLine, "<" & "%")
  45.   If fMin(iTemp, iPos) = iPos Then
  46.     iTemp = iPos
  47.     fCheckLine = 1
  48.   End If
  49.   
  50.   iPos = InStr(strLine, "%" & ">")
  51.   If fMin(iTemp, iPos) = iPos Then
  52.     iTemp = iPos
  53.     fCheckLine = 2
  54.   End If
  55.  
  56.   iPos = InStr(1, strLine, "<" & "SCRIPT", 1)
  57.   If fMin(iTemp, iPos) = iPos Then
  58.     iTemp = iPos
  59.     fCheckLine = 3
  60.   End If
  61.  
  62.   iPos = InStr(1, strLine, "<" & "/SCRIPT", 1)
  63.   If fMin(iTemp, iPos) = iPos Then
  64.     iTemp = iPos
  65.     fCheckLine = 4
  66.   End If
  67.  
  68.  END FUNCTION
  69. </SCRIPT>
  70.  
  71. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  72.  SUB PrintHTML (ByVal strLine)
  73.   iSpaces = Len(strLine) - Len(LTrim(strLine))
  74.   If iSpaces > 0 Then
  75.     For i = 1 to iSpaces
  76.       Response.Write(" ")
  77.     Next
  78.   End If
  79.   iPos = InStr(strLine, "<")
  80.   If iPos Then
  81.     Response.Write(Left(strLine, iPos - 1))
  82.     Response.Write("<")
  83.     strLine = Right(strLine, Len(strLine) - iPos)
  84.     Call PrintHTML(strLine)
  85.   Else
  86.     Response.Write(strLine)
  87.   End If
  88.  END SUB
  89. </SCRIPT>
  90.     
  91. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  92.  SUB PrintLine (ByVal strLine, iFlag)
  93.   Select Case iFlag
  94.     Case 0
  95.       Call PrintHTML(strLine)
  96.     Case 1
  97.       iPos = InStr(strLine, "<" & "%")
  98.       Call PrintHTML(Left(strLine, iPos - 1))
  99.       Response.Write("<FONT COLOR=#ff0000>")
  100.       Response.Write("<%")
  101.       strLine = Right(strLine, Len(strLine) - (iPos + 1))
  102.       Call PrintLine(strLine, fCheckLine(strLine))
  103.     Case 2
  104.       iPos = InStr(strLine, "%" & ">")
  105.       Call PrintHTML(Left(strLine, iPos -1))
  106.       Response.Write("%>")
  107.       Response.Write("</FONT>")
  108.       strLine = Right(strLine, Len(strLine) - (iPos + 1))
  109.       Call PrintLine(strLine, fCheckLine(strLine))
  110.     Case 3
  111.       iPos = InStr(1, strLine, "<" & "SCRIPT", 1)
  112.       Call PrintHTML(Left(strLine, iPos - 1))
  113.       Response.Write("<FONT COLOR=#0000ff>")
  114.       Response.Write("<SCRIPT")
  115.       strLine = Right(strLine, Len(strLine) - (iPos + 6))
  116.       Call PrintLine(strLine, fCheckLine(strLine))
  117.     Case 4
  118.       iPos = InStr(1, strLine, "<" & "/SCRIPT>", 1)
  119.       Call PrintHTML(Left(strLine, iPos - 1))
  120.       Response.Write("</SCRIPT>")
  121.       Response.Write("</FONT>")
  122.       strLine = Right(strLine, Len(strLine) - (iPos + 8))
  123.       Call PrintLine(strLine, fCheckLine(strLine))
  124.     Case Else
  125.       Response.Write("FUNCTION ERROR -- PLEASE CONTACT ADMIN.")
  126.   End Select
  127.  END SUB
  128. </SCRIPT>
  129.  
  130. <HTML>
  131. <HEAD><TITLE>View Source Code</TITLE></HEAD>
  132.  
  133. <%
  134. strVirtualPath = Request("source")
  135. If fValidPath(strVirtualPath) Then
  136.     strFilename = Server.MapPath(strVirtualPath)
  137.     Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
  138.     Set oInStream = FileObject.OpenTextFile (strFilename, 1, FALSE, TRUE )
  139.     While NOT oInStream.AtEndOfStream
  140.       strOutput = oInStream.ReadLine
  141.       Call PrintLine(strOutput, fCheckLine(strOutput))
  142.       Response.Write("<BR>")
  143.     Wend
  144.   Else
  145.     Response.Write("<H1>View Source Code -- Access Denied</H1>")
  146.   End If  
  147. %>
  148.  
  149. </HTML>
  150.