--- loncom/homework/hint.pm 2006/12/19 00:40:38 1.65 +++ loncom/homework/hint.pm 2008/09/11 14:47:17 1.69 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # implements the tags that control the hints # -# $Id: hint.pm,v 1.65 2006/12/19 00:40:38 albertel Exp $ +# $Id: hint.pm,v 1.69 2008/09/11 14:47:17 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -74,7 +74,6 @@ sub start_hintgroup { my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'showoncorrect'); if ($constructtag) { $result =&Apache::edit::rebuild_tag($token); - $result.=&Apache::edit::handle_insert(); } } @Apache::hint::which=(); @@ -110,6 +109,7 @@ sub start_numericalhint { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; #do everything in end, so intervening work &Apache::response::start_hintresponse($parstack,$safeeval); + &Apache::caparesponse::push_answer(); my $result; if ($target eq 'edit') { $result.=&Apache::edit::tag_start($target,$token); @@ -140,7 +140,6 @@ sub start_numericalhint { } if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } } elsif ($target eq 'web') { &Apache::response::reset_params(); @@ -161,7 +160,7 @@ sub end_numericalhint { my $partid=$Apache::inputtags::part; my $id=$Apache::inputtags::hint[-1]; - #id submissions occured under + #id submissions occurred under my $submitid=$Apache::inputtags::response[-1]; my $response = $Apache::lonhomework::history{ @@ -177,7 +176,11 @@ sub end_numericalhint { if (lc($hideunit) eq "yes") { delete($$args_ref{'unit'}); } if ($$tagstack[-1] eq 'formulahint') { - $$args_ref{'type'}='fml'; + if ($$args_ref{'samples'}) { + $$args_ref{'type'}='fml'; + } else { + $$args_ref{'type'}='math'; + } } elsif ($$tagstack[-1] eq 'numericalhint') { $$args_ref{'type'}='float'; } @@ -215,6 +218,7 @@ sub end_numericalhint { } elsif ($target eq 'edit') { $result.=&Apache::edit::end_row().&Apache::edit::end_table(); } + &Apache::caparesponse::pop_answer(); &Apache::response::end_hintresponse(); return $result; } @@ -250,7 +254,6 @@ sub start_mathhint { $safeeval,'name','cas', 'args'); $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } elsif ($target eq 'web') { &Apache::response::reset_params(); } @@ -308,7 +311,6 @@ sub start_customhint { $constructtag=&Apache::edit::get_new_args($token,$parstack, $safeeval,'name'); $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } elsif ($target eq 'web') { &Apache::response::reset_params(); } @@ -375,7 +377,6 @@ sub start_stringhint { $safeeval,'name','answer', 'type'); $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } elsif ($target eq 'web') { &Apache::response::reset_params(); } @@ -394,7 +395,7 @@ sub end_stringhint { &Apache::response::setup_params('stringhint',$safeeval); my $partid=$Apache::inputtags::part; my $id=$Apache::inputtags::hint[-1]; - #id submissions occured under + #id submissions occurred under my $submitid=$Apache::inputtags::response[-1]; my $response = $Apache::lonhomework::history{ "resource.$partid.$submitid.submission"}; @@ -486,7 +487,6 @@ sub start_hintpart { $safeeval,'on'); if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); - $result.=&Apache::edit::handle_insert(); } } return $result; @@ -516,7 +516,6 @@ sub start_optionhint { 'answer','concept'); if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } } elsif ($target eq 'meta') { $result=&Apache::response::meta_package_write('numericalhint'); @@ -531,7 +530,7 @@ sub end_optionhint { my ($foilmatch,$conceptmatch)=(-1,-1); my $name= &Apache::lonxml::get_param('name',$parstack,$safeeval); my $partid=$Apache::inputtags::part; - #id submissions occured under + #id submissions occurred under my $submitid=$Apache::inputtags::response[-1]; my $part_id="$partid.$submitid"; my %answer; @@ -595,7 +594,6 @@ sub start_radiobuttonhint { 'answer'); if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); - $result .= &Apache::edit::handle_insert(); } } elsif ($target eq 'meta') { $result=&Apache::response::meta_package_write('numericalhint'); @@ -612,7 +610,7 @@ sub end_radiobuttonhint { my $answer=&Apache::lonxml::get_param('answer',$parstack,$safeeval); eval('@answer ='.$answer); my $partid=$Apache::inputtags::part; - #id submissions occured under + #id submissions occurred under my $submitid=$Apache::inputtags::response[-1]; my $part_id="$partid.$submitid"; my $response = $Apache::lonhomework::history{