Index: openacs-4/packages/chat/chat.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/chat.info,v diff -u -N -r1.17.2.2 -r1.17.2.3 --- openacs-4/packages/chat/chat.info 23 Nov 2016 12:38:38 -0000 1.17.2.2 +++ openacs-4/packages/chat/chat.info 23 Nov 2016 19:51:16 -0000 1.17.2.3 @@ -9,7 +9,7 @@ f t - + Peter Alberer Server based chat with an html and ajax client. 2016-11-22 @@ -18,7 +18,7 @@ Adapted by Tekne 2006/03/01 to replace JAVA server with AJAX; make use of generalized chat class from xotcl-core. 0 - + Index: openacs-4/packages/chat/sql/postgresql/chat-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/sql/postgresql/chat-create.sql,v diff -u -N -r1.8.2.4 -r1.8.2.5 --- openacs-4/packages/chat/sql/postgresql/chat-create.sql 22 Nov 2016 18:34:35 -0000 1.8.2.4 +++ openacs-4/packages/chat/sql/postgresql/chat-create.sql 23 Nov 2016 19:51:16 -0000 1.8.2.5 @@ -209,7 +209,11 @@ auto_transcript_p boolean default 'f', -- allow to set wether we want login/logout messages or not login_messages_p boolean default 't', - logout_messages_p boolean default 't' + logout_messages_p boolean default 't', + -- set how much in the past users will see when entering a chat in + -- seconds this is needed to specify, for example, that users will + -- see only the previous 10 minutes of the conversation + messages_time_window integer default 600 ); @@ -345,130 +349,6 @@ -- added -select define_function_args( - 'chat_room__new', - 'room_id,pretty_name,description,moderated_p,active_p,archive_p,auto_flush_p,auto_transcript_p,login_messages_p,logout_messages_p,context_id,creation_date,creation_user,creation_ip,object_type'); - --- --- procedure chat_room__new/15 --- -CREATE OR REPLACE FUNCTION chat_room__new( - p_room_id integer, - p_pretty_name varchar, - p_description varchar, - p_moderated_p boolean, - p_active_p boolean, - p_archive_p boolean, - p_auto_flush_p boolean, - p_auto_transcript_p boolean, - p_login_messages_p boolean, - p_logout_messages_p boolean, - p_context_id integer, - p_creation_date timestamptz, - p_creation_user integer, - p_creation_ip varchar, - p_object_type varchar -) RETURNS integer AS $$ -DECLARE - v_room_id chat_rooms.room_id%TYPE; -BEGIN - v_room_id := acs_object__new ( - null, - 'chat_room', - now(), - p_creation_user, - p_creation_ip, - p_context_id - ); - - insert into chat_rooms ( - room_id, - pretty_name, - description, - moderated_p, - active_p, - archive_p, - auto_flush_p, - auto_transcript_p, - login_messages_p, - logout_messages_p - ) values ( - v_room_id, - p_pretty_name, - p_description, - p_moderated_p, - p_active_p, - p_archive_p, - p_auto_flush_p, - p_auto_transcript_p, - p_login_messages_p, - p_logout_messages_p - ); - -return v_room_id; - -END; -$$ LANGUAGE plpgsql; - - - ---------------------------------- - - - --- added -select define_function_args('chat_room__name','room_id'); - --- --- procedure chat_room__name/1 --- -CREATE OR REPLACE FUNCTION chat_room__name( - p_room_id integer -) RETURNS varchar AS $$ -DECLARE - v_pretty_name chat_rooms.pretty_name%TYPE; -BEGIN - select into v_pretty_name pretty_name from chat_rooms where room_id = p_room_id; - return v_pretty_name; -END; -$$ LANGUAGE plpgsql; - - - - -------------------------------- - - - - - --- added -select define_function_args('chat_room__message_count','room_id'); - --- --- procedure chat_room__message_count/1 --- -CREATE OR REPLACE FUNCTION chat_room__message_count( - p_room_id integer -) RETURNS integer AS $$ -DECLARE - v_count integer; -BEGIN - select count(*) as total into v_count - from chat_msgs - where room_id = p_room_id; - return v_count; - -END; -$$ LANGUAGE plpgsql; - ---------------------------------- - - - - - --- added select define_function_args('chat_room__delete_all_msgs','room_id'); -- @@ -487,9 +367,6 @@ --------------------------------- - - - -- added select define_function_args('chat_room__del','room_id'); @@ -524,51 +401,7 @@ --------------------------------- - - -- added -select define_function_args('chat_transcript__new','pretty_name,contents,description,room_id,context_id,creation_date,creation_user,creation_ip,object_type'); - --- --- procedure chat_transcript__new/9 --- -CREATE OR REPLACE FUNCTION chat_transcript__new( - p_pretty_name varchar, - p_contents varchar, - p_description varchar, - p_room_id integer, - p_context_id integer, - p_creation_date timestamptz, - p_creation_user integer, - p_creation_ip varchar, - p_object_type varchar -) RETURNS integer AS $$ -DECLARE - - v_transcript_id chat_transcripts.transcript_id%TYPE; -BEGIN - v_transcript_id := acs_object__new ( - null, - 'chat_transcript', - now(), - p_creation_user, - p_creation_ip, - p_context_id - ); - - insert into chat_transcripts (transcript_id, pretty_name, contents, description, room_id) - values (v_transcript_id, p_pretty_name, p_contents, p_description, p_room_id); - - return v_transcript_id; -END; -$$ LANGUAGE plpgsql; - - - ------------------------------ - - --- added select define_function_args('chat_transcript__del','transcript_id'); -- @@ -593,52 +426,7 @@ ---------------------------- - - -- added -select define_function_args('chat_room__edit','room_id,pretty_name,description,moderated_p,active_p,archive_p,auto_flush_p,auto_transcript_p'); - --- --- procedure chat_room__edit/10 --- -CREATE OR REPLACE FUNCTION chat_room__edit( - p_room_id integer, - p_pretty_name varchar, - p_description varchar, - p_moderated_p boolean, - p_active_p boolean, - p_archive_p boolean, - p_auto_flush_p boolean, - p_auto_transcript_p boolean, - p_login_messages_p boolean, - p_logout_messages_p boolean -) RETURNS integer AS $$ -DECLARE -BEGIN - - update chat_rooms set - pretty_name = p_pretty_name, - description = p_description, - moderated_p = p_moderated_p, - active_p = p_active_p, - archive_p = p_archive_p, - auto_flush_p = p_auto_flush_p, - auto_transcript_p = p_auto_transcript_p, - login_messages_p = p_login_messages_p, - logout_messages_p = p_logout_messages_p - where - room_id = p_room_id; - - return 0; -END; -$$ LANGUAGE plpgsql; - - ---------------------------- - - - --- added select define_function_args('chat_room__message_post','room_id,msg,creation_user,creation_ip'); -- @@ -689,32 +477,3 @@ $$ LANGUAGE plpgsql; --------------------------- - - - - --- added -select define_function_args('chat_transcript__edit','transcript_id,pretty_name,contents,description'); - --- --- procedure chat_transcript__edit/4 --- -CREATE OR REPLACE FUNCTION chat_transcript__edit( - p_transcript_id integer, - p_pretty_name varchar, - p_contents varchar, - p_description varchar -) RETURNS integer AS $$ -DECLARE -BEGIN - update chat_transcripts - set pretty_name = p_pretty_name, - contents = p_contents, - description = p_description - where - transcript_id = p_transcript_id; - - -return 0; -END; -$$ LANGUAGE plpgsql; Index: openacs-4/packages/chat/sql/postgresql/chat-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/sql/postgresql/chat-drop.sql,v diff -u -N -r1.4.6.1 -r1.4.6.2 --- openacs-4/packages/chat/sql/postgresql/chat-drop.sql 20 Jun 2016 09:00:22 -0000 1.4.6.1 +++ openacs-4/packages/chat/sql/postgresql/chat-drop.sql 23 Nov 2016 19:51:16 -0000 1.4.6.2 @@ -49,22 +49,10 @@ select acs_object_type__drop_type('chat_room','t'); select acs_object_type__drop_type('chat_transcript','t'); -drop function chat_transcript__new (varchar, varchar, varchar, integer, integer, timestamptz, integer, varchar, varchar); drop function chat_transcript__del (integer); -drop function chat_transcript__edit (integer, varchar, varchar, varchar ); - -drop function chat_room__new (integer, varchar, varchar, boolean, boolean, boolean, integer, timestamptz, integer, varchar, varchar); -drop function chat_room__name (integer); - drop function chat_room__message_post (integer, varchar, integer, varchar); - - - -drop function chat_room__edit (integer, varchar, varchar, boolean, boolean, boolean); -drop function chat_room__message_count (integer); drop function chat_room__delete_all_msgs (integer); - drop function chat_room__del (integer); drop table chat_msgs; @@ -138,28 +126,3 @@ select inline_0 (); drop function inline_0 (); - - - - - - - - - - - - - - - - - - - - - - - - - Index: openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d12-5.0d13.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d12-5.0d13.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d12-5.0d13.sql 23 Nov 2016 19:51:16 -0000 1.1.2.1 @@ -0,0 +1,18 @@ +begin; + +-- dropping unneded database functions: we now use plain db operations for this +drop function chat_transcript__new (varchar, varchar, varchar, integer, integer, timestamptz, integer, varchar, varchar); +drop function chat_transcript__edit (integer, varchar, varchar, varchar ); + +drop function chat_room__new (integer, varchar, varchar, boolean, boolean, boolean, boolean, boolean, boolean, boolean, integer, timestamptz, integer, varchar, varchar); +drop function chat_room__name (integer); +drop function chat_room__edit (integer, varchar, varchar, boolean, boolean, boolean, boolean, boolean, boolean, boolean); + +drop function chat_room__message_count (integer); + + +-- add the new column to specify how much in the past the users will see when entering a chat room +alter table chat_rooms add column messages_time_window integer default 600; + + +end; Index: openacs-4/packages/chat/tcl/chat-ajax-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/tcl/chat-ajax-procs.tcl,v diff -u -N -r1.12.2.4 -r1.12.2.5 --- openacs-4/packages/chat/tcl/chat-ajax-procs.tcl 23 Nov 2016 13:50:51 -0000 1.12.2.4 +++ openacs-4/packages/chat/tcl/chat-ajax-procs.tcl 23 Nov 2016 19:51:16 -0000 1.12.2.5 @@ -15,7 +15,8 @@ if {[chat_room_exists_p $chat_id]} { chat_room_get -room_id $chat_id -array c set :login_messages_p $c(login_messages_p) - set :logout_messages_p $c(logout_messages_p) + set :logout_messages_p $c(logout_messages_p) + set :timewindow $c(messages_time_window) } next } Index: openacs-4/packages/chat/tcl/chat-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/tcl/chat-procs-postgresql.xql,v diff -u -N -r1.6.6.3 -r1.6.6.4 --- openacs-4/packages/chat/tcl/chat-procs-postgresql.xql 22 Nov 2016 18:34:35 -0000 1.6.6.3 +++ openacs-4/packages/chat/tcl/chat-procs-postgresql.xql 23 Nov 2016 19:51:16 -0000 1.6.6.4 @@ -2,75 +2,19 @@ postgresql7.1 - - - select chat_room__new ( - NULL, - :pretty_name, - :description, - :moderated_p, - :active_p, - :archive_p, - :auto_flush_p, - :auto_transcript_p, - :login_messages_p, - :logout_messages_p, - :context_id, - now(), - :creation_user, - :creation_ip, - 'chat_room' - ) - - - - - - select chat_room__edit ( - :room_id, - :pretty_name, - :description, - :moderated_p, - :active_p, - :archive_p, - :auto_flush_p, - :auto_transcript_p, - :login_messages_p, - :logout_messages_p - ) - - - - select chat_room__message_count(:room_id) + select count(*) from chat_msgs + where room_id = :room_id - select chat_room__delete_all_msgs(:room_id) - - - - select chat_transcript__new ( - :pretty_name, - :contents, - :description, - :room_id, - :context_id, - now(), - :creation_user, - :creation_ip, - 'chat_transcript' - ) - - - select chat_transcript__del(:transcript_id) @@ -89,16 +33,4 @@ - - - select chat_transcript__edit ( - :transcript_id, - :pretty_name, - :contents, - :description - ) - - - - Index: openacs-4/packages/chat/tcl/chat-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/tcl/chat-procs.tcl,v diff -u -N -r1.11.6.3 -r1.11.6.4 --- openacs-4/packages/chat/tcl/chat-procs.tcl 22 Nov 2016 18:34:35 -0000 1.11.6.3 +++ openacs-4/packages/chat/tcl/chat-procs.tcl 23 Nov 2016 19:51:16 -0000 1.11.6.4 @@ -7,6 +7,10 @@ @cvs-id $Id$ } +# TODO: all the remaining Java stuff should fade away at some point, +# its status is unknown and we won't be allowed to have binaries into +# the core by distros. + ad_proc -private chat_start_server { } { Start Java chat server. @@ -135,8 +139,11 @@ chat_room_get -room_id $room_id -array room_info if { $room_info(archive_p) == "t" } { - if {[catch {chat_post_message_to_db -creation_user $user_id $room_id $msg} errmsg]} { - ns_log error "chat_post_message_to_db: error: $errmsg" + if {[catch { + chat_post_message_to_db \ + -creation_user $user_id $room_id $msg + } errmsg]} { + ad_log error "chat_post_message_to_db: error: $errmsg" } } @@ -196,15 +203,27 @@ {-auto_transcript_p f} {-login_messages_p t} {-logout_messages_p t} + {-messages_time_window 600} {-context_id ""} {-creation_user ""} {-creation_ip ""} pretty_name } { Create new chat room. Return room_id if successful else raise error. } { + if {[ad_conn isconnected] && $creation_user eq ""} { + set creation_user [ad_conn user_id] + } + db_transaction { - set room_id [db_string create_room {}] + set room_id [::xo::db::sql::acs_object new \ + -object_type "chat_room" \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -context_id $context_id] + + db_dml insert_room {} + if {$creation_user ne ""} { foreach privilege {edit view delete} { permission::grant \ @@ -246,10 +265,11 @@ auto_transcript_p login_messages_p logout_messages_p + messages_time_window } { Edit information on chat room. All information require. } { - db_string edit_room {} + db_dml update_room {} ns_cache_flush -- chat_room_get_not_cached $room_id } @@ -425,14 +445,6 @@ set default_client [parameter::get -parameter "DefaultClient" -default "ajax"] - if {$default_client eq "java"} { - set chat_msg "[chat_user_name $user_id]$user_id$room_id$message$status" - # Add message to queue. Notify thread responsible for - # broadcast message to applets. - nsv_set chat html_message $chat_msg - ns_mutex unlock [nsv_get chat new_message] - } - # do not write messages to the database if the room should not be archived chat_room_get -room_id $room_id -array room_info if { $room_info(archive_p) == "f" } { return } @@ -450,7 +462,14 @@ } { Post moderate message to the chat room and broadcast to all applet clients. Only use by HTML client. } { - set chat_msg "[chat_user_name $user_id]$user_id$room_id$messagepending" + set chat_msg " + + [chat_user_name $user_id] + $user_id + $room_id + $message + pending + " # Add message to queue. Notify thread responsible for broadcast message to applets. nsv_set chat html_message $chat_msg @@ -520,16 +539,24 @@ } { Create chat transcript. } { + if {[ad_conn isconnected] && $creation_user eq ""} { + set creation_user [ad_conn user_id] + } + db_transaction { - set transcript_id [db_string create_transcript {}] - if { $transcript_id != 0 } { - db_dml update_contents {} - foreach privilege {edit view delete} { - permission::grant \ - -party_id $creation_user \ - -object_id $transcript_id \ - -privilege chat_transcript_${privilege} - } + set transcript_id [::xo::db::sql::acs_object new \ + -object_type "chat_transcript" \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -context_id $context_id] + + db_dml insert_transcript {} + + foreach privilege {edit view delete} { + permission::grant \ + -party_id $creation_user \ + -object_id $transcript_id \ + -privilege chat_transcript_${privilege} } } @@ -552,10 +579,7 @@ } { Edit chat transcript. } { - db_transaction { - db_string edit_transcript {} - db_dml update_contents {} - } + db_dml update_transcript {} } ad_proc -private chat_flush_rooms {} { Index: openacs-4/packages/chat/tcl/chat-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/tcl/chat-procs.xql,v diff -u -N -r1.4 -r1.4.6.1 --- openacs-4/packages/chat/tcl/chat-procs.xql 19 Nov 2007 01:14:16 -0000 1.4 +++ openacs-4/packages/chat/tcl/chat-procs.xql 23 Nov 2016 19:51:16 -0000 1.4.6.1 @@ -1,27 +1,85 @@ - - + - update chat_transcripts - set contents = :contents - where transcript_id = :transcript_id + insert into chat_rooms ( + room_id, + pretty_name, + description, + moderated_p, + active_p, + archive_p, + auto_flush_p, + auto_transcript_p, + login_messages_p, + logout_messages_p, + messages_time_window + ) values ( + :room_id, + :pretty_name, + :description, + :moderated_p, + :active_p, + :archive_p, + :auto_flush_p, + :auto_transcript_p, + :login_messages_p, + :logout_messages_p, + :messages_time_window + ) - + - update chat_transcripts - set contents = :contents - where transcript_id = :transcript_id + update chat_rooms set + pretty_name = :pretty_name, + description = :description, + moderated_p = :moderated_p, + active_p = :active_p, + archive_p = :archive_p, + auto_flush_p = :auto_flush_p, + auto_transcript_p = :auto_transcript_p, + login_messages_p = :login_messages_p, + logout_messages_p = :logout_messages_p, + messages_time_window = :messages_time_window + where room_id = :room_id + + + insert into chat_transcripts ( + transcript_id + ,pretty_name + ,contents + ,description + ,room_id + ) values ( + :transcript_id + ,:pretty_name + ,:contents + ,:description + ,:room_id + ) + + + + + + update chat_transcripts set + pretty_name = :pretty_name, + contents = :contents, + description = :description + where transcript_id = :transcript_id; + + + - select room_id - from chat_rooms + select room_id + from chat_rooms where archive_p = 't' and auto_flush_p = 't' @@ -37,4 +95,3 @@ - Index: openacs-4/packages/chat/www/room-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/room-edit.tcl,v diff -u -N -r1.11.4.2 -r1.11.4.3 --- openacs-4/packages/chat/www/room-edit.tcl 28 Oct 2016 18:57:36 -0000 1.11.4.2 +++ openacs-4/packages/chat/www/room-edit.tcl 23 Nov 2016 19:51:16 -0000 1.11.4.3 @@ -6,7 +6,7 @@ @creation-date March 26, 2006 } { room_id:naturalnum,optional -} +} permission::require_permission -object_id [ad_conn package_id] -privilege chat_room_edit @@ -18,11 +18,13 @@ set context [list $title] +set four_hours [expr {60 * 60 * 4}] + ad_form -name "edit-room" -edit_buttons [list [list [_ chat.Update_room] next]] -has_edit 1 -form { - {room_id:key} + {room_id:key} {moderated_p:boolean(hidden) {value "f"} - } + } {pretty_name:text(text) {label "#chat.Room_name#" } } @@ -39,13 +41,13 @@ {label "#chat.Archive#" } {options {{"#acs-kernel.common_Yes#" t} {"#acs-kernel.common_no#" f}}} {value "t"} - } + } {auto_flush_p:boolean(radio) {label "#chat.AutoFlush#" } {options {{"#acs-kernel.common_Yes#" t} {"#acs-kernel.common_no#" f}}} {value "t"} {help_text "[_ chat.AutoFlushHelp]"} - } + } {auto_transcript_p:boolean(radio) {label "#chat.AutoTranscript#" } {options {{"#acs-kernel.common_Yes#" t} {"#acs-kernel.common_no#" f}}} @@ -57,79 +59,87 @@ {options {{"#acs-kernel.common_Yes#" t} {"#acs-kernel.common_no#" f}}} {value "f"} {help_text "[_ chat.LoginMessagesHelp]"} - } + } {logout_messages_p:boolean(radio) {label "#chat.LogoutMessages#" } {options {{"#acs-kernel.common_Yes#" t} {"#acs-kernel.common_no#" f}}} {value "f"} {help_text "[_ chat.LogoutMessagesHelp]"} - } - + } + {messages_time_window:integer + {label "#chat.MessagesTimeWindow#" } + {help_text "[_ chat.MessagesTimeWindowHelp]"} + {value "$four_hours"} + } + } -new_data { - if {[catch {set room_id [chat_room_new \ - -moderated_p $moderated_p \ - -description $description \ - -active_p $active_p \ - -archive_p $archive_p \ - -auto_flush_p $auto_flush_p \ - -auto_transcript_p $auto_transcript_p \ - -login_messages_p $login_messages_p \ - -logout_messages_p $logout_messages_p \ - -context_id [ad_conn package_id] \ - -creation_user [ad_conn user_id] \ - -creation_ip [ad_conn peeraddr] $pretty_name]} errmsg]} { + if {[catch { + set room_id [chat_room_new \ + -moderated_p $moderated_p \ + -description $description \ + -active_p $active_p \ + -archive_p $archive_p \ + -auto_flush_p $auto_flush_p \ + -auto_transcript_p $auto_transcript_p \ + -login_messages_p $login_messages_p \ + -logout_messages_p $logout_messages_p \ + -messages_time_window $messages_time_window \ + -context_id [ad_conn package_id] \ + -creation_user [ad_conn user_id] \ + -creation_ip [ad_conn peeraddr] $pretty_name] + } errmsg]} { ad_return_complaint 1 "[_ chat.Create_new_room_failed]: $errmsg" break } set comm_id "" if {[info commands dotlrn_community::get_community_id] ne ""} { - set comm_id [dotlrn_community::get_community_id] + set comm_id [dotlrn_community::get_community_id] } if {$comm_id ne ""} { chat_user_grant $room_id $comm_id } else { #-2 Registered Users - #chat_user_grant $room_id -2 + #chat_user_grant $room_id -2 #0 Unregistered Visitor #chat_user_grant $room_id 0 #-1 The Public chat_user_grant $room_id -2 } } -edit_request { - if {[catch {db_1row room_info " - select pretty_name, - description, - moderated_p, - archive_p, - active_p, - auto_flush_p, - auto_transcript_p, - login_messages_p, - logout_messages_p - from chat_rooms - where room_id = :room_id"} errmsg]} { - ad_return_complaint 1 "[_ chat.Room_not_found]." + if {[catch { + chat_room_get -room_id $room_id -array r + set pretty_name $r(pretty_name) + set description $r(description) + set moderated_p $r(moderated_p) + set archive_p $r(archive_p) + set auto_flush_p $r(auto_flush_p) + set auto_transcript_p $r(auto_transcript_p) + set login_messages_p $r(login_messages_p) + set logout_messages_p $r(logout_messages_p) + set messages_time_window $r(messages_time_window) + } errmsg]} { + ad_return_complaint 1 "[_ chat.Room_not_found]." break } } -edit_data { - if {[catch {chat_room_edit \ - $room_id \ - $pretty_name \ - $description \ - $moderated_p \ - $active_p \ - $archive_p \ - $auto_flush_p \ - $auto_transcript_p \ - $login_messages_p \ - $logout_messages_p - } errmsg]} { + if {[catch { + chat_room_edit \ + $room_id \ + $pretty_name \ + $description \ + $moderated_p \ + $active_p \ + $archive_p \ + $auto_flush_p \ + $auto_transcript_p \ + $login_messages_p \ + $logout_messages_p \ + $messages_time_window + } errmsg]} { ad_return_complaint 1 "[_ chat.Could_not_update_room]: $errmsg" break } - util_memoize_flush [list chat_room_get_not_cached $room_id] } -after_submit { ad_returnredirect "room?room_id=$room_id" - ad_script_abort + ad_script_abort } - Index: openacs-4/packages/chat/www/room.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/room.adp,v diff -u -N -r1.9.4.2 -r1.9.4.3 --- openacs-4/packages/chat/www/room.adp 28 Oct 2016 18:57:36 -0000 1.9.4.2 +++ openacs-4/packages/chat/www/room.adp 23 Nov 2016 19:51:16 -0000 1.9.4.3 @@ -45,6 +45,10 @@ @logout_messages_p@ + #chat.MessagesTimeWindow# + @messages_time_window@ + + #chat.message_count# @message_count@ Index: openacs-4/packages/chat/www/room.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/room.tcl,v diff -u -N -r1.8.4.4 -r1.8.4.5 --- openacs-4/packages/chat/www/room.tcl 23 Nov 2016 13:50:51 -0000 1.8.4.4 +++ openacs-4/packages/chat/www/room.tcl 23 Nov 2016 19:51:16 -0000 1.8.4.5 @@ -50,18 +50,17 @@ ### # Get room basic information. ### -db_1row room_info " - select pretty_name, - description, - moderated_p, - active_p, - archive_p, - auto_flush_p, - auto_transcript_p, - login_messages_p, - logout_messages_p - from chat_rooms - where room_id = :room_id" +chat_room_get -room_id $room_id -array r +set pretty_name $r(pretty_name) +set description $r(description) +set moderated_p $r(moderated_p) +set active_p $r(active_p) +set archive_p $r(archive_p) +set auto_flush_p $r(auto_flush_p) +set auto_transcript_p $r(auto_transcript_p) +set login_messages_p $r(login_messages_p) +set logout_messages_p $r(logout_messages_p) +set messages_time_window $r(messages_time_window) # prettify flags foreach property { Index: openacs-4/packages/chat/www/transcript-delete.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/transcript-delete.adp,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/chat/www/transcript-delete.adp 20 Jun 2016 08:40:23 -0000 1.8.4.1 +++ openacs-4/packages/chat/www/transcript-delete.adp 23 Nov 2016 19:51:16 -0000 1.8.4.2 @@ -14,6 +14,6 @@ -

#chat.Are_you_sure_you_want_to_delete# Replace with transcript name?

+

#chat.Are_you_sure_you_want_to_delete# @transcript_name@?

Index: openacs-4/packages/chat/www/transcript-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/transcript-delete.tcl,v diff -u -N -r1.6.4.1 -r1.6.4.2 --- openacs-4/packages/chat/www/transcript-delete.tcl 20 Jun 2016 08:40:23 -0000 1.6.4.1 +++ openacs-4/packages/chat/www/transcript-delete.tcl 23 Nov 2016 19:51:16 -0000 1.6.4.2 @@ -16,5 +16,10 @@ permission::require_permission -object_id $transcript_id -privilege chat_transcript_delete +set transcript_name [db_string query { + select pretty_name from chat_transcripts + where transcript_id = :transcript_id +}] + set context [list "[_ chat.Delete_transcript]"] ad_return_template