--- loncom/interface/lonchat.pm 2002/09/09 21:01:58 1.4 +++ loncom/interface/lonchat.pm 2006/04/10 19:59:53 1.13 @@ -1,7 +1,7 @@ # The LearningOnline Network # Chat # -# $Id: lonchat.pm,v 1.4 2002/09/09 21:01:58 www Exp $ +# $Id: lonchat.pm,v 1.13 2006/04/10 19:59:53 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -29,31 +29,54 @@ package Apache::lonchat; use strict; -use Apache::Constants qw(:common); +use Apache::Constants qw(:common :http); +use Apache::loncommon; +use Apache::lonnet; 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; + + &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) ) { + 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; + } + } - if ($ENV{'form.newchat'}) { - &Apache::lonnet::chatsend($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 %loaditems = (onload => 'this.document.chatentry.newchat.focus();'); + my $start_page = + &Apache::loncommon::start_page('Chat',undef, + {'only_body' => 1, + 'add_entries' => \%loaditems,}); + my $end_page = &Apache::loncommon::end_page(); $r->print(< - -The LearningOnline Network with CAPA - - +$start_page
+$latexHelp +$group_elem
- - +$end_page ENDDOCUMENT return OK; }