Diff for /loncom/homework/optionresponse.pm between versions 1.57 and 1.61

version 1.57, 2002/10/28 23:31:48 version 1.61, 2002/11/11 20:13:47
Line 318  sub displayfoils { Line 318  sub displayfoils {
   my @whichopt = &whichfoils($max,$randomize);    my @whichopt = &whichfoils($max,$randomize);
   my $part=$Apache::inputtags::part;    my $part=$Apache::inputtags::part;
   my $id=$Apache::inputtags::response[-1];    my $id=$Apache::inputtags::response[-1];
   if (($Apache::lonhomework::history{"resource.$part.solved"} =~ /^correct/)  || ($Apache::inputtags::status[-1] eq  'SHOW_ANSWER')) {    if (($Apache::lonhomework::history{"resource.$part.solved"} =~ /^correct/)  || ($Apache::inputtags::status[-1] eq  'SHOW_ANSWER')) {    
       my $temp=1; ####
     foreach $name (@whichopt) {      foreach $name (@whichopt) {
       if ($target eq 'web') {        if ($target eq 'web') {
   $result.="<br />";    $result.="<br />";
Line 326  sub displayfoils { Line 327  sub displayfoils {
   $result.='\vskip 0 mm ';    $result.='\vskip 0 mm ';
       }        }
       if ($target ne 'tex') {        if ($target ne 'tex') {
   $result .=$Apache::response::foilgroup{$name.'.value'}.    my $text=$Apache::response::foilgroup{$name.'.text'};
       ":".$Apache::response::foilgroup{$name.'.text'}."\n";    my $value=$Apache::response::foilgroup{$name.'.value'};
     if (!($text=~s|<drawoptionlist\s*/>|$value|)) {
         $text=$value.': '.$text;
     }
     $result.=$text."\n";
       } else {        } else {
   $Apache::response::foilgroup{$name.'.text'}=~s/\\item//;    $Apache::response::foilgroup{$name.'.text'}=~s/\\item//;
    $result .='\item \textit{'.$Apache::response::foilgroup{$name.'.value'}.'}'.     $result .='\item \textit{'.$Apache::response::foilgroup{$name.'.value'}.'}'.
       ":".$Apache::response::foilgroup{$name.'.text'}."\n";        ":".$Apache::response::foilgroup{$name.'.text'}."\n";
       }        }
         if ($Apache::lonhomework::type eq 'exam') {
    if ($target ne 'tex') {
     $result.=&webbubbles(\@opt,\@alphabet);
           } else {
     $result.=&bubbles(\@alphabet,\@opt);
           }
         }
       $temp++;
     }      }
   } else {    } else {
     my $temp=1;      my $temp=1;
Line 349  sub displayfoils { Line 362  sub displayfoils {
  }   }
       }        }
       if ($target ne 'tex') {        if ($target ne 'tex') {
   $result.="<br /><select name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\">"    $optionlist='<select name="HWVAL_'.
       .$optionlist        $Apache::inputtags::response['-1'].':'.$temp.'">'.
   ."</select>\n".$Apache::response::foilgroup{$name.'.text'}."\n";    $optionlist."</select>\n";
     my $text=$Apache::response::foilgroup{$name.'.text'};
     if (!($text=~s|<drawoptionlist\s*/>|$optionlist|)) {
         $text=$optionlist.$text;
     }
     $result.="<br />".$text."\n";
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
   my $number_of_bubbles = $#opt + 1;      $result.=&webbubbles(\@opt,\@alphabet);
   $result.= '<table border="1"><tr>';  
   for (my $ind=0;$ind<$number_of_bubbles;$ind++) {  
       $result.='<td>'.$alphabet[$ind].': '.$opt[$ind].'</td>';  
   }  
   $result.='</tr></table>';  
   }    }
   $temp++;    $temp++;
       } else {        } else {
             my $texoptionlist = &optionlist_correction($optionlist);
   if ($displayoptionintex == 0) {    if ($displayoptionintex == 0) {
               my $texoptionlist = &optionlist_correction($optionlist);        if ($Apache::lonhomework::type eq 'exam') {$texoptionlist='';} #if exam we do not need to show optionlist
       if ($Apache::lonhomework::type eq 'exam') {$texoptionlist='';}  
       if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) {        if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) {
   if ($Apache::lonhomework::type eq 'exam') {   if ($Apache::lonhomework::type eq 'exam') {
       $Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/;            $Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/;
   }          }
   $result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'};          if ($Apache::response::foilgroup{$name.'.text'}=~/<drawoptionlist\s*\/>/) {
             $Apache::response::foilgroup{$name.'.text'}=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |;
             $result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'};
           }
       } else {        } else {
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
       $result.= $texoptionlist.'\vspace*{-2 mm}\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'};        $result.= $texoptionlist.'\vspace*{-2 mm}\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'};
Line 386  sub displayfoils { Line 402  sub displayfoils {
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
       $Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/;        $Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/;
   }    }
   $result.= $Apache::response::foilgroup{$name.'.text'};          if ($Apache::response::foilgroup{$name.'.text'}=~/<drawoptionlist\s*\/>/) {
             $Apache::response::foilgroup{$name.'.text'}=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |;
           }
    $result.= $Apache::response::foilgroup{$name.'.text'};
       } else {        } else {
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
       $result.= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'};        $result.= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'};
Line 425  sub optionlist_correction { Line 444  sub optionlist_correction {
 }  }
   
   
   sub webbubbles {
   
       my ($ropt,$ralphabet)=@_;
       my @opt=@$ropt; 
       my @alphabet=@$ralphabet;
       my $result='';
    my $number_of_bubbles = $#opt + 1;
    $result.= '<table border="1"><tr>';
    for (my $ind=0;$ind<$number_of_bubbles;$ind++) {
      $result.='<td>'.$alphabet[$ind].': '.$opt[$ind].'</td>';
    }
    $result.='</tr></table>';
    return $result;
   }
   
   
 sub bubbles {  sub bubbles {
   
     my ($ralphabit,$ropt) = @_;      my ($ralphabit,$ropt) = @_;

Removed from v.1.57  
changed lines
  Added in v.1.61


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