Index: dotlrn_packages/packages/forums/catalog/forums.en_US.ISO-8859-1.xml =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/catalog/forums.en_US.ISO-8859-1.xml (.../forums.en_US.ISO-8859-1.xml) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/catalog/forums.en_US.ISO-8859-1.xml (.../forums.en_US.ISO-8859-1.xml) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -24,6 +24,7 @@ Charter exceeds maximum length (4000 characters) closed Collapse + Collapse message Confirm? Confirm Delete: Confirm Move to @@ -53,6 +54,7 @@ Enter a list of email addresses, optionally with first and last names. They will be subscribed to this forum. As an example: Entire Thread Expand + Expand message First Post Flat Flat Index: dotlrn_packages/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml (.../forums.es_ES.ISO-8859-1.xml) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml (.../forums.es_ES.ISO-8859-1.xml) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -15,6 +15,7 @@ Archivos adjuntos: Autor Foros disponibles + Mensajes disponibles Regresar a %forum.name% <a href="%thread_url%">Volver</a> a %forum.name% Cuerpo del mensaje @@ -24,6 +25,7 @@ La tem�tica no puede superar el l�mite de 4000 caracteres cerrado Contraer + Colapsar mensaje �Es correcto? Confirmaci�n para eliminar: Confirmar mover mensaje @@ -53,6 +55,7 @@ Ingrese una lista de correos electr�nicos, si desea agregue nombres y apellidos. Ellos ser�n suscritos autom�ticamente a este foro. Por ejemplo: Hilo completo Expandir + Expandir mensaje Primer mensaje Sin hilos Plano @@ -98,6 +101,7 @@ Administrar Administrar Foro de Discusi�n: Administrar/Moderar + Marcar todos como le�dos Mensaje ID T�tulo Moderar @@ -143,6 +147,7 @@ Enviar un mensaje Enviar un nuevo mensaje Enviar una respuesta + Postear de forma an�nima Enviar al foro: Enviados Enviado por Index: dotlrn_packages/packages/forums/forums.info =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/forums.info (.../forums.info) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/forums.info (.../forums.info) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -17,11 +17,11 @@ #forums.Forums# - - - + + + - + @@ -32,7 +32,6 @@ - Index: dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.adp =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.adp (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.adp (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1 @@ + Index: dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.tcl (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,75 @@ +ad_page_contract { + + Forums Administration + + @author Ben Adida (ben@openforce.net) + @creation-date 2002-05-24 + @cvs-id $Id$ + +} +set subsite_url [subsite::get_element -element url -notrailing] + +template::list::create \ + -name forums \ + -multirow forums \ + -actions [list \ + [_ forums.Create_a_New_Forum] forum-new {} \ + [_ forums.Parameters] [export_vars -base "$subsite_url/shared/parameters" { { return_url [ad_return_url] } { package_id {[ad_conn package_id]} } }] {} \ + [_ acs-subsite.Permissions] [export_vars -base "permissions" { { object_id {[ad_conn package_id]} } }] {} + ]\ + -elements { + edit { + label {} + sub_class narrow + display_template { + + } + link_url_col edit_url + } + name { + label "#forums.Forum_Name#" + link_url_col view_url + } + enabled { + label "Enabled" + html { align center } + display_template { + + \#forums.disable\# + + + \#forums.enable\# + + } + } + permissions { + label "#acs-subsite.Permissions#" + display_template "#acs-subsite.Permissions#" + link_url_col permissions_url + } + } + + +# List of forums +set package_id [ad_conn package_id] +db_multirow -extend { + view_url + edit_url + permissions_url + enable_url + disable_url +} forums select_forums {} { + if { [template::util::is_true $enabled_p] } { + set view_url [export_vars -base "[ad_conn package_url]forum-view" { forum_id }] + } else { + set view_url {} + } + set edit_url [export_vars -base "forum-edit" { forum_id }] + set permissions_url [export_vars -base permissions { { object_id $forum_id } }] + set enable_url [export_vars -base "forum-enable" { forum_id }] + set disable_url [export_vars -base "forum-disable" { forum_id }] +} + +if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template +} Index: dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.xql (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/admin-forums-chunk.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,13 @@ + + + + + +select forum_id, name, posting_policy, enabled_p +from forums_forums +where package_id= :package_id +order by enabled_p desc, name + + + + Index: dotlrn_packages/packages/forums/lib/forums/edit.adp =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/edit.adp (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/edit.adp (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1 @@ + Index: dotlrn_packages/packages/forums/lib/forums/edit.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/edit.tcl (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/edit.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,57 @@ +ad_page_contract { + + Edit a Forum + + @author Ben Adida (ben@openforce.net) + @creation-date 2002-05-25 + @cvs-id $Id$ + +} { +} + +form create forum + +element create forum return_url \ + -datatype text -widget hidden -optional + +element create forum forum_id \ + -label [_ forums.Forum_ID] -datatype integer -widget hidden + +forums::form::forum forum + +if {[form is_valid forum]} { + template::form get_values forum return_url forum_id name charter presentation_type posting_policy new_threads_p + + forum::edit -forum_id $forum_id \ + -name $name \ + -charter [template::util::richtext::get_property contents $charter] \ + -presentation_type $presentation_type \ + -posting_policy $posting_policy + + forum::posting_policy_set -posting_policy $posting_policy \ + -forum_id $forum_id + + # Users can create new threads? + if {$new_threads_p} { + forum::new_questions_allow -forum_id $forum_id + } else { + forum::new_questions_deny -forum_id $forum_id + } + + ad_returnredirect $return_url + ad_script_abort +} + +if { [form is_request forum] } { + element set_properties forum return_url -value $return_url + element set_properties forum forum_id -value $forum(forum_id) + element set_properties forum name -value $forum(name) + element set_properties forum charter -value [template::util::richtext create $forum(charter) "text/html"] + element set_properties forum presentation_type -value $forum(presentation_type) + element set_properties forum posting_policy -value $forum(posting_policy) + element set_properties forum new_threads_p -value [forum::new_questions_allowed_p -forum_id $forum(forum_id)] +} + +if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template +} Index: dotlrn_packages/packages/forums/lib/forums/forums-chunk-oracle.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-chunk-oracle.xql (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-chunk-oracle.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,33 @@ + + + + oracle8.1.6 + + + + select forums_forums_enabled.*, + approved_thread_count as n_threads, + to_char(last_post, 'YYYY-MM-DD HH24:MI:SS') as last_post_ansi, + $unread_or_new_query_clause + from forums_forums_enabled + where forums_forums_enabled.package_id = :package_id + and ( + forums_forums_enabled.posting_policy = 'open' + or forums_forums_enabled.posting_policy = 'moderated' + or 't' = acs_permission.permission_p(forums_forums_enabled.forum_id, :user_id, 'forum_read') + ) + order by forums_forums_enabled.name + + + + + + approved_thread_count-nvl((SELECT forums_reading_info_user.threads_read + FROM forums_reading_info_user + WHERE forums_reading_info_user.forum_id=forums_forums_enabled.forum_id + AND forums_reading_info_user.user_id=:user_id), 0) + as count_unread + + + + Index: dotlrn_packages/packages/forums/lib/forums/forums-chunk-postgresql.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-chunk-postgresql.xql (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-chunk-postgresql.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,34 @@ + + + + postgresql7.1 + + + + select forums_forums_enabled.*, + approved_thread_count as n_threads, + to_char(last_post, 'YYYY-MM-DD HH24:MI:SS') as last_post_ansi, + $unread_or_new_query_clause + from forums_forums_enabled + where forums_forums_enabled.package_id = :package_id + and ( + forums_forums_enabled.posting_policy = 'open' + or forums_forums_enabled.posting_policy = 'moderated' + or 't' = acs_permission__permission_p(forums_forums_enabled.forum_id, :user_id,'forum_read') + ) + order by forums_forums_enabled.name + + + + + + approved_thread_count-coalesce((SELECT forums_reading_info_user.threads_read + FROM forums_reading_info_user + WHERE forums_reading_info_user.forum_id=forums_forums_enabled.forum_id + AND forums_reading_info_user.user_id=:user_id), 0) + as count_unread + + + + + Index: dotlrn_packages/packages/forums/lib/forums/forums-chunk.adp =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-chunk.adp (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-chunk.adp (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1 @@ + Index: dotlrn_packages/packages/forums/lib/forums/forums-chunk.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-chunk.tcl (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-chunk.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,104 @@ +ad_page_contract { + + top level list of forums + + @author Ben Adida (ben@openforce.net) + @creation-date 2002-05-24 + @cvs-id $Id$ + +} + +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] + +set admin_p [permission::permission_p -object_id $package_id -privilege admin] + +# get the colors from the params +set table_border_color [parameter::get -parameter table_border_color] +set table_bgcolor [parameter::get -parameter table_bgcolor] +set table_other_bgcolor [parameter::get -parameter table_other_bgcolor] + +set useReadingInfo [forum::use_ReadingInfo_p] +if { $useReadingInfo } { + set unread_or_new_query_clause [db_map unread_or_new_query] +} else { + set unread_or_new_query_clause { + case when last_post > (current_date - interval '1' day) then 't' else 'f' end as new_p + } +} + +set actions [list] +if { $admin_p } { + lappend actions [_ forums.New_Forum] "admin/forum-new" {} + lappend actions [_ forums.Administration] "admin/" {} +} + +template::list::create \ + -name forums \ + -actions $actions \ + -no_data [_ forums.No_Forums] \ + -pass_properties useReadingInfo \ + -elements { + name { + label {\#forums.Forum_Name\#} + link_url_col forum_view_url + display_template { + + + + + @forums.name@ + + + + + + + + + @forums.name@ + + + + + } + } + charter { + label {\#forums.Charter\#} + display_template {@forums.charter;noquote@} + } + n_threads { + label {\#forums.Threads\#} + display_col n_threads_pretty + display_template { + + + @forums.count_unread@ new of + + + @forums.n_threads@ + } + html { align right } + } + last_post { + label {\#forums.Last_Post\#} + display_col last_modified_pretty + } + statistic { + label {\#forums.Statistics\#} + link_url_col forum_view_statistic + display_col statistic + } + } + +db_multirow -extend { forum_view_url last_modified_pretty n_threads_pretty forum_view_statistic statistic} forums select_forums {} { + set last_modified_pretty [lc_time_fmt $last_post_ansi "%x %X"] + set forum_view_url [export_vars -base forum-view { forum_id }] + set n_threads_pretty [lc_numeric $n_threads] + set forum_view_statistic [export_vars -base forum-view-statistic { forum_id }] + set statistic "[_ forums.Statistics]" +} + +if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template +} Index: dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.adp =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.adp (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.adp (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,11 @@ +

