Index: openacs-4/packages/forums/lib/message/threads-chunk.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/threads-chunk.tcl,v
diff -u -N -r1.8 -r1.9
--- openacs-4/packages/forums/lib/message/threads-chunk.tcl 15 May 2007 20:14:40 -0000 1.8
+++ openacs-4/packages/forums/lib/message/threads-chunk.tcl 22 May 2007 09:42:08 -0000 1.9
@@ -6,10 +6,27 @@
@cvs-id $Id$
}
+if {![info exists flush_p]} {set flush_p 0}
+
+set user_id [ad_verify_and_get_user_id]
# Get forum data
forum::get -forum_id $forum_id -array forum
+set useReadingInfo [forum::use_ReadingInfo_p]
+if { $useReadingInfo } {
+ set unread_or_new_query {
+ case when fi.reading_date is null then 't' else 'f' end as unread_p
+ }
+ set unread_join {
+ left join forums_reading_info fi on fm.message_id=fi.root_message_id and fi.user_id = :user_id
+ }
+} else {
+ set unread_or_new_query {
+ case when fm.last_child_post > (now() - interval '1 day') then 't' else 'f' end as new_p
+ }
+ set unread_join ""
+}
if {![info exists base_url]} {
set base_url ""
}
@@ -48,21 +65,34 @@
lappend actions [_ forums.ManageModerate] [export_vars -base "${base_url}moderate/forum" { forum_id }] [_ forums.ManageModerate]
}
+lappend actions [_ forums.mark_all_as_read] [export_vars -base "${base_url}mark_all_readed" { forum_id }] {}
+
template::list::create \
-name messages \
-multirow messages \
-page_size $page_size \
+ -page_flush_p $flush_p \
-page_query_name messages_select_paginate \
- -pass_properties {moderate_p} \
+ -pass_properties {moderate_p useReadingInfo} \
-actions $actions \
-elements {
subject {
label "#forums.Subject#"
link_url_col message_url
link_html {title "\#forums.goto_thread_subject\#"}
display_template {
- @messages.subject@
+
+
+ @messages.subject@
+
@messages.subject@
+
+
+
+ @messages.subject@
+
+ @messages.subject@
+
}
}
state_pretty {