--- loncom/interface/lonchat.pm 2002/07/24 20:40:58 1.2 +++ loncom/interface/lonchat.pm 2009/04/04 21:47:40 1.19 @@ -1,38 +1,88 @@ # The LearningOnline Network # Chat # -# (Internal Server Error Handler +# $Id: lonchat.pm,v 1.19 2009/04/04 21:47:40 bisitz Exp $ # -# (Login Screen -# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14, -# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer) +# Copyright Michigan State University Board of Trustees # -# 3/1/1 Gerd Kortemeyer) +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). # -# 3/1 Gerd Kortemeyer +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. # +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# + package Apache::lonchat; use strict; -use Apache::Constants qw(:common); +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; + + &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; + } + } + 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(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 - - -

Printout

- - - +$start_page +
+$latexHelp + + + +$group_elem +
+$end_page ENDDOCUMENT return OK; }