--- loncom/interface/lonwhatsnew.pm 2016/08/07 02:06:00 1.105.2.11 +++ loncom/interface/lonwhatsnew.pm 2014/12/15 17:13:25 1.117 @@ -1,5 +1,5 @@ # -# $Id: lonwhatsnew.pm,v 1.105.2.11 2016/08/07 02:06:00 raeburn Exp $ +# $Id: lonwhatsnew.pm,v 1.117 2014/12/15 17:13:25 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1275,36 +1275,29 @@ sub process_update { sub getnormalmail { my ($newmsgs) = @_; -# Check for unread messages in user's INBOX (which were sent in context of current course). +# Check for unread mail in course my $msgcount = 0; - my @messages = &Apache::lonnet::getkeys('nohist_email'); - return $msgcount if (!@messages); - my %emailstatus = &Apache::lonnet::dump('email_status'); - foreach my $msgid (sort(@messages)) { - if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { - my $skipstatus; - if ($emailstatus{$msgid} eq 'new') { - $skipstatus = 1; - } - my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= - &Apache::lonmsg::unpackmsgid($msgid,undef,$skipstatus,undef, - $env{'request.course.id'}); - 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 - }); + + my @messages = sort(&Apache::lonnet::getkeys('nohist_email')); + foreach my $message (@messages) { + my $msgid=&escape($message); + my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= + &Apache::lonmsg::unpackmsgid($msgid); + if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { + if (defined($sendtime) && $sendtime!~/error/) { + if ($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 + }); } } } @@ -1314,14 +1307,13 @@ sub getnormalmail { sub getcritmail { my ($critmsgs) = @_; -# Check for critical messages which were sent in context of current course. +# Check for critical messages in course my %what=&Apache::lonnet::dump('critical'); my $result = ''; my $critmsgcount = 0; foreach my $msgid (sort(keys(%what))) { my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= - &Apache::lonmsg::unpackmsgid($msgid,undef,1,undef, - $env{'request.course.id'}); + &Apache::lonmsg::unpackmsgid($msgid); if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { if (defined($sendtime) && $sendtime!~/error/) { $sendtime = &Apache::lonlocal::locallocaltime($sendtime); @@ -1630,13 +1622,13 @@ sub display_handgrade { foreach my $res (@{$tograde}) { $rowNum ++; my $css_class = $rowNum%2?' class="LC_odd_row"':''; - my ($map,$id,$url)=&Apache::lonnet::decode_symb($res); - my $linkurl=&Apache::lonnet::clutter($url); - $linkurl .= '?symb='.&escape($res); + my $linkurl='/adm/grades'; if ($$ungraded{$res}{'enclink'}) { - $linkurl = - $$ungraded{$res}{'enclink'}.'?symb='.$$ungraded{$res}{'encsymb'}; + $linkurl.='?symb='.$$ungraded{$res}{'encsymb'}; + } else { + $linkurl.='?symb='.&escape($res); } + $linkurl.='&command=ungraded'; $r->print(''.$$ungraded{$res}{title}.''.$$ungraded{$res}{count}.''); } } elsif ($itemserror) { @@ -1958,7 +1950,7 @@ sub display_coursediscussion { my $forum_title = $$unread{$ressymb}{'title'}; my $type = 'Resource'; my $feedurl=&Apache::lonfeedback::get_feedurl($ressymb); - my $disclink = $feedurl.'?symb='.&escape($$unread{$ressymb}{symb}); + my $disclink = $feedurl.'?symb='. &escape($$unread{$ressymb}{symb}); if ($feedurl =~ /bulletinboard/) { $type = 'Discussion Board'; }