%@LANGUAGE="VBSCRIPT"%> <%OPTION EXPLICIT%> <%Response.Buffer = True%> <% Function SelectFilterItem(item) If Showing = item then SelectFilterItem = "selected" End If End Function '*** Dimension all the variables. Dim ViewLast, Showing Dim objRec Dim strSQL Dim LastHere 'Variables used for paging. Dim intCurrentPage, intCount '*** Open the database. Set objConn = Server.CreateObject ("ADODB.Connection") Set objRec = Server.CreateObject ("ADODB.Recordset") objConn.Open strconnect '*** The table headings, Topic, Author and so on can be used to order the messages (much like an email program) this is the code that does it. If Request.QueryString("orderby") <> "" then Session("OrderBy") = Request.QueryString("orderby") End If Select Case Session("Orderby") Case "Topic" objRec.Sort = "MessageTitle ASC" Case "Author" objRec.Sort = "MessageAuthor ASC" Case "Last+Post" objRec.Sort = "LastPost DESC" Case "Replies" objRec.Sort = "Replies DESC" Case Else objRec.Sort = "LastPost DESC" Session("OrderBy") = "Last Post" End Select objRec.cursorlocation=aduseclient StrSQL = "SELECT * FROM messages" If Request.Form("cboSearchType") = "Message Topics" OR Request.Form("cboSearchType") = "Message Authors" Then Session("txtSearchString") = Request.Form("txtSearchString") Session("cboSearchType") = Request.Form("cboSearchType") End If If Session("cboSearchType") = "Message Authors" Then StrSQL = StrSQL & " WHERE MessageAuthor LIKE '%" & Session("txtSearchString") & "%'" End If If Session("cboSearchType") = "Message Topics" Then StrSQL = StrSQL & " WHERE MessageTitle LIKE '%" & Session("txtSearchString") & "%'" End If objRec.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText '*** Function to compare the date of the users last visit with the date of the last post. Function NewMessages(lpost) If datediff("s", LastHere, lpost) > 1 then NewMessages = MBImgNewMessage Else NewMessages = MBImgOldMessage End If End Function '*** Find out when the user was last here so that new messages can be highlighted. LastHere = Request.Cookies("aspmbuser")("Date") Response.Cookies("aspmbuser")("Date") = now() Response.Cookies("aspmbuser").Expires = Date + 30 '*** If they haven't been here before set the LastHere variable to a value that will highlight all messages as being new. if LastHere = "" then LastHere = dateadd("d",-10,now()) End if '*** Has the user just asked to view the messages updated in a certain time period? See select form field. If NOT Request.Form("days") = "" then ViewLast = Request.Form("days") '*** Write this value to the cookie so that next time the reload the page it will remain the same. Response.Cookies("aspmbuser")("ViewLast") = Request.Form("days") '*** If they haven't asked for a new time filter. Else '*** If there is no value in the cookie, show them all the messages. If Request.Cookies("aspmbuser")("ViewLast") = "" then ViewLast = "ALL" '*** Otherwise take the value from the cookie. Else ViewLast = Request.Cookies("aspmbuser")("ViewLast") End If End If Showing = ViewLast If Session("cboSearchType") = "" then If NOT ViewLast = "ALL" then '*** Subtract ViewLast amount of days from the current date. ViewLast = DateAdd("d",ViewLast, MediumDate(Date())) '*** Create a record set with only the fields from the last x days. objRec.Filter = "LastPost >= #" & MediumDate(ViewLast) & "#" End If End If %>
<%=MBImgLogo%>
<%=PrintCredit%>
| <%=MBImgAddNew%> <%=MBImgSearch%> |
| <%=MBImgTopic%> | <%=MBImgAuthor%> | <%=MBImgLastPost%> | ||
| <%=NewMessages(objRec("LastPost"))%> | <%=FONT1%> | <%=FONT1 & objRec("MessageAuthor")%> | <%=FONT1%><%Call DisplayDateTime(objRec("LastPost"))%> | <%=FONT1 & objRec("Replies")%> |
"
If objRec.PageCount > 1 then
'Print Previous Page if required
If intCurrentPage <> 1 then
Response.Write "Previous Page"
Else
Response.Write "Previous Page"
End If
'Print direct access page numbers.
For intCount = 1 to objRec.PageCount
If intCount = 1 then
Response.Write " | "
End If
If intCount = intCurrentPage then
Response.Write intCount & " | "
Else
Response.Write "" & intCount & " | "
End If
Next
'Print Next Page if required
If intCurrentPage <> objRec.PageCount then
Response.Write "Next Page"
Else
Response.Write "Next Page"
End If
End If
Response.Write "
Page " & intCurrentPage & " of " & objRec.PageCount & _
" | Ordered By: " & Session("orderby") & " | Showing: "
Select Case Showing
Case "-0"
Response.Write "Topics updated today."
Case "-1"
Response.Write "Topics updated in the last 2 days."
Case "-4"
Response.Write "Topics updated in the last 5 days."
Case "-9"
Response.Write "Topics updated in the last 10 days."
Case "-29"
Response.Write "Topics updated in the last 30 days."
Case "-99"
Response.Write "Topics updated in the last 100 days."
Case "ALL"
Response.Write "All topics."
End Select
Response.Write ""
If NOT Session("cboSearchType") = "" Then
Response.Write "
Searched for: " & Session("txtSearchString") & "
On: " & Session("cboSearchType") & "
"
Response.Write "Remove Search Filter"
End If
Response.Write "