% Response.expires = 0 Response.expiresabsolute = Now() - 1 Response.addHeader "pragma", "no-cache" Response.addHeader "cache-control", "private" 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 %> <% If Session("design-desk-shop-DAT_status") <> "login" Then Response.Redirect "login.asp" Else ' Restore Security Table - created in Login arrSecurity = Session("ewSecurity") ' Get Current Table Security sTmp1 = -1 For sTmp = 1 to UBound(arrSecurity, 2) If arrSecurity(0, sTmp) = "Users" Then sTmp1 = sTmp Exit For End If Next ewCurLvl = Session("design-desk-shop-DAT_status_UserLevel") If IsNumeric(ewCurLvl) And sTmp1 <> -1 Then If ewCurLvl = -1 Then ' System Administrator ewCurSec = 31 ElseIf ewCurLvl > 0 and ewCurLvl <= 1 Then ewCurSec = arrSecurity(ewCurLvl, sTmp1) End If End If End If %> <% ' Initialize common variables x_ID = Null x_Username = Null x_password = Null x_First_Name = Null x_Last_Name = Null x_AccesssLevel = Null x_Create_Date = Null %> <% nStartRec = 0 nStopRec = 0 nTotalRecs = 0 nRecCount = 0 nRecActual = 0 sKeyMaster = "" sDbWhereMaster = "" sSrchAdvanced = "" sSrchBasic = "" sSrchWhere = "" sDbWhere = "" sDefaultOrderBy = "" sDefaultFilter = "" sWhere = "" sGroupBy = "" sHaving = "" sOrderBy = "" 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("Users_searchwhere") = sSrchWhere ' Reset start record counter (new search) nStartRec = 1 Session("Users_REC") = nStartRec Else sSrchWhere = Session("Users_searchwhere") End If ' Build WHERE condition sDbWhere = "" If sDbWhereMaster <> "" Then sDbWhere = sDbWhere & "(" & sDbWhereMaster & ") 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 ' Build SQL sSql = "SELECT * FROM [Users]" ' Load Default Filter sDefaultFilter = "" sGroupBy = "" sHaving = "" ' Load Default Order sDefaultOrderBy = "" sWhere = "" If sDefaultFilter <> "" Then sWhere = sWhere & "(" & sDefaultFilter & ") AND " End If If sDbWhere <> "" Then sWhere = sWhere & "(" & sDbWhere & ") AND " End If If (ewCurSec And ewAllowList) <> ewAllowList Then sWhere = sWhere & "(0=1) 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 'Session("ewmsg") = 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: Users
<% If (ewCurSec And ewAllowAdd) = ewAllowAdd Then %>| Add |
<% End If %> <% If Session("ewmsg") <> "" Then %>
<%= Session("ewmsg") %>
<% Session("ewmsg") = "" ' Clear message 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 & "[Username] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[password] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[First_Name] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[Last_Name] 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 ID If sOrder = "ID" Then sSortField = "[ID]" sLastSort = Session("Users_x_ID_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_ID_Sort") = sThisSort Else If Session("Users_x_ID_Sort") <> "" Then Session("Users_x_ID_Sort") = "" End If ' Field Username If sOrder = "Username" Then sSortField = "[Username]" sLastSort = Session("Users_x_Username_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_Username_Sort") = sThisSort Else If Session("Users_x_Username_Sort") <> "" Then Session("Users_x_Username_Sort") = "" End If ' Field password If sOrder = "password" Then sSortField = "[password]" sLastSort = Session("Users_x_password_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_password_Sort") = sThisSort Else If Session("Users_x_password_Sort") <> "" Then Session("Users_x_password_Sort") = "" End If ' Field First_Name If sOrder = "First_Name" Then sSortField = "[First_Name]" sLastSort = Session("Users_x_First_Name_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_First_Name_Sort") = sThisSort Else If Session("Users_x_First_Name_Sort") <> "" Then Session("Users_x_First_Name_Sort") = "" End If ' Field Last_Name If sOrder = "Last_Name" Then sSortField = "[Last_Name]" sLastSort = Session("Users_x_Last_Name_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_Last_Name_Sort") = sThisSort Else If Session("Users_x_Last_Name_Sort") <> "" Then Session("Users_x_Last_Name_Sort") = "" End If ' Field AccesssLevel If sOrder = "AccesssLevel" Then sSortField = "[AccesssLevel]" sLastSort = Session("Users_x_AccesssLevel_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_AccesssLevel_Sort") = sThisSort Else If Session("Users_x_AccesssLevel_Sort") <> "" Then Session("Users_x_AccesssLevel_Sort") = "" End If ' Field Create_Date If sOrder = "Create_Date" Then sSortField = "[Create_Date]" sLastSort = Session("Users_x_Create_Date_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("Users_x_Create_Date_Sort") = sThisSort Else If Session("Users_x_Create_Date_Sort") <> "" Then Session("Users_x_Create_Date_Sort") = "" End If Session("Users_OrderBy") = sSortField & " " & sThisSort Session("Users_REC") = 1 End If sOrderBy = Session("Users_OrderBy") If sOrderBy = "" Then sOrderBy = sDefaultOrderBy Session("Users_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("Users_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("Users_REC") = nStartRec Else nStartRec = Session("Users_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 ' Reset start record counter Session("Users_REC") = nStartRec End If End If Else nStartRec = Session("Users_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 'Reset start record counter Session("Users_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("Users_searchwhere") = sSrchWhere ' Reset Search Criteria & Session Keys ElseIf UCase(sCmd) = "RESETALL" Then sSrchWhere = "" Session("Users_searchwhere") = sSrchWhere ' Reset Sort Criteria ElseIf UCase(sCmd) = "RESETSORT" Then sOrderBy = "" Session("Users_OrderBy") = sOrderBy If Session("Users_x_ID_Sort") <> "" Then Session("Users_x_ID_Sort") = "" If Session("Users_x_Username_Sort") <> "" Then Session("Users_x_Username_Sort") = "" If Session("Users_x_password_Sort") <> "" Then Session("Users_x_password_Sort") = "" If Session("Users_x_First_Name_Sort") <> "" Then Session("Users_x_First_Name_Sort") = "" If Session("Users_x_Last_Name_Sort") <> "" Then Session("Users_x_Last_Name_Sort") = "" If Session("Users_x_AccesssLevel_Sort") <> "" Then Session("Users_x_AccesssLevel_Sort") = "" If Session("Users_x_Create_Date_Sort") <> "" Then Session("Users_x_Create_Date_Sort") = "" End If ' Reset Start Position (Reset Command) nStartRec = 1 Session("Users_REC") = nStartRec End If End Sub %>