--- loncom/homework/response.pm 2001/08/04 19:19:17 1.33 +++ loncom/homework/response.pm 2001/08/07 12:24:53 1.40 @@ -3,7 +3,7 @@ # 11/23,11/24,11/28 Gerd Kortemeyer # Guy Albertelli -# 08/04 Gerd Kortemeyer +# 08/04,08/07 Gerd Kortemeyer package Apache::response; use strict; @@ -35,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 ''; @@ -46,10 +49,10 @@ sub meta_parameter_write { my ($name,$type,$default,$display)=@_; return '' + '" type="'.$type.'"'. + ($default?' default="'.$default.'"':''). + ($display?' display="'.$display.' [Part: '.$Apache::inputtags::part.']"':'') + .'>' ."\n"; } @@ -78,17 +81,17 @@ sub mandatory_part_meta { # of each part # return - &meta_parameter_write('opendate','date_start','', - 'Opening Date'). - &meta_parameter_write('duedate','date_end','', - 'Due Date'). - &meta_parameter_write('answerdate','date_start','', - 'Show Answer Date'). - &meta_parameter_write('weight','int_zeropos','', - 'Available Points'). - &meta_parameter_write('maxtries','int_pos','', - 'Maximum Number of Tries'). - +# &meta_parameter_write('opendate','date_start','', +# 'Opening Date'). +# &meta_parameter_write('duedate','date_end','', +# 'Due Date'). +# &meta_parameter_write('answerdate','date_start','', +# 'Show Answer Date'). +# &meta_parameter_write('weight','int_zeropos','', +# 'Available Points'). +# &meta_parameter_write('maxtries','int_pos','', +# 'Maximum Number of Tries'). + &meta_package_write('part'). &meta_stores_write('solved','string', 'Problem Status'). &meta_stores_write('tries','int_zeropos', @@ -148,7 +151,8 @@ sub start_numericalresponse { require Apache::caparesponse; import Apache::caparesponse; my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - return &Apache::caparesponse::start_numericalresponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); + return &Apache::caparesponse::start_numericalresponse + ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); } sub start_radiobuttonresponse {