--- loncom/interface/lonchat.pm	2006/03/19 22:48:53	1.11
+++ loncom/interface/lonchat.pm	2009/10/16 20:22:06	1.20
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Chat
 #
-# $Id: lonchat.pm,v 1.11 2006/03/19 22:48:53 albertel Exp $
+# $Id: lonchat.pm,v 1.20 2009/10/16 20:22:06 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -32,36 +32,55 @@ use strict;
 use Apache::Constants qw(:common :http);
 use Apache::loncommon;
 use Apache::lonnet;
+use Apache::lonlocal;
 
 sub handler {
     my $r = shift;
     &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;
     return OK if $r->header_only;
-    if (! &Apache::lonnet::allowed('plc',$env{'request.course.id'}.
+    
+    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group']);
+    my ($group,$group_elem);
+    if (defined($env{'form.group'})) {
+        $group = $env{'form.group'};
+        $group_elem = '<input type="hidden" name="group" value="'.$group.'" />'; 
+        if ((! &Apache::lonnet::allowed('pgc',$env{'request.course.id'}.'/'.
+                                                                    $group))
+            && (! &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')))) {
+            return HTTP_NOT_ACCEPTABLE;
+        }
+    } else {
+        if (! &Apache::lonnet::allowed('plc',$env{'request.course.id'}.
               ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')
                                    )) {
-        return HTTP_NOT_ACCEPTABLE;
+            return HTTP_NOT_ACCEPTABLE;
+        }
     }
 
     if ($env{'form.newchat'}) {
-	&Apache::lonnet::chatsend(&Apache::lonfeedback::clear_out_html($env{'form.newchat'}),$env{'form.anonymous'});
+	&Apache::lonnet::chatsend(&Apache::lonfeedback::clear_out_html($env{'form.newchat'}),$env{'form.anonymous'},$group);
     }
 # --------------------------------------------------- Print login screen header
-    my $latexHelp = Apache::loncommon::helpLatexCheatsheet();
-    my $loaditems = 'onLoad="this.document.chatentry.newchat.focus();"';
+    my $latexHelp = Apache::loncommon::helpLatexCheatsheet(undef,undef,1);
+    my %loaditems = (onload => 'this.document.chatentry.newchat.focus();');
     my $start_page = 
-	&Apache::loncommon::start_page('Chat',undef,
+	&Apache::loncommon::start_page('Chat Room',undef,
 				       {'only_body'   => 1,
-					'add_entries' => $loaditems,});
+					'add_entries' => \%loaditems,});
     my $end_page = &Apache::loncommon::end_page();
+    my %lt = &Apache::lonlocal::texthash(
+                                        anon => 'Post Anonymous',
+                                        post => 'Post',
+                                      );         
     $r->print(<<ENDDOCUMENT);
 $start_page
 <form method="post" name="chatentry">
 $latexHelp
-<input type="text" size="60" name="newchat">
-<input value="Post Anonymous" name="anonymous" type="submit">
-<input value="Post" name="newentry" type="submit">
+<input type="text" size="55" name="newchat" />
+<input value="$lt{'anon'}" name="anonymous" type="submit" />
+<input value="$lt{'post'}" name="newentry" type="submit" />
+$group_elem
 </form>
 $end_page
 ENDDOCUMENT