<HTML>
<HEAD>
<meta HTTP-EQUIV="Expires" CONTENT="Tue, 04 Dec 1993 21:29:02 GMT">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Windows-1251">
</HEAD>
<BODY>
<%@ Language=VBScript %>
<%
Function FormatURL(strPath)
'ERROR !!!!!! Path is not formatted properly !
'Cut off everything before wwwroot and replace all \ with /
Dim iPos
iPos = InStr(1,strPath,"QM",1)
Dim str
a=Len(strPath)-iPos+1
str = right(strPath,a)
FormatURL = Replace(str,"\","/")
' FormatURL = Replace(strPath,"\","/")
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,4)) = ".HTM" or UCase(Right(objFile.Name,5)) = ".HTML" or UCase(Right(objFile.Name,4)) = ".ASP" 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
section = Server.MapPath("./QM")
'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
%>
<CENTER><FONT SIZE=+2><B>
Резултати от търсенето:
</B></FONT><BR>
<FONT SIZE=2><A HREF="/search/">Корекции в заявката за търсене.</A></FONT>
</CENTER>
<P><HR><P>
Това са резултатите от търсенето:
<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)%>">
Още резултати:
</A></FONT>
<P>
<% Elseif iResults = 0 then
'No results found %>
<B>Няма документи,съдържащи ключова дума !</B><BR>
<FONT SIZE=2><A HREF="/search/">Ново търсене.</A></FONT>
<% End IF %>
</BODY></HTML>
На самотен остров
ще те намеря...Редактирано от jamie на 23.10.01 13:08.
|