--- loncom/interface/loncommunicate.pm 2001/08/16 01:42:07 1.5 +++ loncom/interface/loncommunicate.pm 2022/01/18 17:33:13 1.48 @@ -1,72 +1,160 @@ # The LearningOnline Network # Communicate # -# (Internal Server Error Handler +# $Id: loncommunicate.pm,v 1.48 2022/01/18 17:33:13 raeburn 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,2/6,7/27,8/3,8/15 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::loncommunicate; use strict; use Apache::Constants qw(:common); -use Apache::lonmsg(); +use Apache::lonmsgdisplay(); +use Apache::loncommon; +use Apache::lonlocal; +use Apache::lonnet; + +sub menu { + my $r=shift; + my $crstype = 'course'; + my $usertype = 'student'; + if (defined($env{'course.'.$env{'request.course.id'}.'.type'})) { + $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; + if ($crstype eq 'Community') { + $usertype = 'member'; + } + } + + my $clientip = &Apache::lonnet::get_requestor_ip($r); + my %setters; + my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = + &Apache::loncommon::blockcheck(\%setters,'com',$clientip); + if ($by_ip) { + my $showdom = &Apache::lonnet::domain($blockdom); + if ($showdom eq '') { + $showdom = $blockdom; + } + $r->print('
'. + &mt('Sending of LON-CAPA messages is blocked for your current IP address: [_1].',$clientip).'
'. + ''; - my $en=' |
'.$st.'All Messages'.$en.'
'.$st. - 'Send message to user(s)'. - $en); - if (($ENV{'request.course.id'}) && - (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) { - $r->print( - '
'.$st. - 'Broadcast message to course'.$en. - '
'.$st.
- 'Upload messages to course'.$en);
- }
- $r->print(<
-ENDTABLE
- map {
- my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)=
- &Apache::lonmsg::unpackmsgid($_);
- if ($status eq 'new') {
- $r->print(
- ' 
-Date Username Domain Subject ');
- }
- } sort split(/\&/,&Apache::lonnet::reply('keys:'.
- $ENV{'user.domain'}.':'.
- $ENV{'user.name'}.':nohist_email',
- $ENV{'user.home'}));
- $r->print('Open '.localtime($sendtime).' '.
- $fromname.' '.$fromdomain.' '.
- &Apache::lonnet::unescape($shortsubj).'