--- loncom/interface/lonmsg.pm 2015/02/12 21:22:07 1.238
+++ loncom/interface/lonmsg.pm 2016/08/04 22:53:55 1.239.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.238 2015/02/12 21:22:07 raeburn Exp $
+# $Id: lonmsg.pm,v 1.239.2.1 2016/08/04 22:53:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -397,10 +397,14 @@ sub buildmsgid {
}
sub unpackmsgid {
- my ($msgid,$folder,$skipstatus,$status_cache)=@_;
+ my ($msgid,$folder,$skipstatus,$status_cache,$onlycid)=@_;
$msgid=&unescape($msgid);
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid,
$processid,$symb,$error) = split(/\:/,&unescape($msgid));
+ if (!defined($processid)) { $fromcid = ''; }
+ if (($onlycid) && ($onlycid ne $fromcid)) {
+ return ($sendtime,'',$fromname,$fromdomain,'',$fromcid,'',$error);
+ }
$shortsubj = &unescape($shortsubj);
$shortsubj = &HTML::Entities::decode($shortsubj);
$symb = &unescape($symb);
@@ -634,9 +638,9 @@ sub retrieve_author_res_msg {
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//);
my %errormsgs=&Apache::lonnet::dump('nohist_res_msgs',$domain,$author);
my $msgs='';
- foreach (keys(%errormsgs)) {
- if ($_=~/^\Q$url\E\_\d+$/) {
- my %content=&unpackagemsg($errormsgs{$_});
+ foreach my $msg (keys(%errormsgs)) {
+ if ($msg =~ /^\Q$url\E\_\d+$/) {
+ my %content=&unpackagemsg($errormsgs{$msg});
$msgs.='
'.
$content{'time'}.': '.$content{'message'}.
'
';
@@ -654,9 +658,9 @@ sub del_url_author_res_msg {
$url=&Apache::lonnet::declutter($url);
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//);
my @delmsgs=();
- foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
- if ($_=~/^\Q$url\E\_\d+$/) {
- push (@delmsgs,$_);
+ foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
+ if ($msg =~ /^\Q$url\E\_\d+$/) {
+ push (@delmsgs,$msg);
}
}
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author);
@@ -668,9 +672,9 @@ sub clear_author_res_msg {
$url=&Apache::lonnet::declutter($url);
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//);
my @delmsgs=();
- foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
- if ($_=~/^\Q$url\E/) {
- push (@delmsgs,$_);
+ foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
+ if ($msg =~ /^\Q$url\E/) {
+ push (@delmsgs,$msg);
}
}
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author);
@@ -681,8 +685,8 @@ sub clear_author_res_msg {
sub all_url_author_res_msg {
my ($author,$domain)=@_;
my %returnhash=();
- foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
- $_=~/^(.+)\_\d+/;
+ foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) {
+ $msg =~ /^(.+)\_\d+/;
$returnhash{$1}=1;
}
return %returnhash;
@@ -926,8 +930,8 @@ sub user_normal_msg {
$domain,$user);
my $msgforward=$userenv{'msgforward'};
if ($msgforward) {
- foreach (split(/\,/,$msgforward)) {
- my ($forwuser,$forwdomain)=split(/\:/,$_);
+ foreach my $fwd (split(/\,/,$msgforward)) {
+ my ($forwuser,$forwdomain)=split(/\:/,$fwd);
push(@status,
&user_normal_msg_raw($forwuser,$forwdomain,$subject,$message,
$citation,$baseurl,$attachmenturl,$toperm,