Diff for /loncom/homework/matchresponse.pm between versions 1.40 and 1.47

version 1.40, 2004/04/08 14:22:48 version 1.47, 2004/10/21 06:35:57
Line 110  sub start_itemgroup { Line 110  sub start_itemgroup {
     } elsif ($target eq 'web' or $target eq 'tex') {      } elsif ($target eq 'web' or $target eq 'tex') {
  $Apache::matchresponse::itemtable{'location'}=   $Apache::matchresponse::itemtable{'location'}=
     &Apache::lonxml::get_param('location',$parstack,$safeeval);      &Apache::lonxml::get_param('location',$parstack,$safeeval);
    $Apache::matchresponse::TeXitemgroupwidth=&Apache::lonxml::get_param('TeXitemgroupwidth',$parstack,$safeeval,undef,0);
     }      }
     return $result;      return $result;
 }  }
Line 232  sub start_foilgroup { Line 233  sub start_foilgroup {
     my $result;      my $result;
     %Apache::response::foilgroup=();      %Apache::response::foilgroup=();
     $Apache::matchresponse::conceptgroup=0;      $Apache::matchresponse::conceptgroup=0;
     &Apache::response::setrandomnumber();      &Apache::response::pushrandomnumber();
     if ($target eq 'edit') {      if ($target eq 'edit') {
  $result.=&Apache::edit::start_table($token)   $result.=&Apache::edit::start_table($token)
     ."<tr><td>Collection Of Foils</td><td>Delete:"      ."<tr><td>Collection Of Foils</td><td>Delete:"
Line 266  sub end_foilgroup { Line 267  sub end_foilgroup {
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result=&Apache::edit::end_table();   $result=&Apache::edit::end_table();
     }      }
       &Apache::response::poprandomnumber();
     return $result;      return $result;
 }  }
   
Line 348  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 458  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') {
     $question.=&Apache::optionresponse::webbubbles(\@used_letters,\@used_letters,$temp,$last_letter);      my @blank;
       $question.=&Apache::optionresponse::webbubbles(\@used_letters,\@blank,$temp,$last_letter);
  }   }
     } else {      } else {
  if ($Apache::lonhomework::type eq 'exam') {   if ($Apache::lonhomework::type eq 'exam') {
Line 485  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'});
     $tabsize=~/(\d+\.?\d*)/;      my ($lefttabsize,$righttabsize)=(0,0);
     $tabsize=$1/2.1;      if ($Apache::matchresponse::TeXitemgroupwidth ne '') {
     $tabsize.=' mm ';   $Apache::matchresponse::TeXitemgroupwidth=~/(\d*.?\d*)/;
     $result='\setlength{\tabcolsep}{1 mm}\begin{tabular}{p{'.$tabsize.'}p{'.$tabsize.'}}\begin{minipage}{'.$tabsize.'}'.$question.'\end{minipage}&\begin{minipage}{'.$tabsize.'}'.$result.'\end{minipage}\end{tabular}';   $lefttabsize=$tabsize*$1/100;
    $righttabsize=0.95*($tabsize-$lefttabsize);
       } else {
    $tabsize=~/(\d+\.?\d*)/;
    $lefttabsize=$1/2.1;
    $righttabsize=0.95*($1-$lefttabsize);
       }
       $lefttabsize.=' mm ';
       $righttabsize.=' mm ';
       $result='\setlength{\tabcolsep}{1 mm}\begin{tabular}{p{'.$righttabsize.'}p{'.$lefttabsize.'}}\begin{minipage}{'.$righttabsize.'}'.$question.'\end{minipage}&\begin{minipage}{'.$lefttabsize.'}'.$result.'\end{minipage}\end{tabular}';
  }   }
     } 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'});
     $tabsize=~/(\d+\.?\d*)/;      my ($lefttabsize,$righttabsize)=(0,0);
     $tabsize=$1/2.1;      if ($Apache::matchresponse::TeXitemgroupwidth ne '') {
     $tabsize.=' mm ';   $Apache::matchresponse::TeXitemgroupwidth=~/(\d*.?\d*)/;
     $result='\setlength{\tabcolsep}{1 mm}\begin{tabular}{p{'.$tabsize.'}p{'.$tabsize.'}}\begin{minipage}{'.$tabsize.'}'.$result.'\end{minipage}&\begin{minipage}{'.$tabsize.'}'.$question.'\end{minipage}\end{tabular}';   $lefttabsize=$tabsize*$1/100;
    $righttabsize=0.95*($tabsize-$lefttabsize);
       } else {
    $tabsize=~/(\d+\.?\d*)/;
    $lefttabsize=$1/2.1;
    $righttabsize=0.95*($1-$lefttabsize);
       }
       $lefttabsize.=' mm ';
       $righttabsize.=' mm ';
       $result='\setlength{\tabcolsep}{1 mm}\begin{tabular}{p{'.$lefttabsize.'}p{'.$righttabsize.'}}\begin{minipage}{'.$lefttabsize.'}'.$result.'\end{minipage}&\begin{minipage}{'.$righttabsize.'}'.$question.'\end{minipage}\end{tabular}';
  }   }
     }      }
     if ($target ne 'tex') {$result.="<br />";} else {$result.=' \\\\ ';}      if ($target ne 'tex') {$result.="<br />";} else {$result.=' \\\\ ';}
Line 566  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';

Removed from v.1.40  
changed lines
  Added in v.1.47


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