Index: openacs-4/packages/chat/chat.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/chat.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/chat/chat.info 7 Jun 2007 09:14:24 -0000 1.10 +++ openacs-4/packages/chat/chat.info 24 Jun 2007 15:21:18 -0000 1.11 @@ -7,7 +7,7 @@ f f - + Peter Alberer Server based chat with an html and ajax client. 2006-04-11 @@ -16,7 +16,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 -r1.5 -r1.6 --- openacs-4/packages/chat/sql/postgresql/chat-create.sql 7 Jun 2007 09:14:24 -0000 1.5 +++ openacs-4/packages/chat/sql/postgresql/chat-create.sql 24 Jun 2007 15:21:19 -0000 1.6 @@ -509,7 +509,7 @@ --------------------------------- -CREATE OR REPLACE FUNCTION chat_room__new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, integer, integer, varchar, varchar, varchar, varchar) RETURNS integer AS' +CREATE OR REPLACE FUNCTION chat_room__new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, varchar, integer, varchar, varchar, varchar, varchar) RETURNS integer AS' /* Nuevo cuerpo de Function */ declare p_pretty_name alias for $1; @@ -524,7 +524,7 @@ p_active_p alias for $10; p_archive_p alias for $11; p_context_id alias for $12; - p_comm_id alias for $13; + p_comm_name alias for $13; p_creation_user alias for $14; p_creation_ip alias for $15; p_object_type alias for $16; @@ -537,18 +537,10 @@ v_room_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); v_registered_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); - if exists (select dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id) then - select into v_comm_name dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id; insert into chat_rooms (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p,file_sent,private,frequency1) values (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,v_comm_name,''true'',''false'',''false'',p_frequency1); - else - insert into chat_rooms - (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p, file_sent,private,frequency1) - values - (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,''Dotlrn'',''true'', ''false'',''false'',p_frequency1); - end if; insert into chat_registered_users @@ -883,7 +875,7 @@ ---------------------------- -CREATE OR REPLACE FUNCTION chat_room__private_new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, integer, integer, varchar, varchar, boolean) RETURNS integer AS' +CREATE OR REPLACE FUNCTION chat_room__private_new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, varchar, integer, varchar, varchar, boolean) RETURNS integer AS' /* Nuevo cuerpo de Function */ declare p_pretty_name alias for $1; @@ -898,7 +890,7 @@ p_active_p alias for $10; p_archive_p alias for $11; p_context_id alias for $12; - p_comm_id alias for $13; + p_comm_name alias for $13; p_creation_user alias for $14; p_creation_ip alias for $15; p_object_type alias for $16; @@ -911,18 +903,10 @@ v_room_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); v_registered_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); - if exists (select dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id) then - select into v_comm_name dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id; - insert into chat_rooms + insert into chat_rooms (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p,file_sent,private) values (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,v_comm_name,''true'',''false'',p_private); - else - insert into chat_rooms - (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p, file_sent,private) - values - (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,''Dotlrn'',''true'', ''false'',p_private); - end if; insert into chat_registered_users Index: openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d6-5.1d.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/sql/postgresql/upgrade/Attic/upgrade-5.0d6-5.1d.sql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d6-5.1d.sql 21 Jun 2007 11:06:29 -0000 1.1 +++ openacs-4/packages/chat/sql/postgresql/upgrade/upgrade-5.0d6-5.1d.sql 24 Jun 2007 15:21:19 -0000 1.2 @@ -136,7 +136,8 @@ --------------------------------- -CREATE OR REPLACE FUNCTION chat_room__new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, integer, integer, varchar, varchar, varchar, varchar) RETURNS integer AS' +CREATE OR REPLACE FUNCTION chat_room__new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, varchar, integer, varchar, varchar, varchar, varchar) RETURNS integer AS' +/* Nuevo cuerpo de Function */ declare p_pretty_name alias for $1; p_alias alias for $2; @@ -150,7 +151,7 @@ p_active_p alias for $10; p_archive_p alias for $11; p_context_id alias for $12; - p_comm_id alias for $13; + p_comm_name alias for $13; p_creation_user alias for $14; p_creation_ip alias for $15; p_object_type alias for $16; @@ -163,18 +164,10 @@ v_room_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); v_registered_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); - if exists (select dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id) then - select into v_comm_name dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id; insert into chat_rooms (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p,file_sent,private,frequency1) values (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,v_comm_name,''true'',''false'',''false'',p_frequency1); - else - insert into chat_rooms - (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p, file_sent,private,frequency1) - values - (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,''Dotlrn'',''true'', ''false'',''false'',p_frequency1); - end if; insert into chat_registered_users @@ -364,7 +357,7 @@ ---------------------------- -CREATE OR REPLACE FUNCTION chat_room__private_new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, integer, integer, varchar, varchar, boolean) RETURNS integer AS' +CREATE OR REPLACE FUNCTION chat_room__private_new (varchar, varchar, varchar, varchar, integer, timestamp, boolean, boolean, boolean, boolean, boolean, integer, varchar, integer, varchar, varchar, boolean) RETURNS integer AS' /* Nuevo cuerpo de Function */ declare p_pretty_name alias for $1; @@ -379,7 +372,7 @@ p_active_p alias for $10; p_archive_p alias for $11; p_context_id alias for $12; - p_comm_id alias for $13; + p_comm_name alias for $13; p_creation_user alias for $14; p_creation_ip alias for $15; p_object_type alias for $16; @@ -392,18 +385,10 @@ v_room_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); v_registered_id := acs_object__new(null,''chat_room'',now(),p_creation_user,p_creation_ip,p_context_id ); - if exists (select dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id) then - select into v_comm_name dot.pretty_name from dotlrn_communities_all as dot where dot.community_id = p_comm_id; - insert into chat_rooms + insert into chat_rooms (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p,file_sent,private) values (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,v_comm_name,''true'',''false'',p_private); - else - insert into chat_rooms - (room_id, pretty_name, description, moderated_p, active_p, archive_p, maximal_participants, end_date, creator, context_id,comm_name,auto_transcript_p, file_sent,private) - values - (v_room_id, p_pretty_name, p_description, p_moderated_p, p_active_p, p_archive_p, p_maxP, p_end_date,p_creation_user, p_context_id,''Dotlrn'',''true'', ''false'',p_private); - end if; insert into chat_registered_users 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 -r1.4 -r1.5 --- openacs-4/packages/chat/tcl/chat-procs-postgresql.xql 7 Jun 2007 09:14:24 -0000 1.4 +++ openacs-4/packages/chat/tcl/chat-procs-postgresql.xql 24 Jun 2007 15:21:19 -0000 1.5 @@ -16,7 +16,7 @@ boolean :active_p, boolean :archive_p, integer :context_id, - integer :comm_id, + varchar :comm_name, integer :creation_user, varchar :creation_ip, varchar 'chat_room', @@ -59,7 +59,7 @@ boolean :active_p, boolean :archive_p, integer :context_id, - integer :comm_id, + varchar :comm_name, integer :creation_user, varchar :creation_ip, varchar 'chat_room', 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 -r1.9 -r1.10 --- openacs-4/packages/chat/tcl/chat-procs.tcl 7 Jun 2007 08:38:22 -0000 1.9 +++ openacs-4/packages/chat/tcl/chat-procs.tcl 24 Jun 2007 15:21:19 -0000 1.10 @@ -162,7 +162,7 @@ {-auto_flush_p ""} {-auto_transcript_p ""} {-context_id ""} - {-comm_id ""} + {-comm_name ""} {-creation_user ""} {-creation_ip ""} description @@ -171,6 +171,7 @@ Create new chat room. Return room_id if successful else raise error. } { + db_transaction { set room_id [db_exec_plsql create_room {}] } @@ -201,7 +202,7 @@ {-auto_flush_p ""} {-auto_transcript_p ""} {-context_id ""} - {-comm_id ""} + {-comm_name ""} {-creation_user ""} {-creation_ip ""} {-private ""} Index: openacs-4/packages/chat/www/chat.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/chat.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/chat/www/chat.tcl 21 Jun 2007 11:06:29 -0000 1.10 +++ openacs-4/packages/chat/www/chat.tcl 24 Jun 2007 15:21:19 -0000 1.11 @@ -29,42 +29,36 @@ ad_return_complaint 1 "[_ chat.Room_not_found]" } - set user_id [ad_conn user_id] - set return_url [ad_return_url] - db_1row room_info { - select room.comm_name - from chat_rooms as room +set user_id [ad_conn user_id] +set return_url [ad_return_url] +db_1row room_info { + select room.comm_name + from chat_rooms as room where room.room_id = :room_id - } - set folder_id "$comm_name's Public Files" - db_1row room_info { - select count(acs.object_id) as count +} + +set folder_title "$comm_name's Public Files" + +set folder_id [db_string count {select object_id from acs_objects as acs - where acs.title = :folder_id - } - if { $count > 0 } { - db_1row room_info { - select acs.object_id as id - from acs_objects as acs - where acs.title = :folder_id - } - set folder_id $id - } else { - acs_user::get -user_id $user_id -array user - set name [expr {$user(screen_name) ne "" ? $user(screen_name) : $user(name)}] - set folder_id "$name's Shared Files" - - #$folder_id - db_1row room_info { - select fs.folder_id as id - from fs_folders as fs - where fs.name = :folder_id - } - set folder_id $id - } + where acs.title = :folder_title} -default ""] +if {$folder_id eq ""} { + acs_user::get -user_id $user_id -array user + set name [expr {$user(screen_name) ne "" ? $user(screen_name) : $user(name)}] + set folder_id "$name's Shared Files" + + #$folder_id + db_1row room_info { + select fs.folder_id as id + from fs_folders as fs + where fs.name = :folder_id + } + set folder_id $id +} + set context_bar $room_name auth::require_login set user_id [ad_conn user_id] Index: openacs-4/packages/chat/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/index-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/chat/www/index-postgresql.xql 7 Jun 2007 09:14:25 -0000 1.3 +++ openacs-4/packages/chat/www/index-postgresql.xql 24 Jun 2007 15:21:19 -0000 1.4 @@ -44,7 +44,7 @@ from site_nodes where site_nodes.object_id = obj.context_id) as base_url from chat_rooms rm, - acs_objects obj,dotlrn_communities_all as dot + acs_objects obj where rm.room_id = obj.object_id order by rm.pretty_name Index: openacs-4/packages/chat/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/index.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/chat/www/index.tcl 7 Jun 2007 09:14:25 -0000 1.6 +++ openacs-4/packages/chat/www/index.tcl 24 Jun 2007 15:21:19 -0000 1.7 @@ -31,7 +31,11 @@ } lappend actions "#chat.Search_a_room#" room-search?package_id=[ad_conn package_id] "#chat.Search_a_room#" -set community_id [dotlrn_community::get_community_id] +if {[info procs dotlrn_community::get_community_id] eq ""} { + set community_id "" +} else { + set community_id [dotlrn_community::get_community_id] +} if { $community_id eq "" } { set list 0 @@ -115,35 +119,35 @@ -row_pretty_plural [_ chat.rooms] \ -elements { open { - label "#chat-portlet.open_room#" + label "#chat.open_room#" html { align "center" } display_template {
- +
- +
} } private { - label "#chat-portlet.private_room#" + label "#chat.private_room#" html { align "center" } display_template {
- +
- +
} @@ -162,7 +166,7 @@ } } community { - label "#chat-portlet.community_class#" + label "#chat.community_class#" html { align "center"} display_template { @@ -171,18 +175,18 @@ } } rss { - label "#chat-portlet.rss#" + label "#chat.rss#" html { align "center" } display_template {
#rss-support.Syndication_Feed# Subscribe via RSS

- #chat-portlet.no_rss# + #chat.no_rss#
- #chat-portlet.no_rss# + #chat.no_rss# } } @@ -225,35 +229,35 @@ -row_pretty_plural [_ chat.rooms] \ -elements { open { - label "#chat-portlet.open_room#" + label "#chat.open_room#" html { align "center" } display_template {
- +
- +
} } private { - label "#chat-portlet.private_room#" + label "#chat.private_room#" html { align "center" } display_template {
- +
- +
} @@ -272,7 +276,7 @@ } } community { - label "#chat-portlet.community_class#" + label "#chat.community_class#" html { align "center"} display_template { @@ -281,18 +285,18 @@ } } rss { - label "#chat-portlet.rss#" + label "#chat.rss#" html { align "center" } display_template {
#rss-support.Syndication_Feed# Subscribe via RSS

- #chat-portlet.no_rss# + #chat.no_rss#
- #chat-portlet.no_rss# + #chat.no_rss# } } Index: openacs-4/packages/chat/www/room-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/Attic/room-new.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/chat/www/room-new.tcl 7 Jun 2007 09:14:25 -0000 1.6 +++ openacs-4/packages/chat/www/room-new.tcl 24 Jun 2007 15:21:19 -0000 1.7 @@ -105,14 +105,16 @@ # {help_text "[_ chat.AutoTranscriptHelp]"} # } } -after_submit { - set date [lrange $end_date 0 2] + set date [lrange $end_date 0 2] + set dotlrn_p [apm_package_enabled_p "dotlrn"] + if {$dotlrn_p} { set comm_id [dotlrn_community::get_community_id] - if { $comm_id eq "" } { - set comm_id 0 - } else { - set comm_id [dotlrn_community::get_community_id] - } - + set comm_name [dotlrn_community::get_community_name $comm_id] + } else { + set comm_name [acs_object::get_element -object_id [ad_conn subsite_id] -element title] + set comm_id "" + } + # frequency1: rss frequency # frequency2: mail frequency if {[catch {set room_id [chat_room_new \ @@ -130,17 +132,14 @@ -auto_flush_p t \ -auto_transcript_p t \ -context_id [ad_conn package_id] \ - -comm_id $comm_id \ + -comm_name $comm_name \ -creation_user [ad_conn user_id] \ -creation_ip [ad_conn peeraddr] \ $description $pretty_name]} errmsg]} { ad_return_complaint 1 "[_ chat.Create_new_room_failed]: $errmsg" break } - set comm_id "" - if {[info command dotlrn_community::get_community_id] ne ""} { - set comm_id [dotlrn_community::get_community_id] - } + set sender_id [ad_conn user_id] db_1row select_sender_info { @@ -154,8 +153,9 @@ } set from $sender_email - set community_id [dotlrn_community::get_community_id] - if { $community_id eq "" } { + + + if { $comm_id eq "" } { set community_name "All Dotlrn communities" set community_url "Dotlrn" set safe_community_name [db_quote $community_name] @@ -169,7 +169,7 @@ append who_will_receive_this_clause [db_map recipients_clause] set query [db_map sender_info] } - + set send_date [template::util::date::now_min_interval] @@ -180,73 +180,73 @@ set package_id [ad_conn package_id] + + if {$Rss_service eq "t"} { + db_1row select_sender_info4 { + select count(acs.impl_name) as count + from acs_sc_impls acs + where acs.impl_name = 'chat_rss' + } - db_1row select_sender_info4 { - select count(acs.impl_name) as count - from acs_sc_impls acs - where acs.impl_name = 'chat_rss' + set subscr_id [rss_support::add_subscription \ + -summary_context_id $room_id \ + -impl_name "chat_rss" \ + -owner "chat" \ + -lastbuild "now"] + rss_gen_report $subscr_id + + + if { $frequency1 eq "daily" } { + ad_schedule_proc -thread t -schedule_proc ns_schedule_daily [list 01 00] chat_update_rss $room_id + } + if { $frequency1 eq "weekly" } { + ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_update_rss $room_id + } + if { $frequency1 eq "monthly" } { + set week 1 + ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_update_rss_monthly $room_id $week + } } + + set user_id [ad_conn user_id] - set subscr_id [rss_support::add_subscription \ - -summary_context_id $room_id \ - -impl_name "chat_rss" \ - -owner "chat" \ - -lastbuild "now"] - rss_gen_report $subscr_id - - - if { $frequency1 eq "dayly" } { - ad_schedule_proc -thread t -schedule_proc ns_schedule_daily [list 01 00] chat_update_rss $room_id - } - if { $frequency1 eq "weekly" } { - ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_update_rss $room_id - } - if { $frequency1 eq "monthly" } { - set week 1 - ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_update_rss_monthly $room_id $week - } - - - - set user_id [ad_conn user_id] - - + if { $Mail_service eq "t"} { - if { $frequency2 eq "dayly" } { - ad_schedule_proc -thread t -schedule_proc ns_schedule_daily [list 01 00] chat_send_mails $room_id $community_id $user_id $package_id "daily" - } - if { $frequency2 eq "weekly" } { - ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_send_mails $room_id $community_id $user_id $package_id "weekly" - } - if { $frequency2 eq "monthly" } { - set week 1 - ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_send_mails_monthly $room_id $community_id $user_id $package_id $week "monthly" - } - } + if { $frequency2 eq "daily" } { + ad_schedule_proc -thread t -schedule_proc ns_schedule_daily [list 01 00] chat_send_mails $room_id $community_id $user_id $package_id "daily" + } + if { $frequency2 eq "weekly" } { + ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_send_mails $room_id $community_id $user_id $package_id "weekly" + } + if { $frequency2 eq "monthly" } { + set week 1 + ad_schedule_proc -thread t -schedule_proc ns_schedule_weekly [list 0 01 00] chat_send_mails_monthly $room_id $community_id $user_id $package_id $week "monthly" + } + } - bulk_mail::new \ - -package_id [site_node_apm_integration::get_child_package_id -package_key [bulk_mail::package_key]] \ - -send_date [template::util::date::get_property linear_date $send_date] \ - -date_format "YYYY MM DD HH24 MI SS" \ - -from_addr $from \ - -subject "\[$community_name\] $subject" \ - -message $message \ - -message_type $message_type \ - -query $query \ + bulk_mail::new \ + -package_id [site_node_apm_integration::get_child_package_id -package_key [bulk_mail::package_key]] \ + -send_date [template::util::date::get_property linear_date $send_date] \ + -date_format "YYYY MM DD HH24 MI SS" \ + -from_addr $from \ + -subject "\[$community_name\] $subject" \ + -message $message \ + -message_type $message_type \ + -query $query \ + - - if {$comm_id ne ""} { - chat_user_grant $room_id $comm_id - } else { - #-2 Registered Users - #chat_user_grant $room_id -2 - #0 Unregistered Visitor - #chat_user_grant $room_id 0 - #-1 The Public - chat_user_grant $room_id -2 - } - ad_returnredirect "room?room_id=$room_id" - ad_script_abort + if {$comm_id ne ""} { + chat_user_grant $room_id $comm_id + } else { + #-2 Registered Users + #chat_user_grant $room_id -2 + #0 Unregistered Visitor + #chat_user_grant $room_id 0 + #-1 The Public + chat_user_grant $room_id -2 + } + ad_returnredirect "room?room_id=$room_id" + ad_script_abort } ad_return_template "room-entry"