--- loncom/homework/response.pm 2001/06/29 18:53:50 1.29 +++ loncom/homework/response.pm 2001/08/06 20:33:23 1.38 @@ -2,12 +2,14 @@ # various response type definitons response definition # 11/23,11/24,11/28 Gerd Kortemeyer +# Guy Albertelli +# 08/04 Gerd Kortemeyer package Apache::response; use strict; sub BEGIN { - &Apache::lonxml::register('Apache::response',('responseparam','caparesponse','numericalresponse','radiobuttonresponse','optionresponse','imageresponse','essayresponse')); + &Apache::lonxml::register('Apache::response',('responseparam','caparesponse','numericalresponse','stringresponse','radiobuttonresponse','optionresponse','imageresponse','essayresponse')); } sub start_response { @@ -33,8 +35,11 @@ sub setrandomnumber { &Apache::lonxml::debug("randseed $rndseed"); # $rndseed=unpack("%32i",$rndseed); $rndseed=$rndseed - +(&Apache::lonnet::numval($Apache::inputtags::part) << 10) + +(&Apache::lonnet::numval($Apache::inputtags::part) << 10); + if (defined($Apache::inputtags::response['-1'])) { + $rndseed=$rndseed +&Apache::lonnet::numval($Apache::inputtags::response['-1']); + } srand($rndseed); &Apache::lonxml::debug("randseed $rndseed"); return ''; @@ -51,6 +56,13 @@ sub meta_parameter_write { ."\n"; } +sub meta_package_write { + my $name=shift; + return '' + ."\n"; +} + sub meta_stores_write { my ($name,$type,$display)=@_; return '\nsimple caparesponse\n"; + return &Apache::caparesponse::start_caparesponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); +} + +sub start_stringresponse { + require Apache::caparesponse; + import Apache::caparesponse; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + return &Apache::caparesponse::start_stringresponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); } -sub start_caparesponse { +sub start_numericalresponse { require Apache::caparesponse; import Apache::caparesponse; my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; -# print "\n
\nsimple caparesponse\n"; - return &Apache::caparesponse::start_caparesponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); + return &Apache::caparesponse::start_numericalresponse + ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); } sub start_radiobuttonresponse { @@ -174,7 +218,10 @@ sub start_responseparam { my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval, 'name','type','description', 'default'); - if ($constructtag) { $result = &Apache::edit::rebuild_tag($token);} + if ($constructtag) { + $result = &Apache::edit::rebuild_tag($token); + $result.=&Apache::edit::handle_insert(); + } return $result; } else {