--- loncom/homework/lonhomework.pm 2003/09/18 19:59:15 1.145 +++ loncom/homework/lonhomework.pm 2003/09/21 21:40:06 1.151 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.145 2003/09/18 19:59:15 albertel Exp $ +# $Id: lonhomework.pm,v 1.151 2003/09/21 21:40:06 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -54,6 +54,7 @@ use Apache::chemresponse(); use Apache::Constants qw(:common); use HTML::Entities(); use Apache::loncommon(); +use Apache::lonlocal; #use Time::HiRes qw( gettimeofday tv_interval ); BEGIN { @@ -89,8 +90,8 @@ sub get_target { return ('web'); } } else { - if ( $ENV{'form.problemmode'} eq 'View' || - $ENV{'form.problemmode'} eq 'Discard Edits and View') { + if ( $ENV{'form.problemmode'} eq &mt('View') || + $ENV{'form.problemmode'} eq &mt('Discard Edits and View')) { if ( defined($ENV{'form.submitted'}) && (!defined($ENV{'form.resetdata'})) && (!defined($ENV{'form.newrandomization'}))) { @@ -98,9 +99,9 @@ sub get_target { } else { return ('web','answer'); } - } elsif ( $ENV{'form.problemmode'} eq 'Edit' ) { + } elsif ( $ENV{'form.problemmode'} eq &mt('Edit') ) { if ( $ENV{'form.submitted'} eq 'edit' ) { - if ( $ENV{'form.submit'} eq 'Submit Changes and View' ) { + if ( $ENV{'form.submit'} eq &mt('Submit Changes and View') ) { return ('modified','web','answer'); } else { return ('modified','edit'); @@ -161,7 +162,7 @@ sub check_access { if ($ENV{'request.state'} eq "construct") { &Apache::lonxml::debug("in construction ignoring dates"); $status='CAN_ANSWER'; - $datemsg='is in under construction'; + $datemsg=&mt('is in under construction'); return ($status,$datemsg); } @@ -174,7 +175,7 @@ sub check_access { if ($thistype =~ /^(con_lost|no_such_host)/ || $date =~ /^(con_lost|no_such_host)/) { $status='UNAVAILABLE'; - $date="may open later."; + $date=&mt("may open later."); return($status,$date); } if ($thistype eq 'date_interval') { @@ -187,9 +188,9 @@ sub check_access { } &Apache::lonxml::debug("found :$date: for :$temp:"); if ($date eq '') { - $date = "an unknown date"; $passed = 0; + $date = &mt("an unknown date"); $passed = 0; } elsif ($date eq 'con_lost') { - $date = "an indeterminate date"; $passed = 0; + $date = &mt("an indeterminate date"); $passed = 0; } else { if (time < $date) { $passed = 0; } else { $passed = 1; } $date = localtime $date; @@ -202,13 +203,13 @@ sub check_access { $datemsg=$date; } elsif ($type eq 'opendate') { $status='CLOSED'; - $datemsg = "will open on $date"; + $datemsg = &mt("will open on")." $date"; } elsif ($type eq 'duedate') { $status='CAN_ANSWER'; - $datemsg = "is due at $date"; + $datemsg = &mt("is due at")." $date"; } elsif ($type eq 'answerdate') { $status='CLOSED'; - $datemsg = "was due on $lastdate, and answers will be available on $date"; + $datemsg = &mt("was due on")." $lastdate".&mt(", and answers will be available on")." $date"; } if ($status eq 'CAN_ANSWER') { #check #tries, and if correct. @@ -237,7 +238,7 @@ sub check_access { if (($Apache::lonhomework::browse eq 'F') && ($status eq 'CLOSED')) { &Apache::lonxml::debug("should be allowed to browse a resource when closed"); $status='CAN_ANSWER'; - $datemsg='is closed but you are allowed to view it'; + $datemsg=&mt('is closed but you are allowed to view it'); } return ($status,$datemsg); @@ -306,11 +307,10 @@ sub setuppermissions { sub setupheader { my $request=$_[0]; if ($ENV{'browser.mathml'}) { - $request->content_type('text/xml'); + &Apache::loncommon::content_type($request,'text/xml'); } else { - $request->content_type('text/html'); + &Apache::loncommon::content_type($request,'text/html'); } - $request->content_encoding('UTF-8'); if (!$Apache::lonxml::debug && ($ENV{'REQUEST_METHOD'} eq 'GET')) { &Apache::loncommon::no_cache($request); } @@ -326,32 +326,35 @@ sub handle_save_or_undo { my $filetmp =$file.".tmp"; my $error=0; - if ($ENV{'form.Undo'} eq 'undo') { + if ($ENV{'form.Undo'} eq &mt('undo')) { my $error=0; if (!copy($file,$filetmp)) { $error=1; } if ((!$error) && (!copy($filebak,$file))) { $error=1; } if ((!$error) && (!move($filetmp,$filebak))) { $error=1; } if (!$error) { - $request->print("

