Index: openacs-4/packages/chat-portlet/www/chat-portlet-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat-portlet/www/chat-portlet-oracle.xql,v diff -u -N --- openacs-4/packages/chat-portlet/www/chat-portlet-oracle.xql 29 Mar 2023 15:33:33 -0000 1.2.6.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,47 +0,0 @@ - - - -oracle8.1.6 - - - - select rm.room_id, - rm.pretty_name as pretty_name, - rm.description as description, - rm.active_p, - rm.archive_p, - acs_permission.permission_p(room_id, :user_id, 'chat_room_admin') as admin_p, - acs_permission.permission_p(room_id, :user_id, 'chat_read') as user_p, - (select site_node.url(site_nodes.node_id) - from site_nodes - where site_nodes.object_id = obj.context_id) as base_url - from chat_rooms rm, - acs_objects obj - where rm.room_id = obj.object_id - and obj.context_id IN ($sep_package_ids) - and rm.active_p = 't' - order by rm.pretty_name - - - - - - select rm.room_id, - rm.pretty_name as pretty_name, - rm.description as description, - rm.active_p, - rm.archive_p, - acs_permission.permission_p(room_id, :user_id, 'chat_room_admin') as admin_p, - acs_permission.permission_p(room_id, :user_id, 'chat_read') as user_p, - (select site_node.url(site_nodes.node_id) - from site_nodes - where site_nodes.object_id = obj.context_id) as base_url - from chat_rooms rm, - acs_objects obj - where rm.room_id = obj.object_id and rm.active_p = 't' - order by rm.pretty_name - - - - - Index: openacs-4/packages/chat-portlet/www/chat-portlet-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat-portlet/www/chat-portlet-postgresql.xql,v diff -u -N --- openacs-4/packages/chat-portlet/www/chat-portlet-postgresql.xql 29 Mar 2023 15:33:33 -0000 1.4.6.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,47 +0,0 @@ - - - -postgresql7.1 - - - - select rm.room_id, - rm.pretty_name as pretty_name, - rm.description as description, - rm.active_p, - rm.archive_p, - acs_permission__permission_p(room_id, :user_id, 'chat_room_admin') as admin_p, - acs_permission__permission_p(room_id, :user_id, 'chat_read') as user_p, - (select site_node__url(site_nodes.node_id) - from site_nodes - where site_nodes.object_id = obj.context_id) as base_url - from chat_rooms rm, - acs_objects obj - where rm.room_id = obj.object_id - and obj.context_id IN ($sep_package_ids) - and rm.active_p = 't' - order by rm.pretty_name - - - - - - select rm.room_id, - rm.pretty_name as pretty_name, - rm.description as description, - rm.active_p, - rm.archive_p, - acs_permission__permission_p(room_id, :user_id, 'chat_room_admin') as admin_p, - acs_permission__permission_p(room_id, :user_id, 'chat_read') as user_p, - (select site_node__url(site_nodes.node_id) - from site_nodes - where site_nodes.object_id = obj.context_id) as base_url - from chat_rooms rm, - acs_objects obj - where rm.room_id = obj.object_id and rm.active_p = 't' - order by rm.pretty_name - - - - - Index: openacs-4/packages/chat-portlet/www/chat-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat-portlet/www/chat-portlet.tcl,v diff -u -N -r1.8.2.3 -r1.8.2.4 --- openacs-4/packages/chat-portlet/www/chat-portlet.tcl 29 Mar 2023 15:15:14 -0000 1.8.2.3 +++ openacs-4/packages/chat-portlet/www/chat-portlet.tcl 29 Mar 2023 15:47:01 -0000 1.8.2.4 @@ -30,26 +30,47 @@ array set config $cf set shaded_p $config(shaded_p) -set list_of_package_ids $config(package_id) -set sep_package_ids [join $list_of_package_ids ", "] set chat_url "[ad_conn package_url]/chat/" set user_id [ad_conn user_id] set community_id [dotlrn_community::get_community_id] set room_create_p [permission::permission_p -object_id $user_id -privilege chat_room_create] set num_rooms 0 -if { $community_id eq 0 } { - set query_name "rooms_list_all" +if { $community_id == 0 } { + # + # Outside of .LRN, we list all chat rooms. + # + set packages_clause "" } else { - set query_name "rooms_list" + # + # Inside .LRN, we display only chat rooms belonging to the + # packages supplied in the configuration. + # + set packages_clause "and obj.context_id IN ([ns_dbquotelist $config(package_id)])" } -db_multirow -extend { can_see_p room_enter_url } rooms $query_name {} { +db_multirow -extend { can_see_p room_enter_url } rooms list_rooms [subst -nocommands { + select rm.room_id, + rm.pretty_name as pretty_name, + rm.description as description, + rm.active_p, + rm.archive_p, + acs_permission.permission_p(room_id, :user_id, 'chat_room_admin') as admin_p, + acs_permission.permission_p(room_id, :user_id, 'chat_read') as user_p, + obj.context_id + from chat_rooms rm, + acs_objects obj + where rm.room_id = obj.object_id + $packages_clause + and rm.active_p = 't' + order by rm.pretty_name +}] { set can_see_p 0 if { $user_p || $admin_p } { set can_see_p 1 incr num_rooms } + set base_url [site_node::get_url_from_object_id -object_id $context_id] set room_enter_url [export_vars -base "${base_url}chat" {room_id}] }