%@ LCID = 3081 %> <% Response.expires = 0 Response.expiresabsolute = Now() - 1 Response.addHeader "pragma", "no-cache" Response.addHeader "cache-control", "private" Response.addHeader "cache-control", "no-cache" Response.addHeader "cache-control", "no-store" Response.CacheControl = "no-cache" %> <% ewCurSec = 0 ' Initialise ' User levels Const ewAllowAdd = 1 Const ewAllowDelete = 2 Const ewAllowEdit = 4 Const ewAllowView = 8 Const ewAllowList = 8 Const ewAllowReport = 8 Const ewAllowSearch = 8 Const ewAllowAdmin = 16 %> <% ' Initialize common variables x_SITE_HEADING = Null: ox_SITE_HEADING = Null x_SITE_URL = Null: ox_SITE_URL = Null x_COMMENTS = Null: ox_COMMENTS = Null x_DFRECNUM = Null: ox_DFRECNUM = Null %> <% nStartRec = 0 nStopRec = 0 nTotalRecs = 0 nRecCount = 0 nRecActual = 0 sDbWhereMaster = "" sDbWhereDetail = "" sSrchAdvanced = "" sSrchBasic = "" sSrchWhere = "" sDbWhere = "" sDefaultOrderBy = "" sDefaultFilter = "" sWhere = "" sGroupBy = "" sHaving = "" sOrderBy = "" sSqlMasterBase = "" sSqlMaster = "" nDisplayRecs = 20 nRecRange = 10 ' Open connection to the database Set conn = Server.CreateObject("ADODB.Connection") conn.Open xDb_Conn_Str ' Handle Reset Command ResetCmd() ' Get Search Criteria for Basic Search SetUpBasicSearch() ' Build Search Criteria If sSrchAdvanced <> "" Then sSrchWhere = sSrchAdvanced ' Advanced Search ElseIf sSrchBasic <> "" Then sSrchWhere = sSrchBasic ' Basic Search End If ' Save Search Criteria If sSrchWhere <> "" Then Session("SITELINK_searchwhere") = sSrchWhere ' Reset start record counter (new search) nStartRec = 1 Session("SITELINK_REC") = nStartRec Else sSrchWhere = Session("SITELINK_searchwhere") End If ' Build SQL sSql = "SELECT * FROM [SITELINK]" ' Load Default Filter sDefaultFilter = "" sGroupBy = "" sHaving = "" ' Load Default Order sDefaultOrderBy = "" ' Build WHERE condition sDbWhere = "" If sDbWhereDetail <> "" Then sDbWhere = sDbWhere & "(" & sDbWhereDetail & ") AND " End If If sSrchWhere <> "" Then sDbWhere = sDbWhere & "(" & sSrchWhere & ") AND " End If If Len(sDbWhere) > 5 Then sDbWhere = Mid(sDbWhere, 1, Len(sDbWhere)-5) ' Trim rightmost AND End If sWhere = "" If sDefaultFilter <> "" Then sWhere = sWhere & "(" & sDefaultFilter & ") AND " End If If sDbWhere <> "" Then sWhere = sWhere & "(" & sDbWhere & ") AND " End If If Right(sWhere, 5) = " AND " Then sWhere = Left(sWhere, Len(sWhere)-5) If sWhere <> "" Then sSql = sSql & " WHERE " & sWhere End If If sGroupBy <> "" Then sSql = sSql & " GROUP BY " & sGroupBy End If If sHaving <> "" Then sSql = sSql & " HAVING " & sHaving End If ' Set Up Sorting Order sOrderBy = "" SetUpSortOrder() If sOrderBy <> "" Then sSql = sSql & " ORDER BY " & sOrderBy End If 'Response.Write sSql ' Uncomment to show SQL for debugging %> <% ' Set up Record Set Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 3 rs.Open sSql, conn, 1, 2 nTotalRecs = rs.RecordCount If nDisplayRecs <= 0 Then ' Display All Records nDisplayRecs = nTotalRecs End If nStartRec = 1 SetUpStartRec() ' Set Up Start Record Position %>
TABLE: SITELINK
Add |
<% If Session("ewmsg") <> "" Then %>
<%= Session("ewmsg") %>
<% Session("ewmsg") = "" ' Clear message End If %> <% If nTotalRecs > 0 Then %> <% End If %> <% ' Close recordset and connection rs.Close Set rs = Nothing conn.Close Set conn = Nothing %> <% '------------------------------------------------------------------------------- ' Function BasicSearchSQL ' - Build WHERE clause for a keyword Function BasicSearchSQL(Keyword) Dim sKeyword sKeyword = AdjustSql(Keyword) BasicSearchSQL = "" BasicSearchSQL = BasicSearchSQL & "[SITE_HEADING] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[SITE_URL] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[COMMENTS] LIKE '%" & sKeyword & "%' OR " If Right(BasicSearchSQL, 4) = " OR " Then BasicSearchSQL = Left(BasicSearchSQL, Len(BasicSearchSQL)-4) End Function '------------------------------------------------------------------------------- ' Function SetUpBasicSearch ' - Set up Basic Search parameter based on form elements pSearch & pSearchType ' - Variables setup: sSrchBasic Sub SetUpBasicSearch() Dim sSearch, sSearchType, arKeyword, sKeyword sSearch = Request.QueryString("psearch") sSearchType = Request.QueryString("psearchType") If sSearch <> "" Then If sSearchType <> "" Then While InStr(sSearch, " ") > 0 sSearch = Replace(sSearch, " ", " ") Wend arKeyword = Split(Trim(sSearch), " ") For Each sKeyword In arKeyword sSrchBasic = sSrchBasic & "(" & BasicSearchSQL(sKeyword) & ") " & sSearchType & " " Next Else sSrchBasic = BasicSearchSQL(sSearch) End If End If If Right(sSrchBasic, 4) = " OR " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-4) If Right(sSrchBasic, 5) = " AND " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-5) End Sub '------------------------------------------------------------------------------- ' Function SetUpSortOrder ' - Set up Sort parameters based on Sort Links clicked ' - Variables setup: sOrderBy, Session("Table_OrderBy"), Session("Table_Field_Sort") Sub SetUpSortOrder() Dim sOrder, sSortField, sLastSort, sThisSort Dim bCtrl ' Check for an Order parameter If Request.QueryString("order").Count > 0 Then sOrder = Request.QueryString("order") ' Field SITE_HEADING If sOrder = "SITE_HEADING" Then sSortField = "[SITE_HEADING]" sLastSort = Session("SITELINK_x_SITE_HEADING_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("SITELINK_x_SITE_HEADING_Sort") = sThisSort Else If Session("SITELINK_x_SITE_HEADING_Sort") <> "" Then Session("SITELINK_x_SITE_HEADING_Sort") = "" End If ' Field SITE_URL If sOrder = "SITE_URL" Then sSortField = "[SITE_URL]" sLastSort = Session("SITELINK_x_SITE_URL_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("SITELINK_x_SITE_URL_Sort") = sThisSort Else If Session("SITELINK_x_SITE_URL_Sort") <> "" Then Session("SITELINK_x_SITE_URL_Sort") = "" End If ' Field COMMENTS If sOrder = "COMMENTS" Then sSortField = "[COMMENTS]" sLastSort = Session("SITELINK_x_COMMENTS_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("SITELINK_x_COMMENTS_Sort") = sThisSort Else If Session("SITELINK_x_COMMENTS_Sort") <> "" Then Session("SITELINK_x_COMMENTS_Sort") = "" End If ' Field DFRECNUM If sOrder = "DFRECNUM" Then sSortField = "[DFRECNUM]" sLastSort = Session("SITELINK_x_DFRECNUM_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("SITELINK_x_DFRECNUM_Sort") = sThisSort Else If Session("SITELINK_x_DFRECNUM_Sort") <> "" Then Session("SITELINK_x_DFRECNUM_Sort") = "" End If Session("SITELINK_OrderBy") = sSortField & " " & sThisSort Session("SITELINK_REC") = 1 End If sOrderBy = Session("SITELINK_OrderBy") If sOrderBy = "" Then sOrderBy = sDefaultOrderBy Session("SITELINK_OrderBy") = sOrderBy End If End Sub '------------------------------------------------------------------------------- ' Function SetUpStartRec ' - Set up Starting Record parameters based on Pager Navigation ' - Variables setup: nStartRec Sub SetUpStartRec() Dim nPageNo ' Check for a START parameter If Request.QueryString("start").Count > 0 Then nStartRec = Request.QueryString("start") Session("SITELINK_REC") = nStartRec ElseIf Request.QueryString("pageno").Count > 0 Then nPageNo = Request.QueryString("pageno") If IsNumeric(nPageNo) Then nStartRec = (nPageNo-1)*nDisplayRecs+1 If nStartRec <= 0 Then nStartRec = 1 ElseIf nStartRec >= ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 Then nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 End If Session("SITELINK_REC") = nStartRec Else nStartRec = Session("SITELINK_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 ' Reset start record counter Session("SITELINK_REC") = nStartRec End If End If Else nStartRec = Session("SITELINK_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 'Reset start record counter Session("SITELINK_REC") = nStartRec End If End If End Sub '------------------------------------------------------------------------------- ' Function ResetCmd ' - Clear list page parameters ' - RESET: reset search parameters ' - RESETALL: reset search & master/detail parameters ' - RESETSORT: reset sort parameters Sub ResetCmd() Dim sCmd ' Get Reset Cmd If Request.QueryString("cmd").Count > 0 Then sCmd = Request.QueryString("cmd") ' Reset Search Criteria If UCase(sCmd) = "RESET" Then sSrchWhere = "" Session("SITELINK_searchwhere") = sSrchWhere ' Reset Search Criteria & Session Keys ElseIf UCase(sCmd) = "RESETALL" Then sSrchWhere = "" Session("SITELINK_searchwhere") = sSrchWhere ' Reset Sort Criteria ElseIf UCase(sCmd) = "RESETSORT" Then sOrderBy = "" Session("SITELINK_OrderBy") = sOrderBy If Session("SITELINK_x_SITE_HEADING_Sort") <> "" Then Session("SITELINK_x_SITE_HEADING_Sort") = "" If Session("SITELINK_x_SITE_URL_Sort") <> "" Then Session("SITELINK_x_SITE_URL_Sort") = "" If Session("SITELINK_x_COMMENTS_Sort") <> "" Then Session("SITELINK_x_COMMENTS_Sort") = "" If Session("SITELINK_x_DFRECNUM_Sort") <> "" Then Session("SITELINK_x_DFRECNUM_Sort") = "" End If ' Reset Start Position (Reset Command) nStartRec = 1 Session("SITELINK_REC") = nStartRec End If End Sub %>