Diff for /loncom/homework/matchresponse.pm between versions 1.44 and 1.49

version 1.44, 2004/07/08 17:51:31 version 1.49, 2005/01/10 19:21:57
Line 350  sub grade_response { Line 350  sub grade_response {
  $itemstr;   $itemstr;
     $Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=      $Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=
  $gradestr;   $gradestr;
     if (!$Apache::lonhomework::scantronmode) {      if ($Apache::lonhomework::type eq 'survey') {
    if ($ignored == 0) {
       my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED';
       &Apache::response::handle_previous(\%previous,$ad);
    } elsif ($wrong==0 && $right==0) {
    } else {
       my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='MISSING_ANSWER';
       &Apache::response::handle_previous(\%previous,$ad);
    }
       } elsif (!$Apache::lonhomework::scantronmode) {
  my $ad;   my $ad;
  if ($wrong==0 && $ignored==0) {   if ($wrong==0 && $ignored==0) {
     $ad='EXACT_ANS';      $ad='EXACT_ANS';
Line 460  sub displayfoils { Line 469  sub displayfoils {
     my $text=$Apache::response::foilgroup{$name.'.text'};      my $text=$Apache::response::foilgroup{$name.'.text'};
     if ($target ne 'tex') {      if ($target ne 'tex') {
  if ($Apache::lonhomework::type ne 'exam') {   if ($Apache::lonhomework::type ne 'exam') {
     $question.='<br />'.$optionlist.$text."\n";      $question.="<br />\n".$optionlist.$text;
  } else {   } else {
     $question.='<br />'.$text."\n";      $question.="<br />\n".$text;
  }   }
  if ($Apache::lonhomework::type eq 'exam') {   if ($Apache::lonhomework::type eq 'exam') {
     my @blank;      my @blank;
Line 488  sub displayfoils { Line 497  sub displayfoils {
  $result=$question.$result;   $result=$question.$result;
     } elsif ($result=&itemdisplay('right')) {      } elsif ($result=&itemdisplay('right')) {
  if ($target ne 'tex') {   if ($target ne 'tex') {
     $result='<table><tr><td>'.$question.'</td><td>'.$result.      #remove the first <br />
  '</td></tr></table>';      $question=~s|<br />||;
       $result='<table><tr><td valign="top">'.$question.
    '</td><td valign="top">'.$result.'</td></tr></table>';
  } else {   } else {
     my $tabsize=&Apache::londefdef::recalc($ENV{'form.textwidth'});      my $tabsize=&Apache::londefdef::recalc($ENV{'form.textwidth'});
     my ($lefttabsize,$righttabsize)=(0,0);      my ($lefttabsize,$righttabsize)=(0,0);
Line 508  sub displayfoils { Line 519  sub displayfoils {
  }   }
     } elsif ($result=&itemdisplay('left')) {      } elsif ($result=&itemdisplay('left')) {
  if ($target ne 'tex') {   if ($target ne 'tex') {
     $result='<table><tr><td>'.$result.'</td><td>'.$question.      #remove the first <br />
  '</td></tr></table>';      $question=~s|<br />||;
       $result='<table><tr><td valign="top">'.$result.
    '</td><td valign="top">'.$question.'</td></tr></table>';
  } else {   } else {
     my $tabsize=&Apache::londefdef::recalc($ENV{'form.textwidth'});      my $tabsize=&Apache::londefdef::recalc($ENV{'form.textwidth'});
     my ($lefttabsize,$righttabsize)=(0,0);      my ($lefttabsize,$righttabsize)=(0,0);
Line 587  sub start_foil { Line 600  sub start_foil {
     my $result='';      my $result='';
     if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {      if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {
  &Apache::lonxml::startredirection;   &Apache::lonxml::startredirection;
    if ($target eq 'analyze') {
       &Apache::response::check_if_computed($token,$parstack,$safeeval,'value');
    }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result=&Apache::edit::tag_start($target,$token,"Foil");   $result=&Apache::edit::tag_start($target,$token,"Foil");
  my $level='-2';   my $level='-2';
Line 620  sub end_foil { Line 636  sub end_foil {
     if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {      if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {
  $text=&Apache::lonxml::endredirection;   $text=&Apache::lonxml::endredirection;
     }      }
   
     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||      if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
  $target eq 'tex' || $target eq 'analyze') {   $target eq 'tex' || $target eq 'analyze') {
    if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') {
       $text='\vskip 5mm $\triangleright$ '.$text;
    }
  my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval);   my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval);
  if ($value ne 'unused') {   if ($value ne 'unused') {
     my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);      my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
     &Apache::lonxml::debug("Got a name of :$name:");      &Apache::lonxml::debug("Got a name of :$name:");
     if (!$name) { $name=$Apache::lonxml::curdepth; }      if (!$name) {
    &Apache::lonxml::error("Foils without names exist. This can cause problems to malfunction.");
    $name=$Apache::lonxml::curdepth;
       }
     &Apache::lonxml::debug("Using a name of :$name:");      &Apache::lonxml::debug("Using a name of :$name:");
     if (defined($Apache::response::foilnames{$name})) {      if (defined($Apache::response::foilnames{$name})) {
  &Apache::lonxml::error(&mt("Foil name <b><tt>[_1]</tt></b> appears more than once. Foil names need to be unique.",$name));   &Apache::lonxml::error(&mt("Foil name <b><tt>[_1]</tt></b> appears more than once. Foil names need to be unique.",$name));
Line 638  sub end_foil { Line 661  sub end_foil {
  && !&Apache::response::showallfoils() ) {   && !&Apache::response::showallfoils() ) {
  push @{ $Apache::response::conceptgroup{'names'} }, $name;   push @{ $Apache::response::conceptgroup{'names'} }, $name;
  $Apache::response::conceptgroup{"$name.value"} = $value;   $Apache::response::conceptgroup{"$name.value"} = $value;
  if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') {   $Apache::response::conceptgroup{"$name.text"} = $text;
     $Apache::response::conceptgroup{"$name.text"} = ' $\triangleright$ '.$text;  
  } else {  
     $Apache::response::conceptgroup{"$name.text"} = $text;  
  }  
  $Apache::response::conceptgroup{"$name.location"} = $location;   $Apache::response::conceptgroup{"$name.location"} = $location;
     } else {      } else {
  push @{ $Apache::response::foilgroup{'names'} }, $name;   push @{ $Apache::response::foilgroup{'names'} }, $name;
  $Apache::response::foilgroup{"$name.value"} = $value;   $Apache::response::foilgroup{"$name.value"} = $value;
  if ($Apache::lonhomework::type eq 'exam') {   $Apache::response::foilgroup{"$name.text"} = $text;
     if ($target eq 'tex') {  
  $Apache::response::foilgroup{"$name.text"} = '\vskip 5 mm $\triangleright$ '.$text;  
     } else {  
  $Apache::response::foilgroup{"$name.text"} = $text;  
     }  
  } else {  
     if ($target eq 'tex') {  
  $Apache::response::foilgroup{"$name.text"} = $text;  
     } else {  
  $Apache::response::foilgroup{"$name.text"} = $text;  
     }  
  }  
  $Apache::response::foilgroup{"$name.location"} = $location;   $Apache::response::foilgroup{"$name.location"} = $location;
     }      }
  }   }

Removed from v.1.44  
changed lines
  Added in v.1.49


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