--- loncom/interface/lonchat.pm 2005/02/17 08:29:42 1.8
+++ loncom/interface/lonchat.pm 2009/02/25 16:39:54 1.18
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Chat
#
-# $Id: lonchat.pm,v 1.8 2005/02/17 08:29:42 albertel Exp $
+# $Id: lonchat.pm,v 1.18 2009/02/25 16:39:54 hauer Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,38 +31,58 @@ package Apache::lonchat;
use strict;
use Apache::Constants qw(:common :http);
use Apache::loncommon;
+use Apache::lonnet;
+use Apache::lonlocal;
sub handler {
my $r = shift;
- $r->content_type('text/html');
+ &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'}.
- ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:'')
+
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group']);
+ my ($group,$group_elem);
+ if (defined($env{'form.group'})) {
+ $group = $env{'form.group'};
+ $group_elem = '';
+ 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'});
+ if ($env{'form.newchat'}) {
+ &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 $html=&Apache::lonxml::xmlbegin();
+ my $latexHelp = Apache::loncommon::helpLatexCheatsheet(undef,undef,1);
+ my %loaditems = (onload => 'this.document.chatentry.newchat.focus();');
+ my $start_page =
+ &Apache::loncommon::start_page('Chat Room',undef,
+ {'only_body' => 1,
+ 'add_entries' => \%loaditems,});
+ my $end_page = &Apache::loncommon::end_page();
+ my %lt = &Apache::lonlocal::texthash(
+ anon => 'Post Anonymous',
+ post => 'Post',
+ );
$r->print(<
-The LearningOnline Network with CAPA
-
-
+$start_page
-
-