<%@ LANGUAGE = VBScript %> Search Web Folders <% dim useragent ' HTTP_USER_AGENT string from browser dim ieverstr ' MSIE Version string from HTTP_USER_AGENT dim iever ' IE Version (integer for comparison) useragent = Request.ServerVariables("HTTP_USER_AGENT") ieverstr = Mid(useragent,Instr(useragent,"MSIE")+5,4) iever = Left(ieverstr,1) if IsNumeric(iever) = False then iever = 0 %> <% if Instr(useragent,"MSIE") <> 0 and iever >= 4 then %> <% end if 'end of browser detection %> <% set QTest = nothing ' Define Constants Const FNAME = 0 Const COLNAME = 1 Const VTYPE = 2 Const PROP_STR = 0 ' Type (DBTYPE_WSTR | DBTYPE_BYREF) Const PROP_DATE = 1 ' Type (VT_FILETIME) Const PROP_INT = 2 ' Type (DBTYPE_I4) Const PROP_LONG = 3 ' Type (DBTYPE_I8) Const NUMPROPS = 100 Const NUMPROPARRAYCOLS = 4 Const HKEY_LOCAL_MACHINE = 2 ' Enumerations for Date Property dropdown Const DATEPROP_MODIFIED = 1 Const DATEPROP_CREATED = 2 Const DATEPROP_LASTACCESSED = 3 ' Enumerations for "Last x days/weeks/months/years" dropdown Const DATETYPE_DAY = 1 Const DATETYPE_WEEK = 2 Const DATETYPE_MONTH = 3 Const DATETYPE_YEAR = 4 ' Define Variables dim QueryForm ' URL of this page for form query dim ServerName ' Server name string from Request("SERVER_NAME") QueryForm = Request.ServerVariables("PATH_INFO") ServerName = Request.ServerVariables("SERVER_NAME") dim Conn,AdoCommand ' Vars for ADO Connection, ADO Command objects ' Custom Property file pointers,filename,location dim CustPropFile,CustPropFileName,CustPropFileLocation dim FileObj,Instream ' Property-attribute variables for PropArray dim LineStr,i,FNameStr,ColStr,VTypeStr,GuidStr,PropIdStr dim lcolstr ' Array to hold predefined & custom properties dim PropArray(100,4) 'dim PropArray(NUMPROPS,NUMPROPARRAYCOLS) dim PropNum ' index ' Vars for Search Query dim CiColumns,CiScope,CiRestriction dim Prop1,Prop2,Prop3 ' column names of Properties dim Prop1Name,Prop2Name,Prop3Name ' friendly names of Properties ' Var pointers for parsing strings dim leftstr,rightstr,strpos ' All outputted strings not in HTML and all error messages listed here for localization L_IndexServerErrorStr_TEXT = "Index Server is not installed. You cannot use this page. Contact your administratior." L_ExtServerErrorStr_TEXT = "This page can only search for files on this server" L_NoParamErrorStr_TEXT = "You must enter a search parameter." L_WrongInputErrorStr_TEXT = "You must enter a positive integer value for the date search, or click Find All Files." L_WrongPropInputErrorStr_TEXT = "You entered an incorrect type of value for a property." L_ConnErrorStr_TEXT = "An error occurred when opening a new connection. Index Server may not be installed correctly." L_CustPropFileErrorStr_TEXT = "An error occured when opening the custom property file. No custom properties have been defined." L_DefineErrorStr_TEXT = "An error occurred when defining a custom property for Index Server. Check the custom property file." L_IgnoredErrorStr_TEXT = "Your query contained invalid characters or contained only words ignored by Index Server." L_QueryErrorStr_TEXT = "An error occurred when processing your search query." L_NoMatchErrorStr_TEXT = "Your search did not find any matches." L_OperationErrStr_TEXT = "You can't use the 'Contains' operation with this property." L_AuthorStr_TEXT = "Author" L_CategoryStr_TEXT = "Category" L_CharacterCountStr_TEXT = "Character Count" L_CommentsStr_TEXT = "Comments" L_CompanyStr_TEXT = "Company" L_CreatedStr_TEXT = "Created" L_FileNameStr_TEXT = "File Name" L_KeywordsStr_TEXT = "Keywords" L_LastAccessedStr_TEXT = "Last Accessed" L_LastAuthorStr_TEXT = "Last Author" L_LastPrintedStr_TEXT = "Last Printed" L_LineCountStr_TEXT = "Line Count" L_ManagerStr_TEXT = "Manager" L_ModifiedStr_TEXT = "Modified" L_PageCountStr_TEXT = "Page Count" L_ParagraphCountStr_TEXT = "Paragraph Count" L_RevNumberStr_TEXT = "Revision Number" L_SizeStr_TEXT = "Size" L_SubjectStr_TEXT = "Subject" L_TitleStr_TEXT = "Title" L_WordCountStr_TEXT = "Word Count" L_Warn500Str_TEXT = "Warning: Your query may contain more results. Office Server Extensions will display only the first 500 results." ' Open connection to Index Server via ADO, if there's a problem, return error On Error Resume Next Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "provider=msidxs;" Conn.Open Set AdoCommand = Server.CreateObject("ADODB.Command") Set AdoCommand.ActiveConnection = Conn AdoCommand.CommandText = "" if Err then %>
<%=L_ConnErrorStr_TEXT%>

