--- loncom/homework/structuretags.pm 2003/03/05 16:25:57 1.153 +++ loncom/homework/structuretags.pm 2003/04/02 19:52:05 1.157 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.153 2003/03/05 16:25:57 sakharuk Exp $ +# $Id: structuretags.pm,v 1.157 2003/04/02 19:52:05 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -241,6 +241,7 @@ ENDCHECKOUT sub start_problem { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; + $Apache::lonhomework::parsing_a_problem=1; # meta is called from lonpublisher, which doesn't uses the normal # lonhomework method of parsing the file which means that inputtags # won't get reset @@ -253,6 +254,7 @@ sub start_problem { $Apache::inputtags::part='0'; @Apache::inputtags::responselist = (); @Apache::inputtags::previous=(); + @Apache::inputtags::previous_version=(); $Apache::structuretags::printanswer='No'; if ($target ne 'analyze') { &initialize_storage(); @@ -335,8 +337,13 @@ sub start_problem { my $name= &get_resource_name($parstack,$safeeval); if ($status eq 'CAN_ANSWER') { # create a page header and exit + my $WeightOfProblem = ''; + if ($Apache::lonhomework::type eq 'exam') { + my $weight = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.weight"); + $WeightOfProblem = "
$weight pt
"; + } $result.="$head_tag_start$name - $body_tag_start \n $form_tag_start". + $body_tag_start \n $form_tag_start $WeightOfProblem". ''; if ($ENV{'request.state'} eq "construct") { $result.= &problem_web_to_edit_header($rndseed); @@ -433,7 +440,7 @@ sub end_problem { # if part is zero, no s existed, so we need show the current # grading status my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part,$target); - if ($Apache::lonhomework::type ne 'exam') {$result.= $gradestatus;} + $result.= $gradestatus; } if ( (($target eq 'web') && ($ENV{'request.state'} ne 'construct')) || @@ -476,6 +483,12 @@ sub end_problem { &Apache::lonxml::debug("in end_problem with $target, edit"); $result = &problem_edit_footer(); } + + undef(%Apache::lonhomework::history); + undef(%Apache::lonhomework::results); + undef($Apache::inputtags::part); + undef($Apache::lonhomework::parsing_a_problem); + return $result; } @@ -679,6 +692,7 @@ sub start_part { $Apache::inputtags::part=$id; @Apache::inputtags::responselist = (); @Apache::inputtags::previous=(); + @Apache::inputtags::previous_version=(); my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part); if ($target eq 'meta') { @@ -742,6 +756,7 @@ sub end_part { $result=$gradestatus; } pop @Apache::inputtags::status; + $Apache::inputtags::part=''; return $result; }