version 1.117, 2014/12/15 17:13:25
|
version 1.118, 2015/07/21 21:26:32
|
Line 1275 sub process_update {
|
Line 1275 sub process_update {
|
|
|
sub getnormalmail { |
sub getnormalmail { |
my ($newmsgs) = @_; |
my ($newmsgs) = @_; |
# Check for unread mail in course |
# Check for unread messages in user's INBOX (which were sent in context of current course). |
my $msgcount = 0; |
my $msgcount = 0; |
|
my @messages = &Apache::lonnet::getkeys('nohist_email'); |
my @messages = sort(&Apache::lonnet::getkeys('nohist_email')); |
return $msgcount if (!@messages); |
foreach my $message (@messages) { |
my %emailstatus = &Apache::lonnet::dump('email_status'); |
my $msgid=&escape($message); |
foreach my $msgid (sort(@messages)) { |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { |
&Apache::lonmsg::unpackmsgid($msgid); |
my $skipstatus; |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if ($emailstatus{$msgid} eq 'new') { |
if (defined($sendtime) && $sendtime!~/error/) { |
$skipstatus = 1; |
if ($status eq 'new') { |
} |
$sendtime = &Apache::lonlocal::locallocaltime($sendtime); |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
$msgcount ++; |
&Apache::lonmsg::unpackmsgid($msgid,undef,$skipstatus,undef, |
if ($shortsubj eq '') { |
$env{'request.course.id'}); |
$shortsubj = &mt('No subject'); |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
|
if (defined($sendtime) && $sendtime!~/error/) { |
|
if (($emailstatus{$msgid} eq 'new') || ($status eq 'new')) { |
|
$sendtime = &Apache::lonlocal::locallocaltime($sendtime); |
|
$msgcount ++; |
|
if ($shortsubj eq '') { |
|
$shortsubj = &mt('No subject'); |
|
} |
|
push(@{$newmsgs}, { |
|
msgid => $msgid, |
|
sendtime => $sendtime, |
|
shortsub => $shortsubj, |
|
from => $fromname, |
|
fromdom => $fromdom |
|
}); |
} |
} |
push(@{$newmsgs}, { |
|
msgid => $msgid, |
|
sendtime => $sendtime, |
|
shortsub => $shortsubj, |
|
from => $fromname, |
|
fromdom => $fromdom |
|
}); |
|
} |
} |
} |
} |
} |
} |
Line 1307 sub getnormalmail {
|
Line 1314 sub getnormalmail {
|
|
|
sub getcritmail { |
sub getcritmail { |
my ($critmsgs) = @_; |
my ($critmsgs) = @_; |
# Check for critical messages in course |
# Check for critical messages which were sent in context of current course. |
my %what=&Apache::lonnet::dump('critical'); |
my %what=&Apache::lonnet::dump('critical'); |
my $result = ''; |
my $result = ''; |
my $critmsgcount = 0; |
my $critmsgcount = 0; |
foreach my $msgid (sort(keys(%what))) { |
foreach my $msgid (sort(keys(%what))) { |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
&Apache::lonmsg::unpackmsgid($msgid); |
&Apache::lonmsg::unpackmsgid($msgid,undef,1,undef, |
|
$env{'request.course.id'}); |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (defined($sendtime) && $sendtime!~/error/) { |
if (defined($sendtime) && $sendtime!~/error/) { |
$sendtime = &Apache::lonlocal::locallocaltime($sendtime); |
$sendtime = &Apache::lonlocal::locallocaltime($sendtime); |