Vid trådlistningen jämför jag cookie´n med trådens senast inlagda post för att kontrollera om en ny post har tillkommit sen
If cDate(objRS("pLastDate")) > cDate(Request.Cookies("" & Request("ForumID") & "")("" & objRS("PostID") & "")) Then
Response.write "Ny post!"
Else
Response.write "Ingen ny post!"
End If
Nu till min fråga!
Hur kan jag på ett smidigt sätt "Markera detta forum som läst"?
Kan jag på något sätt spara om alla cookies med ett visst "ForumID" med ett nytt datum "Now()"?
For Each strKey In Request.Cookies
Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR>"
If Request.Cookies(strKey).HasKeys Then
For Each strSubKey In Request.Cookies(strKey)
Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
Request.Cookies(strKey)(strSubKey) & "<BR>"
Next
End If
Next
set rs = GetAllForum() '#populera ditt recordset med forum
while not rs.eof
if request.cookies(rs("ForumId")).HasKeys then
response.cookies(rs("ForumId"))(Request("ThreadID")) = now()
end if
rs.movenext
wend
set rs = nothing
/red. Din variabel lastPostDate är lite förvirrande. Innehåller den datumet då tråden senast lästes? Det låter som nör den senast blev postad i. En tanke bara, så jag inte tänker fel själv. :)
Tack!
Koden för att uppdatera cooki´sar ser nu ut så här
If Request.Cookies(Request("ForumID")).HasKeys Then
For Each strSubKey In Request.Cookies(Request("ForumID"))
Response.Cookies(Request("ForumID"))(strSubKey) = Now()
Next
Response.Cookies(Request("ForumID")).Expires = DateAdd("d",20,Now())
End If
Problemet nu är nu att dom trådarna som ej är besökta inte har någon cookie, vilket innebär att dom kommer att listas som nya i vilket fall!
Det gåt ju att lösa genom att när man väljer att "markerar ett forum som läst" loopar igenom alla trådar och skapar en cookie med värdet "now()"
Tycker det borde gå att lösa på ett smidigare sätt?
Eller kanske ska man istället när man vill "Markera forumet som läst" skapa en ny cookie typ: Response.Cookies(Request("ForumID"))("marked_read") = Now() och jämföra mot den i första hand när man listar trådarna i forumet?
Snurrit värre detta :P
Föslag någon?
/red. Din variabel lastPostDate är lite förvirrande. Innehåller den datumet då tråden senast lästes? Det låter som nör den senast blev postad i. En tanke bara, så jag inte tänker fel själv.
lastPostDate innehåller datumet då trådens senaste post skapades.
:)
För den som är intressad så löste jag det så här:
På sidan som listar alla forum inlägg
Dim checkdate : checkdate = ""
Dim strNew : strNew = true
checkdate = Request.Cookies(Request("ForumID"))(objRS("PostID"))
If Len(checkdate) <> 0 Then
if cDate(objRS("pLastDate")) =< cDate(checkdate) Then strNew = false
End If
checkdate = Request.Cookies("Marked" & Request("ForumID"))("MarkedRead")
If Len(checkdate) <> 0 Then
if cDate(objRS("pLastDate")) =< cDate(checkdate) Then strNew = false
End If
If strNew = true then
Response.write "<img alt=""Contains new post since last visit!"" title=""Contains new post(s) since last visit!"" border=""0"" src=""icon/icon_folder_2.gif"">"
Else
Response.write "<img alt=""Does not contains new post since last visit!"" title=""Does not contains new post since last visit!"" border=""0"" src=""icon/icon_folder.gif"">"
End If