Index: openacs-4/packages/forums/www/message-view.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-view.tcl,v
diff -u -r1.28 -r1.29
--- openacs-4/packages/forums/www/message-view.tcl 1 Apr 2004 16:14:30 -0000 1.28
+++ openacs-4/packages/forums/www/message-view.tcl 27 Jan 2005 16:08:32 -0000 1.29
@@ -8,6 +8,7 @@
} {
message_id:integer,notnull
+ {display_mode ""}
}
#######################
@@ -77,14 +78,75 @@
set context [list [list "./forum-view?forum_id=$message(forum_id)" "$message(forum_name)"]]
if {![empty_string_p $message(parent_id)]} {
- lappend context [list "./message-view?message_id=$message(root_message_id)" "[_ forums.Entire_Thread]"]
+ lappend context [list "./message-view?message_id=$message(root_message_id)" "$message(subject)"]
lappend context [_ forums.One_Message]
} else {
- lappend context [_ forums.One_Thread]
+ lappend context "$message(subject)"
}
if { $permissions(post_p) || [ad_conn user_id] == 0 } {
set reply_url [export_vars -base message-post { { parent_id $message(message_id) } }]
}
set thread_url [export_vars -base forum-view { { forum_id $message(forum_id) } }]
+
+if {[empty_string_p $display_mode]} {
+ # user doesn't set display so let's get cookie
+ set display_mode [ad_get_cookie forums_display_mode dynamic_minimal]
+} else {
+ # user desires a new look so store it too
+ # half a year should be fine for now
+ ad_set_cookie -replace t -max_age 15768000 forums_display_mode $display_mode
+}
+
+set alternate_style_p 0
+
+if {[string equal $display_mode flat]} {
+ set alternate_style_p 1
+ set display_stylesheet "flat.css"
+} elseif {[string equal $display_mode nested] || [string equal $display_mode minimal] || [string equal $display_mode threaded]} {
+} else {
+ set display_mode dynamic_minimal
+}
+
+if {$alternate_style_p} {
+ set alternate_style_sheet ""
+} else {
+ set alternate_style_sheet ""
+}
+
+if {[string equal $display_mode "dynamic_minimal"]} {
+ set dynamic_script "
+
+
+"
+} else {
+ set dynamic_script ""
+}
+
+set display_options_list {{Flat flat} {Nested nested} {Threaded threaded} {Minimal minimal} {"Dynamic Minimal" dynamic_minimal}}
+#set display_options_list {{Flat flat} {Nested nested} {"Dynamic" dynamic_minimal}}
+ad_form \
+ -name display_form \
+ -method post \
+ -has_submit 1 \
+ -form {
+ {message_id:text(hidden) {value $message_id}}
+ {display_mode:text(radio),optional
+ {label "Display:"}
+ {options $display_options_list}
+ {value $display_mode}
+ {html {onChange "this.form.submit();"}}
+ }
+ } \
+ -after_submit {
+ }