--- loncom/homework/default_homework.lcpm 2011/06/08 01:39:28 1.157 +++ loncom/homework/default_homework.lcpm 2011/06/08 20:38:47 1.158 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # used by lonxml::xmlparse() as input variable $safeinit to Apache::run::run() # -# $Id: default_homework.lcpm,v 1.157 2011/06/08 01:39:28 www Exp $ +# $Id: default_homework.lcpm,v 1.158 2011/06/08 20:38:47 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -337,7 +337,7 @@ sub caparesponse_check_list { if ($preprocess=~/\S/) { if (defined(&$preprocess)) { no strict 'refs'; - $element=&$preprocess($element); + $element=&$preprocess($element,$unit); use strict 'refs'; } } @@ -414,6 +414,17 @@ sub caparesponse_check_list { } } } + # See if we have preprocessor + &LONCAPA_INTERNAL_DEBUG("Ordered preprocessor $preprocess"); + if ($preprocess=~/\S/) { + if (defined(&$preprocess)) { + no strict 'refs'; + $response->[$j]=&$preprocess($response->[$j]); + use strict 'refs'; + &LONCAPA_INTERNAL_DEBUG("Ordered processed: $response->[$j]"); + } + } + my ($award,$msg) = &caparesponse_check($answer->[$j], $response->[$j]); if ($type eq 'cs' || $type eq 'ci') { @@ -452,6 +463,17 @@ sub caparesponse_check_list { } } } + # See if we have preprocessor + &LONCAPA_INTERNAL_DEBUG("Unordered preprocessor $preprocess"); + if ($preprocess=~/\S/) { + if (defined(&$preprocess)) { + no strict 'refs'; + $response->[$j]=&$preprocess($response->[$j]); + use strict 'refs'; + &LONCAPA_INTERNAL_DEBUG("Unordered processed: $response->[$j]"); + } + } + my ($award,$msg) = &caparesponse_check($answer->[$j], $response->[$j]); if ($type eq 'cs' || $type eq 'ci') {