+ #forums.Users_that_wrote_in_the_forum# @name@ +

+ + + + + + +

#forums.No_Postings#

+
Index: dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.tcl (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,48 @@ +ad_page_contract { + + Forums History + + @author Natalia P�rez (nperper@it.uc3m.es) + @creation-date 2005-03-17 + +} + +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] + +# get the colors from the params +set table_border_color [parameter::get -parameter table_border_color] +set table_bgcolor [parameter::get -parameter table_bgcolor] +set table_other_bgcolor [parameter::get -parameter table_other_bgcolor] + +# provide screen_name functionality +set screen_name [db_string select_screen_name { select screen_name from users where user_id = :user_id}] +set useScreenNameP [parameter::get -parameter "UseScreenNameP" -default 0] + +template::list::create \ + -html {width 50%} \ + -name persons \ + -multirow persons \ + -key message_id \ + -pass_properties {useScreenNameP screen_name} \ + -elements { + name { + label "\#forums.User\#" + html {align left} + display_template {@screen_name@@persons.first_names@ @persons.last_name@} + } + num_msg { + label "\#forums.Number_of_Posts\#" + html {align left} + } + last_post { + label "\#forums.Posted\#" + html {align right} + } + } + +db_multirow persons select_users_wrote_post {} + +if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template +} Index: dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.xql (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/forums-history-chunk.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,12 @@ + + + + + + select distinct forums_messages.user_id, persons.first_names, persons.last_name, count(user_id) as num_msg, to_char(max(last_child_post), 'YYYY-MM-DD HH24:MI:SS') as last_post + from persons, forums_messages + where forums_messages.user_id = persons.person_id and forums_messages.forum_id = :forum_id + group by forums_messages.user_id, persons.first_names, persons.last_name + + + Index: dotlrn_packages/packages/forums/lib/forums/new.adp =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/new.adp (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/new.adp (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1 @@ + Index: dotlrn_packages/packages/forums/lib/forums/new.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/lib/forums/new.tcl (revision 0) +++ dotlrn_packages/packages/forums/lib/forums/new.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,63 @@ +ad_page_contract { + + Create a Forum + By default redirects to the level above as that is prolly where the index page is + + @author Ben Adida (ben@openforce.net) + @creation-date 2002-05-25 + @cvs-id $Id$ + +} + +if { ![info exists name] } { + set name {} +} + +set package_id [ad_conn package_id] + +form create forum + +element create forum forum_id \ + -label [_ forums.Forum_ID] \ + -datatype integer \ + -widget hidden + +forums::form::forum forum + +if {[form is_valid forum]} { + template::form get_values forum \ + forum_id name charter presentation_type posting_policy new_threads_p + + set forum_id [forum::new -forum_id $forum_id \ + -name $name \ + -charter [template::util::richtext::get_property contents $charter] \ + -presentation_type $presentation_type \ + -posting_policy $posting_policy \ + -package_id $package_id \ + ] + + forum::posting_policy_set -posting_policy $posting_policy \ + -forum_id $forum_id + + # Users can create new threads? + if {$new_threads_p} { + forum::new_questions_allow -forum_id $forum_id + } else { + forum::new_questions_deny -forum_id $forum_id + } + + ad_returnredirect $return_url + ad_script_abort +} + +if { [form is_request forum] } { + # Pre-fetch the forum_id + set forum_id [db_nextval acs_object_id_seq] + element set_properties forum forum_id -value $forum_id + element set_value forum new_threads_p 1 + element set_value forum name $name +} + +if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template +} Index: dotlrn_packages/packages/forums/lib/message/attachment-list.adp =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/attachment-list.adp (.../attachment-list.adp) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/attachment-list.adp (.../attachment-list.adp) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -1,7 +1,5 @@ - + Index: dotlrn_packages/packages/forums/lib/message/attachment-list.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/attachment-list.tcl (.../attachment-list.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/attachment-list.tcl (.../attachment-list.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -15,7 +15,12 @@ } # get the attachments -set attachments [attachments::get_attachments -object_id $message(message_id)] +template::multirow create attachments url name +foreach attachment [attachments::get_attachments -object_id $message(message_id)] { + set url [lindex $attachment 2] + set name [lindex $attachment 1] + template::multirow append attachments $url $name +} set attachment_graphic [attachments::graphic_url] Index: dotlrn_packages/packages/forums/lib/message/row.adp =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/row.adp (.../row.adp) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/row.adp (.../row.adp) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -1,35 +1,8 @@ Index: dotlrn_packages/packages/forums/lib/message/thread-chunk.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/thread-chunk.tcl (.../thread-chunk.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/thread-chunk.tcl (.../thread-chunk.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -144,7 +144,7 @@ # this is needed to make the javascript work lappend one_children_list "null" } - append response_arrays_stub " replies\[$one_parent_id\] = new Array([join $one_children_list ","]);\n" + append response_arrays_stub " forums_replies\[$one_parent_id\] = new Array([join $one_children_list ","]);\n" } append response_arrays_stub "--> Index: dotlrn_packages/packages/forums/lib/message/threads-chunk-oracle.xql =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/threads-chunk-oracle.xql (.../threads-chunk-oracle.xql) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/threads-chunk-oracle.xql (.../threads-chunk-oracle.xql) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -63,7 +63,7 @@ - case when fm.last_child_post > sysdate-1 then 't' else 'f' end as unread_p + case when fm.last_child_post > sysdate-1 then 't' else 'f' end as new_p Index: dotlrn_packages/packages/forums/lib/message/threads-chunk.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/lib/message/threads-chunk.tcl (.../threads-chunk.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/lib/message/threads-chunk.tcl (.../threads-chunk.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -59,8 +59,10 @@ 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 }] {} - +if { $useReadingInfo } { + lappend actions [_ forums.mark_all_as_read] [export_vars -base "${base_url}mark-all-read" { forum_id }] {} +} + template::list::create \ -name messages \ -multirow messages \ @@ -72,21 +74,23 @@ -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@ + + @messages.subject@ + + + + @messages.subject@ + + @messages.subject@ + + +

} } state_pretty { Index: dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-drop.sql =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-drop.sql (.../forums-reading-info-drop.sql) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-drop.sql (.../forums-reading-info-drop.sql) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -12,7 +12,6 @@ -- Tables to reading information +drop package forum_reading_info; drop table forums_reading_info_user; -drop index forums_reading_info_forum_idx; -drop index forums_reading_info_user_index; drop table forums_reading_info; \ No newline at end of file Index: dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-package-create.sql =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-package-create.sql (.../forums-reading-info-package-create.sql) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/sql/oracle/forums-reading-info-package-create.sql (.../forums-reading-info-package-create.sql) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -50,7 +50,7 @@ ); -- recount reading_info_user from reading_info --- procedure repair_reading_info (); + procedure repair_reading_info; end forum_reading_info; / @@ -65,78 +65,103 @@ p_message_id in forums_messages.message_id%TYPE ) is - v_forum_id integer; + v_forum_id forums_messages.forum_id%TYPE; cursor c_reading is select user_id from forums_reading_info where root_message_id = p_message_id; + begin - select forum_id into v_forum_id from forums_messages where message_id = p_message_id; + + --Exception no_data_found if select into hasn't rows + begin + select forum_id into v_forum_id from forums_messages where message_id = p_message_id; + exception + when no_data_found then + v_forum_id := null; + end; + for v_reading in c_reading loop + delete from forums_reading_info where root_message_id = p_message_id and user_id = v_reading.user_id; update forums_reading_info_user set threads_read=threads_read-1 where forum_id=v_forum_id and user_id=v_reading.user_id; + end loop; + + end remove_msg; -- mark_all_read: - procedure user_add_forum ( - p_forum_id in forums_forums.forum_id%TYPE, - p_user_id in users.user_id%TYPE - ) - is - v_message forums_messages_approved%ROWTYPE; - v_read_p forums_reading_info%ROWTYPE; - begin - for v_message in (select message_id + + procedure user_add_forum ( + p_forum_id in forums_forums.forum_id%TYPE, + p_user_id in users.user_id%TYPE + ) + is + v_message forums_messages_approved%ROWTYPE; + v_read_p integer; + begin + + for v_message in (select message_id from forums_messages_approved where forum_id = p_forum_id and parent_id is null) - loop - begin - select * into v_read_p from forums_reading_info where user_id = p_user_id and root_message_id = v_message.message_id; - exception - when others then - if sql%notfound then -- check for 'no data found' - insert into forums_reading_info - (root_message_id,user_id) - values - (v_message.message_id,p_user_id); + loop + select count(*) into v_read_p from forums_reading_info where user_id = p_user_id and root_message_id = v_message.message_id; + + if v_read_p = 0 then + insert into forums_reading_info + (root_message_id,user_id) + values + (v_message.message_id,p_user_id); end if; - end; - end loop; - end user_add_forum; + end loop; + + delete from forums_reading_info_user where forum_id = p_forum_id and user_id = p_user_id; + insert into forums_reading_info_user (forum_id,user_id,threads_read) VALUES (p_forum_id,p_user_id,(select approved_thread_count from forums_forums where forum_id = p_forum_id)); + end user_add_forum; + -- mark message read for user - procedure user_add_msg ( - p_root_message_id in forums_messages.message_id%TYPE, - p_user_id in users.user_id%TYPE - ) - is - v_forum_id integer; - v_read_p varchar(1); - v_exists varchar(1); - begin - select forum_id into v_forum_id from forums_messages where message_id = p_root_message_id; - begin - select 1 into v_read_p from forums_reading_info where user_id = p_user_id and root_message_id = p_root_message_id; - insert into forums_reading_info (root_message_id,user_id) values (p_root_message_id,p_user_id); - exception - when others then - if sql%notfound then -- check for 'no data found' - insert into forums_reading_info (root_message_id,user_id) values (p_root_message_id,p_user_id); - begin - INSERT INTO forums_reading_info_user(forum_id,user_id,threads_read) VALUES (v_forum_id,p_user_id,1); - SELECT 1 into v_exists FROM forums_reading_info_user WHERE forum_id=v_forum_id AND user_id=p_user_id; - exception - when others then - if sql%notfound then -- check for 'no data found' - UPDATE forums_reading_info_user SET threads_read=threads_read+1 WHERE forum_id=v_forum_id AND user_id=p_user_id; - end if; - end; - end if; - end; - end user_add_msg; + procedure user_add_msg ( + p_root_message_id in forums_messages.message_id%TYPE, + p_user_id in users.user_id%TYPE + ) + is + v_forum_id integer; + v_read_p integer; + v_exists integer; + begin + begin + select forum_id into v_forum_id from forums_messages where message_id = p_root_message_id; + exception + when no_data_found then + v_forum_id := null; + end; + select count(*) into v_read_p from forums_reading_info where user_id = p_user_id and root_message_id = p_root_message_id; + + if v_read_p = 0 then + + insert into forums_reading_info (root_message_id,user_id) values (p_root_message_id,p_user_id); + SELECT count(*) into v_exists FROM forums_reading_info_user WHERE forum_id=v_forum_id AND user_id=p_user_id; + + if v_exists > 0 then + + UPDATE forums_reading_info_user SET threads_read=threads_read+1 WHERE forum_id=v_forum_id AND user_id=p_user_id; + + else + + INSERT INTO forums_reading_info_user(forum_id,user_id,threads_read) VALUES (v_forum_id,p_user_id,1); + + end if; + + end if; + + end user_add_msg; + + + -- move thread to other forum procedure move_update ( p_message_id in forums_messages.message_id%TYPE, @@ -146,18 +171,25 @@ v_users forums_reading_info%ROWTYPE; v_threads integer; begin + for v_users in (select user_id from forums_reading_info where root_message_id = p_message_id) + loop -- down the number of threads read in old forum update forums_reading_info_user set threads_read=threads_read-1 where forum_id=p_old_forum_id and user_id=v_users.user_id; -- up the number of thread read in new forum select count(*) into v_threads from forums_reading_info_user where forum_id = p_new_forum_id and user_id = v_users.user_id; - if v_threads = 0 then + + if v_threads = 0 then + insert into forums_reading_info_user (forum_id,user_id,threads_read) values (p_new_forum_id,v_users.user_id,1); + else + update forums_reading_info_user set threads_read = threads_read + 1 where forum_id = p_new_forum_id and user_id = v_users.user_id; + end if; end loop; @@ -172,20 +204,36 @@ v_target_forum_id forums_forums.forum_id%TYPE; v_users forums_reading_info%ROWTYPE; begin - select forum_id into v_target_forum_id from forums_messages where message_id = p_target_message_id; + begin + select forum_id into v_target_forum_id from forums_messages where message_id = p_target_message_id; + exception + when no_data_found then + v_target_forum_id := null; + end; + -- for all users that have read target, but not the source, remove target_info + for v_users in (select user_id from forums_reading_info fri where root_message_id = p_target_message_id and not exists (select 1 from forums_reading_info where root_message_id = p_source_message_id and user_id = fri.user_id)) + loop + delete from forums_reading_info where root_message_id = p_target_message_id and user_id = v_users.user_id; -- down the number of threads read in target forum update forums_reading_info_user set threads_read=threads_read-1 where forum_id = v_target_forum_id and user_id = v_users.user_id; + end loop; -- for all users that have read source, down the nummber of thread in source forum and remove reading info four source message since it no longer is root_message_id + for v_users in (select user_id from forums_reading_info where root_message_id = p_source_message_id) + loop + delete from forums_reading_info where root_message_id=p_source_message_id and user_id=v_users.user_id; + update forums_reading_info_user set threads_read=threads_read-1 where forum_id = p_source_forum_id and user_id = v_users.user_id; + end loop; + end move_thread_th_update; -- move message to other thread @@ -197,17 +245,52 @@ v_target_forum_id forums_forums.forum_id%TYPE; v_users forums_reading_info%ROWTYPE; begin - select forum_id from forums_messages where message_id = p_target_message_id into v_target_forum_id; + begin + select forum_id into v_target_forum_id from forums_messages where message_id = p_target_message_id; + exception + when no_data_found then + v_target_forum_id := null; + end; + + for v_users in (select user_id from forums_reading_info fri where root_message_id = p_target_message_id and not exists(select 1 from forums_reading_info where root_message_id = p_source_old_root_message_id and user_id = fri.user_id)) loop + delete from forums_reading_info where root_message_id = p_target_message_id and user_id = v_users.user_id; -- down the number of threads read in target forum + update forums_reading_info_user set threads_read = threads_read-1 where forum_id = v_target_forum_id and user_id = v_users.user_id; end loop; end move_thread_update; + procedure repair_reading_info is + cursor c1 is + select user_id, forum_id, count(root_message_id) as threads_read + from ( + select user_id, + (select forum_id from forums_messages where message_id = root_message_id) as forum_id, + root_message_id + from forums_reading_info + ) f + group by forum_id,user_id; + + begin + + delete from forums_reading_info_user; + + for v_users in c1 + loop + + insert into forums_reading_info_user (forum_id,user_id,threads_read) + values + (v_users.forum_id,v_users.user_id,v_users.threads_read); + + end loop; + + end repair_reading_info; + end forum_reading_info; / show errors \ No newline at end of file Index: dotlrn_packages/packages/forums/sql/postgresql/upgrade/upgrade-1.3d5-1.3d6.sql =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/sql/postgresql/upgrade/upgrade-1.3d5-1.3d6.sql (.../upgrade-1.3d5-1.3d6.sql) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/sql/postgresql/upgrade/upgrade-1.3d5-1.3d6.sql (.../upgrade-1.3d5-1.3d6.sql) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -1 +1 @@ -\i forums-reading-info-create.sql \ No newline at end of file +\i ../forums-reading-info-create.sql \ No newline at end of file Index: dotlrn_packages/packages/forums/tcl/forums-callback-procs.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/tcl/forums-callback-procs.tcl (.../forums-callback-procs.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/tcl/forums-callback-procs.tcl (.../forums-callback-procs.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -190,6 +190,37 @@ return "[ad_url][db_string select_forums_package_url {}]message-view?message_id=$message_id" } +ad_proc -public -callback search::datasource -impl forums_forum {} { + + returns a datasource for the search package + this is the content that will be indexed by the full text + search engine. + + @author Jeff Davis davis@xarg.net + @creation_date 2004-04-01 +} { + + set forum_id $object_id + + if {![db_0or1row datasource {} -column_array datasource]} { + return {object_id {} name {} charter {} mime {} storage_type {}} + } + + return [array get datasource] +} + +ad_proc -public -callback search::url -impl forums_forum {} { + + returns a url for a forum to the search package + + @author Jeff Davis davis@xarg.net + @creation_date 2004-04-01 + +} { + set forum_id $object_id + return "[ad_url][db_string select_forums_package_url {}]forum-view?forum_id=$forum_id" +} + ad_proc -callback application-track::getApplicationName -impl forums {} { callback implementation } { Index: dotlrn_packages/packages/forums/tcl/forums-callback-procs.xql =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/tcl/forums-callback-procs.xql (.../forums-callback-procs.xql) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/tcl/forums-callback-procs.xql (.../forums-callback-procs.xql) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -33,4 +33,18 @@ + + + select + forum_id as object_id, + name as title, + charter as content, + 'text/plain' as mime, + 'text' as storage_type, + '' as keywords + from forums_forums + where forum_id = :forum_id + + + Index: dotlrn_packages/packages/forums/tcl/forums-sc-procs.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/tcl/forums-sc-procs.tcl (.../forums-sc-procs.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/tcl/forums-sc-procs.tcl (.../forums-sc-procs.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -1,6 +1,10 @@ ad_library { Forums Library - Search Service Contracts + + This library is DEPRECATED and NOT USED. search is implemented using + callbacks now. See forums-callback-procs.tcl + This library will be definitely removed in 5.5 @creation-date 2002-08-07 @author Dave Bauer Index: dotlrn_packages/packages/forums/tcl/messages-format-procs.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/tcl/messages-format-procs.tcl (.../messages-format-procs.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/tcl/messages-format-procs.tcl (.../messages-format-procs.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -8,13 +8,22 @@ Generates a subject string for a reply to an existing message. + The prefix is always added using the system-wide locale to avoid + the uncontrollable growth of the subject in a multi-language + environment. + } { - set subject "[_ forums.Re] $parent_subject" - - # trim multiple leading Re: - regsub {^(\s*Re:\s*)*} $subject {Re: } subject + set prefix [lang::message::lookup [lang::system::site_wide_locale] forums.Re] + set prefix "[string trim $prefix] " + + # trim multiple leading prefixes: + regsub "^($prefix)+" $parent_subject {} parent_subject + + set subject [concat $prefix $parent_subject] + return $subject + } ad_proc emoticons { Index: dotlrn_packages/packages/forums/www/forum-view.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/forum-view.tcl (.../forum-view.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/forum-view.tcl (.../forum-view.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -58,10 +58,13 @@ -url [ad_conn url]?forum_id=$forum_id \ ] +template::head::add_css -href /resources/forums/forums.css -media all +template::head::add_css -href /resources/forums/print.css -media print + set page_title "[_ forums.Forum_1] $forum(name)" set context [list [ad_quotehtml $forum(name)]] set type_id [notification::type::get_type_id -short_name forums_forum_notif] set notification_count [notification::request::request_count \ -type_id $type_id \ - -object_id $forum_id] \ No newline at end of file + -object_id $forum_id] Index: dotlrn_packages/packages/forums/www/mark-all-read-oracle.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/www/mark-all-read-oracle.xql (revision 0) +++ dotlrn_packages/packages/forums/www/mark-all-read-oracle.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,16 @@ + + + + oracle8.1.6 + + + + begin + forum_reading_info.user_add_forum ( + :forum_id, + :user_id + ); + end; + + + \ No newline at end of file Index: dotlrn_packages/packages/forums/www/mark-all-read-postgresql.xql =================================================================== diff -u --- dotlrn_packages/packages/forums/www/mark-all-read-postgresql.xql (revision 0) +++ dotlrn_packages/packages/forums/www/mark-all-read-postgresql.xql (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,16 @@ + + + + postgresql7.1 + + + + + select forums_reading_info__user_add_forum ( + :forum_id, + :user_id + ); + + + + \ No newline at end of file Index: dotlrn_packages/packages/forums/www/mark-all-read.tcl =================================================================== diff -u --- dotlrn_packages/packages/forums/www/mark-all-read.tcl (revision 0) +++ dotlrn_packages/packages/forums/www/mark-all-read.tcl (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -0,0 +1,16 @@ +ad_page_contract { + + one forum view + + @author Andreas Benisch (andreas.benisch@wu-wien.ac.at) + @creation-date 2004-09-06 + +} { + forum_id:integer,notnull +} + + set user_id [ad_verify_and_get_user_id] + set db_antwort [db_exec_plsql forums_reading_info__user_add_forum {}] + + +ad_returnredirect forum-view?forum_id=$forum_id Index: dotlrn_packages/packages/forums/www/message-post.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/message-post.tcl (.../message-post.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/message-post.tcl (.../message-post.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -74,7 +74,7 @@ #template::head::add_css -alternate -href /resources/forums/expand.css -media all -lang $lang -title "expand" if {![string equal [template::form::get_button message] "preview"]} { - set context [list [list "./forum-view?forum_id=$forum_id" [ad_quotehtml $forum(name)]]] + set context [list [list "./forum-view?forum_id=$forum(forum_id)" [ad_quotehtml $forum(name)]]] if {[empty_string_p $parent_id]} { lappend context [_ forums.Post_a_Message] @@ -83,7 +83,7 @@ lappend context [_ forums.Post_a_Reply] } } else { - set context [list [list "./forum-view?forum_id=$forum_id" [ad_quotehtml $forum(name)]]] + set context [list [list "./forum-view?forum_id=$forum(forum_id)" [ad_quotehtml $forum(name)]]] lappend context "[_ forums.Post_a_Message]" ad_return_template "message-post-confirm" Index: dotlrn_packages/packages/forums/www/message-view.adp =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/message-view.adp (.../message-view.adp) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/message-view.adp (.../message-view.adp) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -9,11 +9,6 @@
- Index: dotlrn_packages/packages/forums/www/message-view.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/message-view.tcl (.../message-view.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/message-view.tcl (.../message-view.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -91,43 +91,23 @@ set thread_url [export_vars -base forum-view { { forum_id $message(forum_id) } }] -set dynamic_script " - -" - if {$forum(presentation_type) eq "flat"} { set display_mode flat } # stylesheets set lang [ad_conn language] template::head::add_css -href /resources/forums/forums.css -media all -lang $lang -#template::head::add_css -alternate -href /resources/forums/collapse.css -media all -lang $lang -title "collapse" -#template::head::add_css -alternate -href /resources/forums/expand.css -media all -lang $lang -title "expand" -#template::head::add_css -alternate -href /resources/forums/print.css -media print -lang $lang +template::head::add_css -href /resources/forums/print.css -media print -lang $lang +# set vars for i18n +template::head::add_script -type "text/javascript" -script [subst { + var collapse_alt_text='[_ forums.collapse]'; + var expand_alt_text='[_ forums.expand]'; + var collapse_link_title='[_ forums.collapse_message]'; + var expand_link_title='[_ forums.expand_message]';}] -order 1 + # js scripts -template::head::add_script -type "text/javascript" -src "/resources/forums/forums.js" -template::head::add_script -type "text/javascript" -src "/resources/forums/dynamic-comments.js" -template::head::add_script -type "text/javascript" -script $dynamic_script +template::head::add_script -type "text/javascript" -src "/resources/forums/forums.js" -order 2 -# cookie handling for the expand/collpase -set onunload_script { - saveMsgsState(); -} - -set onload_script { - loadMsgsState(); -} - -template::add_body_handler -event onunload -script $onunload_script -template::add_body_handler -event onload -script $onload_script - set page_title "#forums.Thread_title#" Index: dotlrn_packages/packages/forums/www/moderate/message-delete.tcl =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/moderate/message-delete.tcl (.../message-delete.tcl) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/moderate/message-delete.tcl (.../message-delete.tcl) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -18,22 +18,11 @@ # Select the stuff forum::message::get -message_id $message_id -array message -set dynamic_script " - -" # stylesheets set lang [ad_conn language] template::head::add_css -href /resources/forums/forums.css -media all -lang $lang # js scripts template::head::add_script -type "text/javascript" -src "/resources/forums/forums.js" -template::head::add_script -type "text/javascript" -script $dynamic_script ad_return_template Index: dotlrn_packages/packages/forums/www/resources/forums.css =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/resources/forums.css (.../forums.css) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/resources/forums.css (.../forums.css) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -6,10 +6,9 @@ } #forum-thread .action-list { - float: right; - text-align: right; - margin-top: 8px; - margin-right: 8px; + position: absolute; + right: 0.2em; + top: 0.2em; } #forum-thread .details { @@ -70,10 +69,12 @@ } #forum-thread .odd { + position: relative; background: #e9effb; } #forum-thread .even { + position: relative; background: #f3f3f3; } @@ -114,3 +115,8 @@ .details img { border-style: none; } + +h2.forum-heading { + font-size: 1.0em; + font-weight: normal; +} Index: dotlrn_packages/packages/forums/www/resources/forums.js =================================================================== diff -u -r049b622549d53690f411632d2dc9926c3b35e187 -r427b58e5b60733288b390a895dda101b208bf186 --- dotlrn_packages/packages/forums/www/resources/forums.js (.../forums.js) (revision 049b622549d53690f411632d2dc9926c3b35e187) +++ dotlrn_packages/packages/forums/www/resources/forums.js (.../forums.js) (revision 427b58e5b60733288b390a895dda101b208bf186) @@ -1,5 +1,5 @@ -var forums_collapse_symbol = '-'; -var forums_expand_symbol = '+'; +var forums_collapse_symbol = '' + collapse_alt_text +''; +var forums_expand_symbol = '' + expand_alt_text + ''; var forums_replies = new Array(); // toggle visibility @@ -29,9 +29,11 @@ } if (s) { content.className = "dynexpanded"; + link.title = collapse_link_title; symbol = forums_collapse_symbol; } else { content.className = "dyncollapsed"; + link.title = expand_link_title; symbol = forums_expand_symbol; }