<%@ Language=VBScript %> <% Option Explicit %> <% Function FormatURL(strPath) 'Cut off everything before wwwroot and replace all \ with / Dim iPos iPos = InStr(1,strPath,"wwwroot",1) Dim str str = Mid(strPath,iPos+7,Len(strPath)) FormatURL = Replace(str,"\","/") End Function Function GetFiles(objFolder, aLookFor, strLF, bolLFFound,bolAnd, iCount) If Left(objFolder.Name,1) = "_" then exit function Const iListPerPage = 9 if iCount > iListPerPage then Exit Function 'Now, loop through each file Dim objFile, objTextStream, objFSO, strContents, iUBound, iLoop, bolValid Dim strTitle, iPos, strDesc iUBound = UBound(aLookFor) For Each objFile in objFolder.Files 'Do we need to search this file? If UCase(Right(objFile.Name,6)) = ".SHTML" then If bolLFFound then if objFile.Size > 0 then Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objTextStream = objFSO.OpenTextFile(objFile.Path,1) strContents = objTextStream.ReadAll objTextStream.Close Set objFSO = Nothing if bolAnd then bolValid = True else bolValid = False For iLoop = 0 to iUBound If InStr(1,strContents,aLookFor(iLoop),1) then if Not bolAnd then bolValid = True Else If bolAnd then bolValid = False End If Next If bolValid then iPos = InStr(1,strContents,"<!--TITLE:") If iPos = 0 then strTitle = "Untitled (" & objFile.Name & ")" strDesc = "" Else strTitle = Mid(strContents,iPos+10,InStr(iPos,strContents,"-->")-iPos-10) iPos = InStr(iPos,strContents,"<!--DESC:") If iPos = 0 then strDesc = "" Else strDesc = Mid(strContents,iPos+9,InStr(iPos,strContents,"-->")-iPos-9) End If End If Response.Write "<A HREF=""" & FormatURL(objFile.Path) & """>" & _ strTitle & "</A><BR>" & vbCrLf Response.Write "<FONT SIZE=2>" & strDesc Response.Write "</FONT><P>" & vbCrLf iCount = iCount + 1 End if If iCount > iListPerPage then strLF = FormatURL(objFile.Path) exit function End If End If Elseif FormatURL(objFile.Path) = strLF then bolLFFound = True End If End if Next Dim objSubFolder For Each objSubFolder in objFolder.SubFolders GetFiles objSubFolder,aLookFor,strLF,bolLFFound,bolAnd,iCount Next End Function 'Search the site! Dim strKeywords strKeywords = Request("terms") 'Split the terms on spaces Dim termsArray termsArray = split(strKeywords," ") 'Set the boolean search option Dim bolAnd If Request("boolean") = "AND" then bolAnd = True else bolAnd = False Dim section section = Request("selSearchWhere") 'Get the dirs to search If section = "HUMOR" then section = Server.MapPath("../humor/") else section = Server.MapPath("../webtech/") end if 'What page are we on? Dim strLastFile strLastFile=Request("lf") Dim objFSO, objFolder Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(section) Set objFSO = Nothing %> <!--#include virtual="/top.shtml"--> <CENTER><FONT SIZE=+2><B> Results of your Search </B></FONT><BR> <FONT SIZE=2><A HREF="/search/">Redefine your Search</A></FONT> </CENTER> <P><HR><P> Below are the results of your search in no particular order... <P> <% Dim iResults iResults = 0 'Now, recurse the directories If Len(strLastFile) = 0 then GetFiles objFolder,termsArray,strLastFile,True,bolAnd,iResults Else GetFiles objFolder,termsArray,strLastFile,False,bolAnd,iResults End If Set objFolder = Nothing If iResults = 10 then 'Show next page link %> <P><HR><P><LI><FONT SIZE=2><B> <A HREF="search.asp?terms=<%=Server.URLEncode(strKeywords)%>&boolean=<%=Request("boolean")%>&selSearchWhere=<%=Request("selSearchWhere")%>&lf=<%=Server.URLEncode(strLastFile)%>"> Show more results... </A></FONT> <P> <% Elseif iResults = 0 then 'No results found %> <B>No results found!</B><BR> <FONT SIZE=2><A HREF="/search/">Try another search...</A></FONT> <% End IF %> <!--#include virtual="/bottom.shtml"-->