--- loncom/interface/loncommunicate.pm 2001/12/19 17:17:46 1.7 +++ loncom/interface/loncommunicate.pm 2022/01/18 17:33:13 1.48 @@ -1,7 +1,7 @@ # The LearningOnline Network # Communicate # -# $Id: loncommunicate.pm,v 1.7 2001/12/19 17:17:46 albertel Exp $ +# $Id: loncommunicate.pm,v 1.48 2022/01/18 17:33:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,75 +25,136 @@ # # http://www.lon-capa.org/ # -# (Internal Server Error Handler -# -# (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) -# -# 3/1/1 Gerd Kortemeyer) -# -# 3/1,2/6,7/27,8/3,8/15, -# 11/5/01 Gerd Kortemeyer -# +### + 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.'Critical 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).'