<% else if Request.Form("DoSearch") = "TRUE" then Session("DoSearch") = TRUE else Session("DoSearch") = FALSE end if ' Save search query in session vars Session("SearchString") = Request.Form("SearchString") ' Put Predefined Properties into PropArray PropArray(0,FNAME) = L_AuthorStr_TEXT PropArray(0,COLNAME) = "DocAuthor" PropArray(0,VTYPE) = PROP_STR PropArray(1,FNAME) = L_CategoryStr_TEXT PropArray(1,COLNAME) = "DocCategory" PropArray(1,VTYPE) = PROP_STR PropArray(2,FNAME) = L_CharacterCountStr_TEXT PropArray(2,COLNAME) = "DocCharCount" PropArray(2,VTYPE) = PROP_INT PropArray(3,FNAME) = L_CommentsStr_TEXT PropArray(3,COLNAME) = "DocComments" PropArray(3,VTYPE) = PROP_STR PropArray(4,FNAME) = L_CompanyStr_TEXT PropArray(4,COLNAME) = "DocCompany" PropArray(4,VTYPE) = PROP_STR PropArray(5,FNAME) = L_CreatedStr_TEXT PropArray(5,COLNAME) = "Create" PropArray(5,VTYPE) = PROP_DATE PropArray(6,FNAME) = L_FileNameStr_TEXT PropArray(6,COLNAME) = "FileName" PropArray(6,VTYPE) = PROP_STR PropArray(7,FNAME) = L_KeywordsStr_TEXT PropArray(7,COLNAME) = "DocKeywords" PropArray(7,VTYPE) = PROP_STR PropArray(8,FNAME) = L_LastAccessedStr_TEXT PropArray(8,COLNAME) = "Access" PropArray(8,VTYPE) = PROP_DATE PropArray(9,FNAME) = L_LastAuthorStr_TEXT PropArray(9,COLNAME) = "DocLastAuthor" PropArray(9,VTYPE) = PROP_STR PropArray(10,FNAME) = L_LastPrintedStr_TEXT PropArray(10,COLNAME) = "DocLastPrinted" PropArray(10,VTYPE) = PROP_DATE PropArray(11,FNAME) = L_LineCountStr_TEXT PropArray(11,COLNAME) = "DocLineCount" PropArray(11,VTYPE) = PROP_INT PropArray(12,FNAME) = L_ManagerStr_TEXT PropArray(12,COLNAME) = "DocManager" PropArray(12,VTYPE) = PROP_STR PropArray(13,FNAME) = L_ModifiedStr_TEXT PropArray(13,COLNAME) = "Write" PropArray(13,VTYPE) = PROP_DATE PropArray(14,FNAME) = L_PageCountStr_TEXT PropArray(14,COLNAME) = "DocPageCount" PropArray(14,VTYPE) = PROP_INT PropArray(15,FNAME) = L_ParagraphCountStr_TEXT PropArray(15,COLNAME) = "DocParaCount" PropArray(15,VTYPE) = PROP_INT PropArray(16,FNAME) = L_RevNumberStr_TEXT PropArray(16,COLNAME) = "DocRevNumber" PropArray(16,VTYPE) = PROP_STR PropArray(17,FNAME) = L_SizeStr_TEXT PropArray(17,COLNAME) = "Size" PropArray(17,VTYPE) = PROP_LONG PropArray(18,FNAME) = L_SubjectStr_TEXT PropArray(18,COLNAME) = "DocSubject" PropArray(18,VTYPE) = PROP_STR PropArray(19,FNAME) = L_TitleStr_TEXT PropArray(19,COLNAME) = "DocTitle" PropArray(19,VTYPE) = PROP_STR PropArray(20,FNAME) = L_WordCountStr_TEXT PropArray(20,COLNAME) = "DocWordCount" PropArray(20,VTYPE) = PROP_INT PropNum = 21 ' Get location of DefineColumns.txt file from registry Set reg = Server.CreateObject("WindowsInstaller.Installer") CustPropFileName = reg.RegistryValue(HKEY_LOCAL_MACHINE,"SYSTEM\CurrentControlSet\Control\ContentIndexCommon\","DefaultColumnFile") ' Check if reg key was empty, if so, error out & skip custom property defs if CustPropFileName = "" then if Session("DoSearch") <> TRUE then %> <% end if Err.Clear else ' Get Custom Properties from definecolumns.txt file Set FileObj = Server.CreateObject("Scripting.FileSystemObject") Set CustPropFile = FileObj.OpenTextFile(CustPropFileName,1,False,False) if Err.Number <> 0 then if Session("DoSearch") <> TRUE then %> <% end if Err.Clear else ' skip to USER-DEFINABLE PROPERTIES (needs localization) Do While (Instr(LineStr,"USER-DEFINABLE PROPERTIES") = 0) and Not CustPropFile.AtEndOfStream LineStr = CustPropFile.Readline Loop ' Skip to first new custom property & read custom properties Do While Not CustPropFile.AtEndOfStream LineStr = CustPropFile.Readline if (Left(LineStr,1) <> "#") and (LineStr <> "") then i = Instr(LineStr,"(") ColStr = Left(LineStr,i-1) if Right(ColStr,1) = " " then ColStr = Left(Colstr,len(Colstr)-1) LineStr = Right(LineStr,Len(LineStr)-i+1) i = Instr(LineStr,")") VTypeStr = Left(LineStr,i) LineStr = Right(LineStr,Len(LineStr)-i-3) i = Instr(LineStr," ") GuidStr = Left(LineStr,i-1) PropIdStr = Right(LineStr,Len(LineStr)-i) LineStr = CustPropFile.Readline FNameStr = Right(LineStr,Len(LineStr)-1) PropArray(PropNum,FNAME) = FNameStr PropArray(PropNum,COLNAME) = ColStr ' Convert Type String to our Constant Integer If Instr(VTypeStr,"DBTYPE_WSTR") <> 0 or Instr(VTypeStr,"DBTYPE_STR") <> 0 or Instr(VTypeStr,"DBTYPE_BSTR") <> 0 then PropArray(PropNum,VTYPE) = PROP_STR elseif Instr(VTypeStr,"VT_FILETIME") <> 0 then PropArray(PropNum,VTYPE) = PROP_DATE elseif Instr(VTypeStr,"DBTYPE_I4") <> 0 then PropArray(PropNum,VTYPE) = PROP_INT elseif Instr(VTypeStr,"DBTYPE_I8") <> 0 then PropArray(PropNum,VTYPE) = PROP_LONG end if PropNum = PropNum + 1 end if Loop Err.Clear end if ' end propfile read check end if ' end reg key is blank check Set CustPropFile = Nothing Set FileObj = Nothing Set reg = Nothing ' get scope from querystring or form submission. if Request.Querystring("scope") <> "" then UserScope = Request.Querystring("scope") else UserScope = Request.Form("txtScope") end if %> <% Function AddPropToRestriction(Prop,Operation,PropValue) ' AddPropToRestriction is called to properly format the CiRestriction string ' in the search query, based on what is being used in the query. dim RestrictionStr if CiRestriction <> "" then RestrictionStr = " AND " else RestrictionStr = "" end if PropNum = 0 Do While PropArray(PropNum,COLNAME) <> Prop PropNum = PropNum + 1 Loop if PropArray(PropNum,VTYPE) = PROP_STR then ' String Case Select Case Operation Case "=" RestrictionStr = RestrictionStr & Prop & " = '" & PropValue & "'" Case "c" RestrictionStr = RestrictionStr & "CONTAINS (" & Prop & ", ' """ & PropValue & """ ') > 0" Case ">" RestrictionStr = RestrictionStr & Prop & " > '" & PropValue & "'" Case "<" RestrictionStr = RestrictionStr & Prop & " < '" & PropValue & "'" Case ">=" RestrictionStr = RestrictionStr & Prop & " >= '" & PropValue & "'" Case "<=" RestrictionStr = RestrictionStr & Prop & " <= '" & PropValue & "'" End Select elseif PropArray(PropNum,VTYPE) >= PROP_INT then ' Integer/Long Case Select Case Operation Case "=" RestrictionStr = RestrictionStr & Prop & " = " & PropValue Case "c" RestrictionStr = RestrictionStr & "CONTAINS (" & Prop & ", ' """ & PropValue & """ ') > 0" Case ">" RestrictionStr = RestrictionStr & Prop & " > " & PropValue Case "<" RestrictionStr = RestrictionStr & Prop & " < " & PropValue Case ">=" RestrictionStr = RestrictionStr & Prop & " >= " & PropValue Case "<=" RestrictionStr = RestrictionStr & Prop & " <= " & PropValue End Select else ' Date Case ' convert date to SQL date string DateTemp = DateValue(PropValue) PropValue = Year(DateTemp) & "/" & Month(DateTemp) & "/" & Day(DateTemp) Select Case Operation Case "=" RestrictionStr = RestrictionStr & Prop & " > '" & PropValue & "'" PropValue = Year(DateTemp) & "/" & Month(DateTemp) & "/" & (Day(DateTemp) + 1) RestrictionStr = RestrictionStr & " AND " & Prop & " < '" & PropValue & "'" Case "c" RestrictionStr = RestrictionStr & "CONTAINS (" & Prop & ", '" & PropValue & "') > 0" Case ">" PropValue = Year(DateTemp) & "/" & Month(DateTemp) & "/" & (Day(DateTemp) + 1) RestrictionStr = RestrictionStr & Prop & " > '" & PropValue & "'" Case "<" RestrictionStr = RestrictionStr & Prop & " < '" & PropValue & "'" Case ">=" RestrictionStr = RestrictionStr & Prop & " > '" & PropValue & "'" Case "<=" RestrictionStr = RestrictionStr & "(" & Prop & " < '" & PropValue & "'" RestrictionStr = RestrictionStr & " OR (" & Prop & " > '" & PropValue & "'" PropValue = Year(DateTemp) & "/" & Month(DateTemp) & "/" & (Day(DateTemp) + 1) RestrictionStr = RestrictionStr & " AND " & Prop & " < '" & PropValue & "'))" End Select end if AddPropToRestriction = RestrictionStr End Function Sub StockDropdown ' StockDropdown is called to fill the property dropdowns with all properties ' (both built-in and custom) using " PropNum = PropNum + 1 Loop End Sub Function PropFriendlyName(PropColName) ' PropFriendlyName is called to convert the column name of a property to its ' "friendly" name, used by the column headings in the results set. PropNum = 0 Do While PropArray(PropNum,COLNAME) <> PropColName PropNum = PropNum + 1 Loop PropFriendlyName = PropArray(PropNum,FNAME) End Function %> <% if Instr(useragent,"MSIE") = 0 then %><% end if %>
Microsoft Office Server Extensions
Search Web Folders
Search for documents containing text:    
 <% if Instr(useragent,"MSIE") <> 0 and iever >= 4 then %><%end if%>Search by Location

<% if Instr(useragent,"MSIE") = 0 then %><% end if %>Find files in <% if Instr(useragent,"MSIE") = 0 then %><% end if %> ">

 <% if Instr(useragent,"MSIE") <> 0 and iever >= 4 then %><%end if%>Search by Date

<% if Instr(useragent,"MSIE") = 0 then %><% end if %> "yes" then%> checked <% end if %>> Find All Files
<% if Instr(useragent,"MSIE") = 0 then %><% end if %> 3 then %> onClick="if (this.form.DateSrchType[1].checked != 1) { this.form.DateSrchType[0].checked = 1; }" <% end if %> <%if Request.Form("DateSrchOn") = "yes" then%> checked <% end if %>> Restrict Search to Files: <% if Instr(useragent,"MSIE") = 0 then %><% end if %> checked <% end if %> <% if Instr(useragent,"MSIE") = 0 or iever > 3 then %> onClick="this.form.DateSrchOn[1].checked = 1;" <% end if %>> Today
<% if Instr(useragent,"MSIE") = 0 then %><% end if %> 3 then %> <%if Request.Form("DateSrchType") = "during" then%> checked <% end if %> onClick="this.form.DateSrchOn[1].checked = 1;" <% end if %>> During the last 3 then %> onFocus="this.form.DateSrchOn[1].checked = 1; this.form.DateSrchType[1].checked = 1;" <% end if %>> <% if Instr(useragent,"MSIE") = 0 then %><% end if %>

 <% if Instr(useragent,"MSIE") <> 0 and iever >= 4 then %><%end if%>Search by Property

<% if Instr(useragent,"MSIE") = 0 then %><% end if %>

Property 1: <% if Instr(useragent,"MSIE") = 0 then %><% end if %> AND

<% if Instr(useragent,"MSIE") = 0 then %><% end if %>

Property 2: <% if Instr(useragent,"MSIE") = 0 then %><% end if %> AND

<% if Instr(useragent,"MSIE") = 0 then %><% end if %>

Property 3: <% if Instr(useragent,"MSIE") = 0 then %><% end if %>

<% if Session("DoSearch") = TRUE then ' Formulate SQL Query CiColumns = "DocTitle,vpath,FileName,Size,Write" SearchString = Request.Form("SearchString") if SearchString <> "" then CiRestriction = "FREETEXT ('""" & SearchString & """') > 0" if UserScope = "" then UserScope = "/" ' reverse slashes if (StrComp(left(UserScope,1),"\") = 0) then UserScope = "/" & Right(UserScope,Len(UserScope)-1) end if Do While (Instr(UserScope,"\") <> 0) strpos = Instr(UserScope,"\") leftstr = Left(UserScope,strpos-1) rightstr = Right(UserScope,(len(UserScope)-strpos)) UserScope = leftstr & "/" & rightstr Loop ' check if absolute URL, parse out directories strpos = Instr(UserScope,ServerName) if (strpos <> 0) then strpos = strpos + len(ServerName) if (strpos-1) <> len(Userscope) then strpos = Instr(strpos,Userscope,"/") UserScope = Right(UserScope,(len(UserScope)-strpos)) else UserScope = "/" end if end if 'prepend / if it's not there if StrComp(left(UserScope,1),"/") <> 0 then UserScope = "/" & UserScope end if if (StrComp(UserScope,"/") = 0) then CiScope = "SCOPE()" else CiScope = "SCOPE(' DEEP TRAVERSAL OF """ & UserScope & """ ')" end if if Request.Form("DateSrchOn") = "yes" then Select Case CInt(Request.Form("DateProp")) case DATEPROP_MODIFIED DateProp = "Write" case DATEPROP_CREATED DateProp = "Create" case DATEPROP_LASTACCESSED DateProp = "Access" End Select ' check if any props are already in CiColumns if DateProp <> "Write" AND DateProp <> Prop1 AND DateProp <> Prop2 AND DateProp <> Prop3 then CiColumns = CiColumns & ", " & DateProp end if if Request.Form("DateSrchType") = "today" then DateAddStr = "DATEADD(day, -1, GETGMTDATE())" if CiRestriction <> "" then CiRestriction = CiRestriction & " AND " & DateProp & " >= " & DateAddStr else CiRestriction = DateProp & " >= " & DateAddStr end if elseif Request.Form("DateSrchType") = "during" then Select Case CInt(Request.Form("DateType")) case DATETYPE_DAY DateAddStr = "DATEADD(day, -" & Request.Form("LastField") & ", GETGMTDATE())" case DATETYPE_WEEK DateAddStr = "DATEADD(week, -" & Request.Form("LastField") & ", GETGMTDATE())" case DATETYPE_MONTH DateAddStr = "DATEADD(month, -" & Request.Form("LastField") & ", GETGMTDATE())" case DATETYPE_YEAR DateAddStr = "DATEADD(year, -" & Request.Form("LastField") & ", GETGMTDATE())" End Select if CiRestriction <> "" then CiRestriction = CiRestriction & " AND " & DateProp & " >= " & DateAddStr else CiRestriction = DateProp & " >= " & DateAddStr end if end if end if if Prop1 <> "" then if Prop1 <> "Write" AND Prop1 <> "Size" AND Prop1 <> "FileName" AND Prop1 <> "DocTitle" then CiColumns = CiColumns & "," & Prop1 end if if Request.Form("Prop1Value") <> "*" then CiRestriction = CiRestriction & AddPropToRestriction(Prop1,Request.Form("Operation1"),Request.Form("Prop1Value")) end if if Prop2 <> "" then if Prop2 <> "Write" AND Prop2 <> "Size" AND Prop2 <> "FileName" AND Prop2 <> "DocTitle" then CiColumns = CiColumns & "," & Prop2 end if if Request.Form("Prop2Value") <> "*" then CiRestriction = CiRestriction & AddPropToRestriction(Prop2,Request.Form("Operation2"),Request.Form("Prop2Value")) end if if Prop3 <> "" then if Prop3 <> "Write" AND Prop3 <> "Size" AND Prop3 <> "FileName" AND Prop3 <> "DocTitle" then CiColumns = CiColumns & "," & Prop3 end if if Request.Form("Prop3Value") <> "*" then CiRestriction = CiRestriction & AddPropToRestriction(Prop3,Request.Form("Operation3"),Request.Form("Prop3Value")) end if AdoCommand.CommandText = AdoCommand.CommandText & " SELECT " & CiColumns & " FROM " & CiScope & " WHERE " & CiRestriction ' debug output ' response.write "CiColumns: " & CiColumns & "
" ' response.write "CiScope: " & CiScope & "
" ' response.write "CiRestriction: " & CiRestriction & "
" ' response.write AdoCommand.CommandText & "
" Set RS = Server.CreateObject("ADODB.RecordSet") AdoCommand.Properties("Bookmarkable") = True RS.CursorType = adOpenKeySet RS.MaxRecords = 500 RS.Open AdoCommand if Err then if Err.Number = "-2147215867" then %>

<%=L_IgnoredErrorStr_TEXT%>

<% else %>

<%=L_QueryErrorStr_TEXT%>

<% end if Err.Clear else if RS.EOF then %>
<%=L_NoMatchErrorStr_TEXT%>

<% else %>
Your search query returned <%=RS.RecordCount%> result(s)<%if UserScope <> "/" then%> in the Web Folder <%=UserScope%><%end if%> on <%=ServerName%>.
<% if RS.RecordCount = 500 then response.write L_Warn500Str_TEXT%>

<% if prop1 <> "" then%><% end if %> <% if prop2 <> "" AND prop2 <> prop1 then%><% end if %> <% if prop3 <> "" AND prop3 <> prop1 AND prop3 <> prop2 then%><% end if %>
Name<%=PropFriendlyName(Prop1)%><%=PropFriendlyName(Prop2)%><%=PropFriendlyName(Prop3)%>SizeDate
<% i = 1 Do While Not RS.EOF %> <% else %> "><%=Server.HTMLEncode(RS("DocTitle"))%> <% end if %> <% if prop1 <> "" then%><%end if %> <% if prop2 <> "" AND prop2 <> prop1 then%><%end if %> <% if prop3 <> "" AND prop3 <> prop1 AND prop3 <> prop2 then%><%end if %>
"> <% filename = RS("filename") if (strcomp(right(filename,3),"htm",1) = 0) or (strcomp(right(filename,4),"html",1) = 0) then %> <% elseif strcomp(right(filename,3),"asp",1) = 0 then %> <% elseif strcomp(right(filename,3),"gif",1) = 0 then %> <% elseif strcomp(right(filename,3),"doc",1) = 0 then %> <% elseif strcomp(right(filename,3),"mdb",1) = 0 then %> <% elseif strcomp(right(filename,3),"ppt",1) = 0 then %> <% elseif strcomp(right(filename,3),"xls",1) = 0 then %> <% else %> <% end if if VarType(RS("DocTitle")) = 1 or RS("DocTitle") = "" then %> "><%=Server.HTMLEncode(RS("filename"))%><%=RS(prop1)%><%=RS(prop2)%><%=RS(prop3)%><%= CLng(RS("size")) \ 1024 + 1 %> KB <% datestr = RS("write") datestr = ConvertToLocal(Year(datestr),Month(datestr),Day(datestr),Hour(datestr),Minute(datestr),Second(datestr)) response.write datestr %>
<% i = i + 1 RS.MoveNext Loop end if ' if RS.EOF end if ' error check end if ' end DOSEARCH check %>


Go Back to the Start Page
<% end if ' end of index server installed check Set Conn = Nothing Set AdoCommand = Nothing Set RS = Nothing %>