<% Response.expires = 0 Response.expiresabsolute = Now() - 1 Response.addHeader "pragma", "no-cache" Response.addHeader "cache-control", "private" Response.CacheControl = "no-cache" %> <% displayRecs = 20 recRange = 10 %> <% dbwhere = "" masterdetailwhere = "" searchwhere = "" a_search = "" b_search = "" whereClause = "" %> <% ' Get search criteria for basic search pSearch = Request.QueryString("psearch") pSearchType = Request.QueryString("psearchType") If pSearch <> "" Then pSearch = Replace(pSearch,"'","''") pSearch = Replace(pSearch,"[","[[]") If pSearchType <> "" Then While InStr(pSearch, " ") > 0 pSearch = Replace(pSearch, " ", " ") Wend arpSearch = Split(Trim(pSearch), " ") For Each kw In arpSearch b_search = b_search & "(" b_search = b_search & "[PageContent] LIKE '%" & Trim(kw) & "%' OR " If Right(b_search, 4)=" OR " Then b_search = Left(b_search, Len(b_search)-4) b_search = b_search & ") " & pSearchType & " " Next Else b_search = b_search & "[PageContent] LIKE '%" & pSearch & "%' OR " End If End If If Right(b_search, 4) = " OR " Then b_search = Left(b_search, Len(b_search)-4) If Right(b_search, 5) = " AND " Then b_search = Left(b_search, Len(b_search)-5) %> <% ' Build search criteria If a_search <> "" Then searchwhere = a_search ' Advanced search ElseIf b_search <> "" Then searchwhere = b_search ' Basic search End If ' Save search criteria If searchwhere <> "" Then Session("PageContent_searchwhere") = searchwhere ' Reset start record counter (new search) startRec = 1 Session("PageContent_REC") = startRec Else searchwhere = Session("PageContent_searchwhere") End If %> <% ' Get clear search cmd If Request.QueryString("cmd").Count > 0 Then cmd = Request.QueryString("cmd") If UCase(cmd) = "RESET" Then ' Reset search criteria searchwhere = "" Session("PageContent_searchwhere") = searchwhere ElseIf UCase(cmd) = "RESETALL" Then ' Reset search criteria searchwhere = "" Session("PageContent_searchwhere") = searchwhere End If ' Reset start record counter (reset command) startRec = 1 Session("PageContent_REC") = startRec End If ' Build dbwhere If masterdetailwhere <> "" Then dbwhere = dbwhere & "(" & masterdetailwhere & ") AND " End If If searchwhere <> "" Then dbwhere = dbwhere & "(" & searchwhere & ") AND " End If If Len(dbwhere) > 5 Then dbwhere = Mid(dbwhere, 1, Len(dbwhere)-5) ' Trim rightmost AND End If %> <% ' Load Default Order DefaultOrder = "" DefaultOrderType = "" ' Load Default Filter DefaultFilter = "PageName=5" ' Check for an Order parameter OrderBy = "" If Request.QueryString("order").Count > 0 Then OrderBy = Request.QueryString("order") ' Check if an ASC/DESC toggle is required If Session("PageContent_OB") = OrderBy Then If Session("PageContent_OT") = "ASC" Then Session("PageContent_OT") = "DESC" Else Session("PageContent_OT") = "ASC" End if Else Session("PageContent_OT") = "ASC" End If Session("PageContent_OB") = OrderBy Session("PageContent_REC") = 1 Else OrderBy = Session("PageContent_OB") If OrderBy = "" Then OrderBy = DefaultOrder Session("PageContent_OB") = OrderBy Session("PageContent_OT") = DefaultOrderType End If End If ' Open connection to the database Set conn = Server.CreateObject("ADODB.Connection") conn.Open xDb_Conn_Str ' Build SQL strsql = "SELECT * FROM [PageContent]" If DefaultFilter <> "" Then whereClause = whereClause & "(" & DefaultFilter & ") AND " End If If dbwhere <> "" Then whereClause = whereClause & "(" & dbwhere & ") AND " End If If Right(whereClause, 5)=" AND " Then whereClause = Left(whereClause, Len(whereClause)-5) If whereClause <> "" Then strsql = strsql & " WHERE " & whereClause End If If OrderBy <> "" Then strsql = strsql & " ORDER BY [" & OrderBy & "] " & Session("PageContent_OT") End If 'Response.Write strsql Set rs = Server.CreateObject("ADODB.Recordset") rs.cursorlocation = 3 rs.Open strsql, conn, 1, 2 totalRecs = rs.RecordCount ' Check for a START parameter If Request.QueryString("start").Count > 0 Then startRec = Request.QueryString("start") Session("PageContent_REC") = startRec ElseIf Request.QueryString("pageno").Count > 0 Then pageno = Request.QueryString("pageno") If IsNumeric(pageno) Then startRec = (pageno-1)*displayRecs+1 If startRec <= 0 Then startRec = 1 ElseIf startRec >= ((totalRecs-1)\displayRecs)*displayRecs+1 Then startRec = ((totalRecs-1)\displayRecs)*displayRecs+1 End If Session("PageContent_REC") = startRec Else startRec = Session("PageContent_REC") If Not IsNumeric(startRec) Or startRec = "" Then startRec = 1 ' Reset start record counter Session("PageContent_REC") = startRec End If End If Else startRec = Session("PageContent_REC") If Not IsNumeric(startRec) Or startRec = "" Then startRec = 1 'Reset start record counter Session("PageContent_REC") = startRec End If End If %> <% ' Avoid starting record > total records If CLng(startRec) > CLng(totalRecs) Then startRec = totalRecs End If ' Set the last record to display stopRec = startRec + displayRecs - 1 ' Move to first record directly for performance reason recCount = startRec - 1 If Not rs.Eof Then rs.MoveFirst rs.Move startRec - 1 End If recActual = 0 Do While (Not rs.Eof) And (recCount < stopRec) recCount = recCount + 1 If CLng(recCount) >= CLng(startRec) Then recActual = recActual + 1 %> <% ' Set row color bgcolor="#FFFFFF" %> <% ' Display alternate color for rows If recCount Mod 2 <> 0 Then bgcolor="#F5F5F5" End If %> <% ' Load Key for record key = rs("ID") x_ID = rs("ID") x_PageName = rs("PageName") x_PageContent = rs("PageContent") %> <% End If rs.MoveNext Loop %>
<%= Replace(x_PageContent & "", vbLf, "
") %> 
<% ' Close recordset and connection rs.Close Set rs = Nothing conn.Close Set conn = Nothing %>