Undid changes, Switched $filebak and $file

"); + $request->print("

".&mt("Undid changes, Switched")." $filebak ".&mt("and")." $file

"); } else { - $request->print("

Unable to undo, unable to switch $filebak and $file

"); + $request->print("

".&mt("Unable to undo, unable to switch")." $filebak ".&mt("and")." $file

"); $error=1; } } else { my $fs=Apache::File->new(">$filebak"); if (defined($fs)) { print $fs $$problem; - $request->print("Making Backup to $filebak
"); + $request->print("".&mt("Making Backup to"). + " $filebak
"); } else { - $request->print("Unable to make backup $filebak"); + $request->print("".&mt("Unable to make backup")." $filebak"); $error=2; } my $fh=Apache::File->new(">$file"); if (defined($fh)) { print $fh $$result; - $request->print("Saving Modifications to $file
"); + $request->print("".&mt("Saving Modifications to"). + " $file
"); } else { - $request->print("Unable to write to $file"); + $request->print("". + &mt("Unable to write to")." $file"); $error|=4; } } @@ -361,16 +364,16 @@ sub handle_save_or_undo { sub analyze_header { my ($request) = @_; my $result.=' - Analyzing a problem + '.&mt("Analyzing a problem").'
- - + +
- +
- List of possible answers: + '.&mt('List of possible answers').':
'; $request->print($result); $request->rflush(); @@ -392,12 +395,12 @@ sub analyze { my $rndseed=$ENV{'form.rndseed'}; &analyze_header($request); my %prog_state= - &Apache::lonhtmlcommon::Create_PrgWin($request,'Analyze Progress', - 'Getting Problem Variants', + &Apache::lonhtmlcommon::Create_PrgWin($request,&mt('Analyze Progress'), + &mt('Getting Problem Variants'), $ENV{'form.numtoanalyze'}); for(my $i=1;$i<$ENV{'form.numtoanalyze'}+1;$i++) { &Apache::lonhtmlcommon::Increment_PrgWin($request,\%prog_state, - 'last problem'); + &mt('last problem')); my $subresult=&Apache::lonnet::ssi($request->uri, ('grade_target' => 'analyze'), ('rndseed' => $i+$rndseed)); @@ -418,16 +421,16 @@ sub analyze { } } &Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state, - 'Analyzing Results'); + &mt('Analyzing Results')); foreach my $part (sort(keys(%allparts))) { if (defined(@{ $overall{$part.'.answer'} })) { my $num_cols=scalar(@{ $overall{$part.'.answer'}->[0] }); - $request->print(''); + $request->print('
Part '.$part.'
'); my %frequency; foreach my $answer (sort {$a->[0] <=> $b->[0]} (@{ $overall{$part.'.answer'} })) { $frequency{join("\0",@{ $answer })}++; } - $request->print(''); + $request->print(''); foreach my $answer (sort {(split("\0",$a))[0] <=> (split("\0",$b))[0]} (keys(%frequency))) { $request->print('
'.&mt('Part').' '.$part.'
AnswerFrequency
'.&mt('Answer').''.&mt('Frequency').'
'. join('',split("\0",$answer)). @@ -436,14 +439,12 @@ sub analyze { } $request->print('
'); } else { - $request->print('

Part '.$part. - ' is not analyzable at this time

'); + $request->print('

'.&mt('Part').' '.$part.' '. + &mt('is not analyzable at this time').'

'); } } if (scalar(keys(%allparts)) == 0 ) { - $request->print('

Found no analyzable parts in this problem, - currently only Numerical, Formula and String response - styles are supported.

'); + $request->print('

'.&mt('Found no analyzable parts in this problem, currently only Numerical, Formula and String response styles are supported.').'

'); } &Apache::lonhtmlcommon::Close_PrgWin($request,\%prog_state); &analyze_footer($request); @@ -456,7 +457,8 @@ sub editxmlmode { my $result; my $problem=&Apache::lonnet::getfile($file); if ($problem eq -1) { - &Apache::lonxml::error(" Unable to find $file"); + &Apache::lonxml::error(" ".&mt('Unable to find'). + " $file"); $problem=''; } if (defined($ENV{'form.editxmltext'}) || defined($ENV{'form.Undo'})) { @@ -465,7 +467,7 @@ sub editxmlmode { if (!$error) { $problem=&Apache::lonnet::getfile($file); } } &Apache::lonhomework::showhashsubset(\%ENV,'^form'); - if ( $ENV{'form.submit'} eq 'Submit Changes and View' ) { + if ( $ENV{'form.submit'} eq &mt('Submit Changes and View') ) { &Apache::lonhomework::showhashsubset(\%ENV,'^form'); $ENV{'form.problemmode'}='View'; &renderpage($request,$file); @@ -479,13 +481,13 @@ sub editxmlmode { $result.='
- - - + + +
- - - + + +
' . $xml_help . '