--- loncom/interface/lonwhatsnew.pm 2013/03/05 23:42:37 1.105.2.5 +++ loncom/interface/lonwhatsnew.pm 2012/12/13 22:03:24 1.110 @@ -1,5 +1,5 @@ # -# $Id: lonwhatsnew.pm,v 1.105.2.5 2013/03/05 23:42:37 raeburn Exp $ +# $Id: lonwhatsnew.pm,v 1.110 2012/12/13 22:03:24 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -532,33 +532,28 @@ sub display_actions_box { $headings{'crslogin'} = &mt('Last login for users in last 24 hours'); } - my ($now,$starttime,$activatedstart,$expiredstart,$crsloginstart); - $now = time; - + my $now = time; if ($timediff{'versions'} == -1) { - $starttime = 0; - } else { - $starttime = $now - $timediff{'versions'}; + $timediff{'versions'} = time; } + my $starttime = $now - $timediff{'versions'}; if ($timediff{'newroles'} == -1) { - $activatedstart = 0; - } else { - $activatedstart = $now - $timediff{'newroles'}; + $timediff{'newroles'} = time; } + my $activatedstart = $now - $timediff{'newroles'}; if ($timediff{'oldroles'} == -1) { - $expiredstart = 0; - } else { - $expiredstart = $now - $timediff{'oldroles'}; + $timediff{'oldroles'} = time; } + my $expiredstart = $now - $timediff{'oldroles'}; if ($timediff{'crslogin'} == -1) { - $crsloginstart = 0; - } else { - $crsloginstart = $now - $timediff{'crslogin'}; + $timediff{'crslogin'} = time; } + my $crsloginstart = $now - $timediff{'crslogin'}; + my $countunread = $display_settings{$cid.':countunread'}; unless (defined($countunread)) { $countunread = 'on'; @@ -1345,26 +1340,28 @@ sub getactivated { my (%stucounted,%advcounted); my $activatedcount = 0; if (keys(%changes) > 0) { - foreach my $chg (keys(%changes)) { + foreach my $chg (sort { $b <=> $a } (keys(%changes))) { if (ref($changes{$chg}) eq 'HASH') { - next if ($changes{$chg}{'delflag'}); - if ($rolechgtime > 0) { - next if ($changes{$chg}{'exe_time'} < $rolechgtime); - } - if ($changes{$chg}{'exe_time'}) { - my $timestamp = $changes{$chg}{'exe_time'}; + my $timestamp = $changes{$chg}{'exe_time'}; + if ($timestamp) { + if ($rolechgtime > 0) { + if ($timestamp < $rolechgtime) { + last; + } + } if (ref($changes{$chg}{'logentry'}) eq 'HASH') { - my $end = $changes{$chg}{'logentry'}{'end'}; - next if ($end && $end <= $now); + next if ($changes{$chg}{'delflag'}); my $start = $changes{$chg}{'logentry'}{'start'}; - next if ($start >= $timestamp); + my $end = $changes{$chg}{'logentry'}{'end'}; my $section = $changes{$chg}{'logentry'}{'section'}; - if (($viewablesec ne '') && ($section ne '')) { - next if ($viewablesec ne $section); - } my $role = $changes{$chg}{'logentry'}{'role'}; my $uname = $changes{$chg}{'uname'}; my $udom = $changes{$chg}{'udom'}; + next if ($end && $end <= $now); + if (($viewablesec ne '') && ($section ne '')) { + next if ($viewablesec ne $section); + } + next if ($start >= $timestamp); if ($role eq 'st') { $stucounted{$uname.':'.$udom.':'.$section} = $start.':'.$end; } else { @@ -1612,13 +1609,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) { @@ -1926,7 +1923,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'; }