version 1.105, 2002/08/23 21:17:16
|
version 1.106, 2002/08/26 20:29:30
|
Line 379 sub end_problem {
|
Line 379 sub end_problem {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result=''; |
my $result=''; |
my $status=$Apache::inputtags::status['-1']; |
my $status=$Apache::inputtags::status['-1']; |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ) { |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex') { |
if ( $target eq 'grade' && $Apache::inputtags::part eq '0') { |
if ( $target eq 'grade' && $Apache::inputtags::part eq '0') { |
# if part is zero, no <part>s existed, so we need to the grading |
# if part is zero, no <part>s existed, so we need to the grading |
&Apache::inputtags::grade; |
&Apache::inputtags::grade; |
} elsif ( $target eq 'web' && $Apache::inputtags::part eq '0' && |
} elsif ( ($target eq 'web' || $target eq 'tex') && $Apache::inputtags::part eq '0' && |
$status ne 'UNCHECKEDOUT') { |
$status ne 'UNCHECKEDOUT') { |
# if part is zero, no <part>s existed, so we need show the current |
# if part is zero, no <part>s existed, so we need show the current |
# grading status |
# grading status |
$result.= &Apache::inputtags::gradestatus($Apache::inputtags::part); |
my $gradesatement = &Apache::inputtags::gradestatus($Apache::inputtags::part); |
|
if ($target eq 'tex') { |
|
$gradesatement =~ s/<table>//; |
|
$gradesatement =~ s/<\/table>//; |
|
$gradesatement =~ s/<tr([^>]*)>//g; |
|
$gradesatement =~ s/<\/tr>//g; |
|
$gradesatement =~ s/<td([^>]*)>//g; |
|
$gradesatement =~ s/<\/td>//g; |
|
$gradesatement =~ s/<b>/\\textbf{/g; |
|
$gradesatement =~ s/<\/b>/}/g; |
|
$gradesatement =~ s/<br \/>/\\vskip 0 mm /g; |
|
$gradesatement =~ s/<input([^>]*)>//g; |
|
} |
|
$result.= $gradesatement; |
|
if ($target eq 'tex') { |
|
$result .= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}'; |
|
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
|
$result .= '\end{document} '; |
|
} else { |
|
$result .= '} '; |
|
} |
|
} |
} |
} |
if ( |
if ( |
($target eq 'web' && ($ENV{'request.state'} ne 'construct')) || |
(($target eq 'web' || $target eq 'tex') && ($ENV{'request.state'} ne 'construct')) || |
($target eq 'answer') |
($target eq 'answer') |
) { |
) { |
if ($status eq 'CAN_ANSWER') { |
if ($status eq 'CAN_ANSWER') { |
$result.="</form></body>\n"; |
if ($target ne 'tex') { |
|
$result.="</form></body>\n"; |
|
} |
} elsif ($status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER' || |
} elsif ($status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER' || |
$status eq 'UNCHECKEDOUT' ) { |
$status eq 'UNCHECKEDOUT' ) { |
$result.="</body>\n"; |
if ($target ne 'tex') { |
|
$result.="</body>\n"; |
|
} |
|
} |
|
if ($target ne 'tex') { |
|
$result.=&Apache::lonxml::xmlend(); |
|
} else { |
|
$result .= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}'; |
|
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
|
$result .= '\end{document} '; |
|
} else { |
|
$result .= '} '; |
|
} |
} |
} |
$result.=&Apache::lonxml::xmlend(); |
|
} |
} |
if ($target eq 'grade') { |
if ($target eq 'grade') { |
&Apache::lonhomework::showhash(%Apache::lonhomework::results); |
&Apache::lonhomework::showhash(%Apache::lonhomework::results); |
Line 412 sub end_problem {
|
Line 446 sub end_problem {
|
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
&Apache::lonxml::debug("in end_problem with $target, edit"); |
&Apache::lonxml::debug("in end_problem with $target, edit"); |
$result = &problem_edit_footer(); |
$result = &problem_edit_footer(); |
} elsif ($target eq 'tex') { |
} |
$result .= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}'; |
|
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
|
$result .= '\end{document} '; |
|
} else { |
|
$result .= '} '; |
|
} |
|
} |
|
return $result; |
return $result; |
} |
} |
|
|