--- loncom/interface/lonmsg.pm 2016/08/04 22:53:55 1.239.2.1 +++ loncom/interface/lonmsg.pm 2021/12/13 23:54:26 1.239.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.239.2.1 2016/08/04 22:53:55 raeburn Exp $ +# $Id: lonmsg.pm,v 1.239.2.3 2021/12/13 23:54:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -231,6 +231,7 @@ sub packagemsg { $attachmenturl =&HTML::Entities::encode($attachmenturl,'<>&"'); my $course_context = &get_course_context(); my $now=time; + my $ip = &Apache::lonnet::get_requestor_ip(); my $msgcount = &get_uniq(); unless(defined($msgid)) { $msgid = &buildmsgid($now,$subject,$env{'user.name'},$env{'user.domain'}, @@ -250,7 +251,7 @@ sub packagemsg { } $result .= ''.$ENV{'SERVER_NAME'}.''. ''.$ENV{'HTTP_HOST'}.''. - ''.$ENV{'REMOTE_ADDR'}.''. + ''.$ip.''. ''.$env{'browser.type'}.''. ''.$env{'browser.os'}.''. ''.$env{'browser.version'}.''. @@ -539,16 +540,20 @@ to access the full message.',$url); $subject = $subj; } - my ($blocked,$blocktext); + my ($blocked,$blocktext,$clientip); + $clientip = &Apache::lonnet::get_requestor_ip(); if (!$crit) { my %setters; - my ($startblock,$endblock) = - &Apache::loncommon::blockcheck(\%setters,'com',$touname,$toudom); + my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = + &Apache::loncommon::blockcheck(\%setters,'com',$clientip,$touname,$toudom); if ($startblock && $endblock) { $blocked = 1; my $showstart = &Apache::lonlocal::locallocaltime($startblock); my $showend = &Apache::lonlocal::locallocaltime($endblock); $blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you between [_1] and [_2] will be inaccessible until the end of this time period, because you are a student in a course with an active communications block.',$showstart,$showend); + } elsif ($by_ip) { + $blocked = 1; + $blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you will be inaccessible from your IP address [_1], because communication is being blocked for certain IP address(es).',$clientip); } } if ($userenv{'notifywithhtml'} ne '') {