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 { + }