--- loncom/homework/hint.pm 2006/12/19 00:40:38 1.65 +++ loncom/homework/hint.pm 2007/05/23 22:36:21 1.68 @@ -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.68 2007/05/23 22:36:21 albertel 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(); @@ -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(); } @@ -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'); @@ -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');