--- loncom/interface/lonfeedback.pm 2022/01/18 16:55:30 1.388
+++ loncom/interface/lonfeedback.pm 2022/11/14 14:41:40 1.391
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.388 2022/01/18 16:55:30 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.391 2022/11/14 14:41:40 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1312,9 +1312,8 @@ sub build_posting_display {
@{$$usernamesort{$contrib{$idx.':senderdomain'}}{$contrib{$idx.':sendername'}}} = ("$idx");
}
# Set up for sorting by last name, then first name
- my %names = &Apache::lonnet::get('environment',
- ['firstname','lastname'],$contrib{$idx.':senderdomain'},
- ,$contrib{$idx.':sendername'});
+ my %names = &Apache::loncommon::getnames($contrib{$idx.':sendername'},
+ $contrib{$idx.':senderdomain'});
my $lastname = $names{'lastname'};
my $firstname = $names{'firstname'};
if ($lastname eq '') {
@@ -2763,7 +2762,7 @@ sub fail_redirect {
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
my %parms=('only_body' => 1);
if ($delay !~ /^\d+(|\.\d+)$/) {
- $delay = 0;
+ $delay = 2;
}
if ($env{'form.modal'}) {
my $onload = 'document.forms.reldt.submit()';
@@ -2793,7 +2792,7 @@ ENDFAILREDIR
sub redirect_back {
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$blog,$status,$previous,$sort,
- $rolefilter,$statusfilter,$sectionpick,$grouppick,$numpicks,$group,$toolarge) = @_;
+ $rolefilter,$statusfilter,$sectionpick,$grouppick,$numpicks,$group,$toolarge,$delay) = @_;
my $sorttag = '';
my $roletag = '';
my $statustag = '';
@@ -2892,11 +2891,20 @@ sub redirect_back {
&Apache::lonenc::check_encrypt(\$feedurl);
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
my %parms=('only_body' => 1);
+ if ($delay !~ /^\d+(|\.\d+)$/) {
+ $delay = 0;
+ }
if ($env{'form.modal'}) {
my $onload = 'document.forms.reldt.submit()';
+ if ($delay) {
+ my $js_delay = int(1000 * $delay);
+ $onload = "setTimeout(function(){
+ document.forms.reldt.submit();
+ },$js_delay);";
+ }
$parms{'add_entries'}={'onload' => $onload};
} else {
- $parms{'redirect'}=[0,$feedurl];
+ $parms{'redirect'}=[$delay,$feedurl];
}
my $start_page=
&Apache::loncommon::start_page('Feedback sent',undef,\%parms);
@@ -3161,9 +3169,17 @@ sub feedback_available {
}
sub send_msg {
- my ($title,$feedurl,$email,$citations,$attachmenturl,$symb,%to)=@_;
+ my ($title,$feedurl,$email,$citations,$attachmenturl,$symb,$clientip,%to)=@_;
my $status='';
my $sendsomething=0;
+ my $delay;
+ my $senthide;
+ my %setters;
+ my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =
+ &Apache::loncommon::blockcheck(\%setters,'com',$clientip);
+ if ($by_ip) {
+ $senthide = 1;
+ }
my $restitle = &get_resource_title($symb,$feedurl);
if ($title=~/^Error/) { $title=&mt('Feedback').': '.$title; }
unless ($title=~/\w/) { $title=&mt('Feedback'); }
@@ -3177,7 +3193,8 @@ sub send_msg {
} else {
unless (&Apache::lonmsg::user_normal_msg($user,$domain,
$title.' ['.$restitle.']',$email,$citations,$feedurl,
- $attachmenturl,undef,undef,$symb,$restitle)=~/ok/) {
+ $attachmenturl,undef,undef,$symb,$restitle,undef,
+ undef,undef,undef,$senthide)=~/ok/) {
$status.='
'.&mt('Error sending message to').' '.$key.'
';
} else {
$sendsomething++;
@@ -3185,6 +3202,24 @@ sub send_msg {
}
}
}
+ if ($sendsomething && $senthide) {
+ if ($by_ip) {
+ my $showdom = &Apache::lonnet::domain($blockdom);
+ if ($showdom eq '') {
+ $showdom = $blockdom;
+ }
+ $delay = 4;
+ $status.='
'.&mt("Message content of feedback you send to instructor(s) from your current IP address: [_1] will be unavailable in your 'Sent' folder.",$clientip).
+ '