Diff for /loncom/homework/response.pm between versions 1.87 and 1.91

version 1.87, 2003/10/27 19:27:09 version 1.91, 2004/02/16 20:09:51
Line 77  sub end_hintresponse { Line 77  sub end_hintresponse {
 # that is stable and unique based on the part number and response number  # that is stable and unique based on the part number and response number
 sub setrandomnumber {  sub setrandomnumber {
     my $rndseed;      my $rndseed;
     if ($ENV{'request.state'} eq "construct") {      $rndseed=&Apache::structuretags::setup_rndseed();
  $rndseed=$ENV{'form.rndseed'};      if (!defined($rndseed)) { $rndseed=&Apache::lonnet::rndseed(); }
  if (!$rndseed) { $rndseed=time; }  
     } else {  
  $rndseed=&Apache::lonnet::rndseed();  
     }  
     &Apache::lonxml::debug("randseed $rndseed");      &Apache::lonxml::debug("randseed $rndseed");
     #  $rndseed=unpack("%32i",$rndseed);      #  $rndseed=unpack("%32i",$rndseed);
     my $rndmod=(&Apache::lonnet::numval($Apache::inputtags::part) << 10);      my $rndmod=(&Apache::lonnet::numval($Apache::inputtags::part) << 10);
     if (defined($Apache::inputtags::response['-1'])) {      if (defined($Apache::inputtags::response['-1'])) {
        $rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]);   $rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]);
     }      }
     if ($rndseed =~/,/) {      if ($rndseed =~/,/) {
  {   {
Line 115  sub meta_parameter_write { Line 111  sub meta_parameter_write {
     }      }
     $result.=            ' name="'.$name.'"'.      $result.=            ' name="'.$name.'"'.
                          ' type="'.$type.'"'.                           ' type="'.$type.'"'.
 ($default?' default="'.$default.'"':'').  (defined($default)?' default="'.$default.'"':'').
 ($display?' display="'.$display.' [Part: '.$partref.']"':'')  (defined($display)?' display="'.$display.' [Part: '.$partref.']"':'')
              .'></parameter>'               .'></parameter>'
              ."\n";               ."\n";
     return $result;      return $result;
Line 460  sub showallfoils { Line 456  sub showallfoils {
 }  }
   
 sub getresponse {  sub getresponse {
     my ($temp)=@_;      my ($temp,$resulttype)=@_;
     my $formparm='form.HWVAL_'.$Apache::inputtags::response['-1'];      my $formparm='form.HWVAL_'.$Apache::inputtags::response['-1'];
     my $response;      my $response;
     if (!defined($temp)) {      if (!defined($temp)) {
Line 480  sub getresponse { Line 476  sub getresponse {
  # save bubbled letter for later   # save bubbled letter for later
  $Apache::lonhomework::results{"resource.$part.$id.scantron"}.=   $Apache::lonhomework::results{"resource.$part.$id.scantron"}.=
     $response;      $response;
  $response = $let_to_num{$response};   if ($resulttype ne 'letter') {
       $response = $let_to_num{$response};
    }
     } else {      } else {
  $response = $ENV{$formparm};   $response = $ENV{$formparm};
     }      }
Line 504  sub scored_response { Line 502  sub scored_response {
  if ($increase ne '') { $score+=$increase+1; }   if ($increase ne '') { $score+=$increase+1; }
     }      }
     my $weight = &Apache::lonnet::EXT("resource.$part.weight");      my $weight = &Apache::lonnet::EXT("resource.$part.weight");
       if (!defined($weight) || $weight eq '' || $weight eq 0) { $weight = 1; }
     my $pcr=$score/$weight;      my $pcr=$score/$weight;
     $Apache::lonhomework::results{"resource.$part.$id.awarded"}=$pcr;      $Apache::lonhomework::results{"resource.$part.$id.awarded"}=$pcr;
     $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=      $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=
Line 559  sub whichorder { Line 558  sub whichorder {
     for (my $i=0;$i<=$#bottomlist;$i++) {      for (my $i=0;$i<=$#bottomlist;$i++) {
  if ($bottomlist[$i]) { push(@whichopt,$bottomlist[$i]) }   if ($bottomlist[$i]) { push(@whichopt,$bottomlist[$i]) }
     }      }
   
     return @whichopt;      return @whichopt;
 }  }
   

Removed from v.1.87  
changed lines
  Added in v.1.91


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>