<%
Response.Buffer=True
'
' OneFile Search Engine (ofSearch v1.0)
' Copyright ?000 Sixto Luis Santos <sixtos@prtc.net>
' All Rights Reserved
'
' Note:
' This program is freeware. This program is NOT in the Public Domain.
' You can freely use this program in your own site.
'
' You cannot re-distribute the code, by any means,
' without the express written authorization by the author.
'
' Use this program at your own risk.
'
' Globals --------------------------------------
' ----------------------------------------------
Const ValidFiles = "htmltxt"
Const RootFld = "./"
Dim Matched
Dim Regex
Dim GetTitle
Dim fs
Dim rfLen
dim RootFolder 
Dim DocCount
Dim DocMatchCount
Dim MatchedCount
' ----------------------------------------------
' Procedure: SearchFiles()
' ----------------------------------------------
Public Sub SearchFiles(FolderPath)
Dim fsFolder
Dim fsFolder2
Dim fsFile
Dim fsText
Dim FileText
Dim FileTitle
Dim FileTitleMatch
Dim MatchCount
Dim OutputLine
' Get the starting folder
Set fsFolder = fs.GetFolder(FolderPath)
' Iterate thru every file in the folder
For Each fsFile In fsFolder.Files
    ' Compare the current file extension with the list of valid target files
    If InStr(1, ValidFiles, Right(fsFile.Name, 3), vbTextCompare) > 0 Then
     DocCount = DocCount + 1
     ' Open the file to read its content
        Set fsText = fsFile.OpenAsTextStream
            FileText = fsText.ReadAll
            ' Apply the regex search and get the count of matches found
            MatchCount = Regex.Execute(FileText).Count
            MatchedCount = MatchedCount + MatchCount
            If  MatchCount > 0 Then
                DocMatchCount = DocMatchCount + 1
                ' Apply another regex to get the html document's title
                Set FileTitleMatch = GetTitle.Execute(FileText)
                If FileTitleMatch.Count > 0 Then
                    ' Strip the title tags
                    FileTitle = Trim(replace(Mid(FileTitleMatch.Item(0),8),"</title>","",1,1,1))
                    ' In case the title is empty
                    If FileTitle = "" Then
                     FileTitle = "No Title (" & fsFile.Name & ")"
                    End If
                Else
                    ' Create an alternate entry name (if no title found)
                    FileTitle = "No Title (" & fsFile.Name & ")"
                End If
                ' Create the entry line with proper formatting
                ' Add the entry number
                OutputLine = "  <b>" & DocMatchCount & ".</B> "
                ' Add the document name and link
                OutputLine = OutputLine & "<A href=" & chr(34) & RootFld & replace(Mid(fsFile.Path, 
rfLen),"\","/") & chr(34) & "><B>"
                OutputLine = OutputLine & FileTitle & "</B></a>"
                ' Add the document information
                OutputLine = OutputLine & "<font size=1><br>  Criteria matched " & MatchCount 
& " times - Size: " 
                OutputLine = OutputLine & FormatNumber(fsFile.Size / 1024,2 ,-1,0,-1) & "K bytes"
                OutputLine = OutputLine & " - Last Modified: " & formatdatetime
(fsFile.DateLastModified,vbShortDate) & "</Font><br>"
                ' Display entry 
                Response.Write OutputLine
                Response.Fl