version 1.233, 2007/10/17 00:22:51
|
version 1.245, 2008/09/01 10:01:57
|
Line 306 sub start_textline {
|
Line 306 sub start_textline {
|
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
} |
} |
$oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); |
$oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); |
|
$oldresponse =~ s/^\s+//; |
|
$oldresponse =~ s/\s+$//; |
|
$oldresponse =~ s/\s+/ /g; |
if ($Apache::lonhomework::type ne 'exam') { |
if ($Apache::lonhomework::type ne 'exam') { |
my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval); |
my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval); |
$result=''; |
$result=''; |
Line 636 sub decideoutput {
|
Line 638 sub decideoutput {
|
); |
); |
|
|
my $part = $Apache::inputtags::part; |
my $part = $Apache::inputtags::part; |
my $handgrade = |
my $tohandgrade = &Apache::lonnet::EXT("resource.$part.handgrade"); |
('yes' eq lc(&Apache::lonnet::EXT("resource.$part.handgrade"))); |
my $handgrade = ('yes' eq lc($tohandgrade)); |
|
|
my $computer = ($handgrade)? '' |
my $computer = ($handgrade)? '' |
: " ".&mt("Computer's answer now shown above."); |
: " ".&mt("Computer's answer now shown above."); |
Line 667 sub decideoutput {
|
Line 669 sub decideoutput {
|
$message.= $computer; |
$message.= $computer; |
} |
} |
$added_computer_text=1; |
$added_computer_text=1; |
my ($symb) = &Apache::lonnet::whichuser(); |
if ($awarded > 0) { |
if (($symb ne '') |
my ($symb) = &Apache::lonnet::whichuser(); |
&& |
if (($symb ne '') |
($env{'course.'.$env{'request.course.id'}. |
&& |
'.disable_receipt_display'} ne 'yes')) { |
($env{'course.'.$env{'request.course.id'}. |
$message.=(($target eq 'web')?'<br />':' '). |
'.disable_receipt_display'} ne 'yes') && |
&mt('Your receipt is').' '.&Apache::lonnet::receipt($Apache::inputtags::part). |
($Apache::lonhomework::type ne 'practice')) { |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
$message.=(($target eq 'web')?'<br />':' '). |
|
&mt('Your receipt is [_1]', |
|
(&Apache::lonnet::receipt($Apache::inputtags::part). |
|
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''))); |
|
} |
} |
} |
} |
} |
$button=0; |
$button=0; |
Line 701 sub decideoutput {
|
Line 707 sub decideoutput {
|
$message.= $computer; |
$message.= $computer; |
} |
} |
$added_computer_text=1; |
$added_computer_text=1; |
unless ($env{'course.'. |
if ($awarded > 0 |
|
&& $env{'course.'. |
$env{'request.course.id'}. |
$env{'request.course.id'}. |
'.disable_receipt_display'} eq 'yes') { |
'.disable_receipt_display'} ne 'yes') { |
$message.=(($target eq 'web')?'<br />':' '). |
$message.=(($target eq 'web')?'<br />':' '). |
'Your receipt is '.&Apache::lonnet::receipt($Apache::inputtags::part). |
&mt('Your receipt is [_1]', |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
(&Apache::lonnet::receipt($Apache::inputtags::part). |
|
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''))); |
} |
} |
$css_class=$possible_class{'correct'}; |
$css_class=$possible_class{'correct'}; |
$button=0; |
$button=0; |
Line 722 sub decideoutput {
|
Line 730 sub decideoutput {
|
$button = 1; |
$button = 1; |
} elsif ($award eq 'MISSING_ANSWER') { |
} elsif ($award eq 'MISSING_ANSWER') { |
$message = &mt('Some items were not submitted.'); |
$message = &mt('Some items were not submitted.'); |
|
if ($target ne 'tex') { |
|
$message .= &Apache::loncommon::help_open_topic('Some_Items_Were_Not_Submitted'); |
|
} |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button = 1; |
$button = 1; |
} elsif ($award eq 'ERROR') { |
} elsif ($award eq 'ERROR') { |
Line 737 sub decideoutput {
|
Line 748 sub decideoutput {
|
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'MISORDERED_RANK') { |
} elsif ($award eq 'MISORDERED_RANK') { |
$message = &mt('You have provided an invalid ranking'); |
$message = &mt('You have provided an invalid ranking.'); |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$message.=', '.&mt('please refer to').' '.&Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems'); |
$message.=' '.&mt('Please refer to [_1]',&Apache::loncommon::help_open_topic('Ranking_Problems',&mt('help on ranking problems'))); |
} |
} |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'INVALID_FILETYPE') { |
} elsif ($award eq 'INVALID_FILETYPE') { |
Line 782 sub decideoutput {
|
Line 793 sub decideoutput {
|
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'BAD_FORMULA') { |
} elsif ($award eq 'BAD_FORMULA') { |
$message = &mt("Unable to understand formula"); |
$message = &mt("Unable to understand formula").'.'; |
|
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Formula_Answers')}; |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'INCORRECT') { |
} elsif ($award eq 'INCORRECT') { |
Line 839 sub decideoutput {
|
Line 851 sub decideoutput {
|
$message.= $computer; |
$message.= $computer; |
$added_computer_text=1; |
$added_computer_text=1; |
} |
} |
|
if ($Apache::lonhomework::type eq 'practice') { |
|
if ($target eq 'web') { |
|
$message .= '<br />'; |
|
} else { |
|
$message .= ' '; |
|
} |
|
$message.=&mt('Submissions to practice problems are not permanently recorded.'); |
|
} |
|
|
return ($button,$css_class,$message,$previousmsg); |
return ($button,$css_class,$message,$previousmsg); |
} |
} |
|
|
Line 1068 sub grade {
|
Line 1089 sub grade {
|
my ($match) = |
my ($match) = |
&previous_match(\@Apache::inputtags::previous_version, |
&previous_match(\@Apache::inputtags::previous_version, |
scalar(@Apache::inputtags::response)); |
scalar(@Apache::inputtags::response)); |
|
|
if ($match) { |
if ($match) { |
$previously_used = 'PREVIOUSLY_LAST'; |
$previously_used = 'PREVIOUSLY_LAST'; |
foreach my $value (@Apache::inputtags::previous) { |
foreach my $value (@Apache::inputtags::previous) { |
Line 1246 sub previous_tries {
|
Line 1267 sub previous_tries {
|
&& $Apache::lonhomework::history{"$prefix.solved"} =~/^correct/ |
&& $Apache::lonhomework::history{"$prefix.solved"} =~/^correct/ |
) { |
) { |
|
|
|
my $txt_correct = &mt('Correct'); |
$message =~ s{(<td.*?>)(.*?)(</td>)} |
$message =~ s{(<td.*?>)(.*?)(</td>)} |
{$1 <strong>Correct</strong>. $3}s; |
{$1 <strong>$txt_correct</strong>. $3}s; |
} |
} |
my $trystr = "(Try ". |
my $trystr = "(".&mt('Try [_1]',$Apache::lonhomework::history{"$prefix.tries"}).")"; |
$Apache::lonhomework::history{"$prefix.tries"}.')'; |
|
$message =~ s{(</td>)}{ $trystr $1}; |
$message =~ s{(</td>)}{ $trystr $1}; |
} |
} |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |
Line 1299 sub previous_tries {
|
Line 1320 sub previous_tries {
|
my $prefix = $env{'form.request.prefix'}; |
my $prefix = $env{'form.request.prefix'}; |
$prefix =~ tr{.}{_}; |
$prefix =~ tr{.}{_}; |
my $function_name = "LONCAPA_previous_tries_".$prefix. |
my $function_name = "LONCAPA_previous_tries_".$prefix. |
$Apache::lonxml::curdepth; |
$Apache::lonxml::curdepth.'_'.$env{'form.counter'}; |
my $result ="<script type=\"text/javascript\"> |
my $result ="<script type=\"text/javascript\"> |
// <![CDATA[ |
// <![CDATA[ |
function $function_name() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('$start_page $output $end_page');newWindow.document.close();newWindow.focus()} |
function $function_name() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('$start_page $output $end_page');newWindow.document.close();newWindow.focus()} |