--- loncom/interface/lonhtmlcommon.pm 2010/06/10 09:09:59 1.277 +++ loncom/interface/lonhtmlcommon.pm 2010/06/10 16:14:34 1.278 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.277 2010/06/10 09:09:59 bisitz Exp $ +# $Id: lonhtmlcommon.pm,v 1.278 2010/06/10 16:14:34 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1071,21 +1071,7 @@ sub Increment_PrgWin { # my $min = int($time_est/60); my $sec = $time_est % 60; - # - my $str; - if ($min == 0 && $sec > 1) { - $str = '[_1] seconds'; - } elsif ($min == 1 && $sec > 1) { - $str = '1 minute [_2] seconds'; - } elsif ($min == 1 && $sec < 2) { - $str = '1 minute'; - } elsif ($min < 10 && $sec > 1) { - $str = '[_1] minutes, [_2] seconds'; - } elsif ($min >= 10 || $sec < 2) { - $str = '[_1] minutes'; - } - $time_est = &mt($str,$min,$sec); - # + my $lasttime = &Time::HiRes::time()-$$prog_state{'laststart'}; if ($lasttime > 9) { $lasttime = int($lasttime); @@ -1094,27 +1080,24 @@ sub Increment_PrgWin { } else { $lasttime = sprintf("%3.2f",$lasttime); } - if ($lasttime == 1) { - $lasttime = '('.$lasttime.' '.&mt('second for').' '.$extraInfo.')'; - } else { - $lasttime = '('.$lasttime.' '.&mt('seconds for').' '.$extraInfo.')'; - } - # - my $user_browser = $env{'browser.type'} if (exists($env{'browser.type'})); - my $user_os = $env{'browser.os'} if (exists($env{'browser.os'})); - if (! defined($user_browser) || ! defined($user_os)) { - (undef,$user_browser,undef,undef,undef,$user_os) = - &Apache::loncommon::decode_user_agent(); - } - if ($user_browser eq 'explorer' && $user_os =~ 'mac') { - $lasttime = ''; - } + + $sec = 0 if ($min >= 10); # Don't show seconds if remaining time >= 10 min. + $sec = 1 if ( ($min == 0) && ($sec == 0) ); # Little cheating: pretend to have 1 second remaining instead of 0 to have something to display + + my $timeinfo = + &mt('[_1]/[_2]:' + .' [quant,_3,minute,minutes,] [quant,_4,second ,seconds ,]remaining' + .' ([quant,_5,second] for '.$extraInfo.')', + $current, + $$prog_state{'max'}, + $min, + $sec, + $lasttime); + &r_print($r,&Apache::lonhtmlcommon::scripttag( $$prog_state{'window'}.'.document.'. $$prog_state{'formname'}.'.'. - $$prog_state{'inputname'}.'.value="'. - $current.'/'.$$prog_state{'max'}. - ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";' + $$prog_state{'inputname'}.'.value="'.$timeinfo.'";' )); $$prog_state{'laststart'}=&Time::HiRes::time(); }