--- 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).'
'.
+ '- '.&mt('Note: communication is being blocked for certain IP address(es).').
+ '
- '.
+ &mt('This restriction was set by an administrator in the [_1] LON-CAPA domain.',$showdom).
+ '
');
+ }
# ------------------------------------------------------------------------ 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 {