--- loncom/interface/loncommunicate.pm 2012/04/18 19:56:59 1.47 +++ 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.47 2012/04/18 19:56:59 raeburn Exp $ +# $Id: loncommunicate.pm,v 1.48 2022/01/18 17:33:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -46,7 +46,23 @@ sub menu { $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).'

'. + '
'); + } # ------------------------------------------------------------------------ Menu my ($can_srm,$can_dcm,$can_dff); @@ -66,11 +82,13 @@ sub menu { $env{'request.course.sec'}))) { $can_dff = 1; } - } + } - my @reports = ( - {categorytitle => 'Send Messages', - items => [ + my @reports; + unless ($by_ip) { + @reports = ( + {categorytitle => 'Send Messages', + items => [ {url => '/adm/email?compose=individual', permission => 'F', icon => 'mail-message-new.png', @@ -89,12 +107,13 @@ sub menu { icon => 'fromfile.png', linktext => 'New Messages from File', linktitle => 'Create a message from file and send to users.'}, - ]}, - ); + ]}, + ); + } - if ($can_dff || $can_dcm ){ - push(@reports,{categorytitle => 'Message Administration', - items => [ + if ($can_dff || $can_dcm ){ + push(@reports,{categorytitle => 'Message Administration', + items => [ {url => '/adm/email?recordftf=query', permission => "$can_dff", icon => 'messalog.png', @@ -107,10 +126,12 @@ sub menu { icon => 'comblock.png', linktext => 'Communication Blocking', linktitle => "Blocking of $usertype communication during exams."}, - ]}); - } -$r->print(&Apache::lonhtmlcommon::generate_menu(@reports)); - + ]}); + } + if (@reports) { + $r->print(&Apache::lonhtmlcommon::generate_menu(@reports)); + } + return; } sub handler {