--- loncom/interface/loncommunicate.pm 2008/12/09 17:59:51 1.42 +++ 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.42 2008/12/09 17:59:51 diwert Exp $ +# $Id: loncommunicate.pm,v 1.48 2022/01/18 17:33:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,24 +42,27 @@ sub menu { my $usertype = 'student'; if (defined($env{'course.'.$env{'request.course.id'}.'.type'})) { $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; - if ($crstype eq 'Group') { + if ($crstype eq 'Community') { $usertype = 'member'; } } - -# my %lt=&Apache::lonlocal::texthash( -# 'vcm' => 'View Critical Messages', -# 'smu' => 'Send Message to User(s)', -# 'bmc' => "Broadcast Message to $crstype", -# 'dmu' => "Distribute Messages from Uploaded File to $crstype", -# 'unr' => 'User Notes, Records of Face-to-Face Discussions, and Critical Messages', -# 'cbs' => "Configure Blocking of $usertype Communication during Exams", -# ); - -# my %help=(); -# foreach ('Course_Face_To_Face_Records,Course_Critical_Message', 'Course_Broadcast_Message') { -# $help{$_}=&Apache::loncommon::help_open_topic($_); -# } + + 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); @@ -79,14 +82,16 @@ 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-reply-sender.png', + icon => 'mail-message-new.png', linktext => 'New Message', linktitle => 'Send a message to users.'}, @@ -100,14 +105,15 @@ sub menu { {url => '/adm/email?compose=upload', permission => "$can_srm", icon => 'fromfile.png', - linktext => 'New Messages from Template', - linktitle => 'Create a message from template and send to users.'}, - ]}, - ); + 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', @@ -115,62 +121,17 @@ sub menu { help => 'Course_Face_To_Face_Records,Course_Critical_Message', linktitle => "User notes, records of face-to-face discussions, critical messages, broadcast messages and archived messages in $crstype."}, - {url => '/adm/email?block=display', + {url => '/adm/setblock?caller=email', permission => "$can_dcm", icon => 'comblock.png', linktext => 'Communication Blocking', linktitle => "Blocking of $usertype communication during exams."}, - ]}); - } -$r->print(&Apache::lonhtmlcommon::generate_menu(@reports)); - -# $r->print(< -# -# -# $lt{'smu'} -# -# -# -#END - -# if ($can_srm) { -# $r->print(< -# -# $lt{'bmc'}$help{'Course_Broadcast_Message'} -# -# -# $lt{'dmu'} -# -#END -# } - -# if ($can_dcm || $can_dff) { -# $r->print(''); -# } - -# if ($can_dff) { -# $r->print(< -#$lt{'unr'}$help{'Course_Face_To_Face_Records,Course_Critical_Message'} -# -#END -# } - -# if ($can_dcm) { -# $r->print(' -# -# '.$lt{'cbs'}.' -#'); -# } - -# if ($can_dff || $can_dcm) { -# $r->print(''); -# } - -# $r->print(''); - + ]}); + } + if (@reports) { + $r->print(&Apache::lonhtmlcommon::generate_menu(@reports)); + } + return; } sub handler {