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