--- loncom/interface/lonmsg.pm 2015/07/21 21:26:32 1.243
+++ loncom/interface/lonmsg.pm 2021/11/30 15:55:37 1.247
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.243 2015/07/21 21:26:32 raeburn Exp $
+# $Id: lonmsg.pm,v 1.247 2021/11/30 15:55:37 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'}.''.
@@ -470,8 +471,8 @@ sub sendemail {
} else {
# Otherwise build and send the email
$subject = '[LON-CAPA] '.$subject;
- &Apache::loncommon::mime_email($senderaddress, $to, $subject, $body, ,'',
- '', $attachmenturl, '', '');
+ &Apache::loncommon::mime_email($senderaddress,$replytoaddress,$to,
+ $subject,$body,'','',$attachmenturl,'','');
$msgsent = 1;
}
return $msgsent;
@@ -491,9 +492,11 @@ sub sendnotification {
$text=~s/\<\;/\/gs;
my $homeserver = &Apache::lonnet::homeserver($touname,$toudom);
+ my $hostname = &Apache::lonnet::hostname($homeserver);
my $protocol = $Apache::lonnet::protocol{$homeserver};
$protocol = 'http' if ($protocol ne 'https');
- my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).
+#FIXME
+ my $url = $protocol.'://'.$hostname.
'/adm/email?username='.$touname.'&domain='.$toudom.
'&display='.&escape($msgid);
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,
@@ -537,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 '') {