Diff for /loncom/homework/optionresponse.pm between versions 1.34 and 1.38

version 1.34, 2002/03/29 18:32:46 version 1.38, 2002/04/25 21:35:30
Line 63  sub start_optionresponse { Line 63  sub start_optionresponse {
     my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";      my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
     push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);      push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);
   }    }
 #  if ($target eq 'tex') {$result .= '\begin{itemize}';}  #  if ($target eq 'tex') {$result .= '\begin{enumerate}';}
   return $result;    return $result;
 }  }
   
Line 74  sub end_optionresponse { Line 74  sub end_optionresponse {
   &Apache::lonxml::deregister('Apache::optionresponse',('foilgroup','foil','conceptgroup'));    &Apache::lonxml::deregister('Apache::optionresponse',('foilgroup','foil','conceptgroup'));
   my $result;    my $result;
   if ($target eq 'edit') { $result=&Apache::edit::end_table(); }    if ($target eq 'edit') { $result=&Apache::edit::end_table(); }
 #  if ($target eq 'tex') {$result .= '\end{itemize}';}  #  if ($target eq 'tex') {$result .= '\end{enumerate}';}
   return $result;    return $result;
 }  }
   
Line 140  ENDTABLE Line 140  ENDTABLE
       $result.=')">';        $result.=')">';
     } # else nothing changed so just use the default mechanism      } # else nothing changed so just use the default mechanism
   }    }
   if ($target eq 'tex') {$result .= '\begin{itemize}';}    if ($target eq 'tex') {$result .= '\begin{enumerate}';}
   return $result;    return $result;
 }  }
   
Line 148  sub end_foilgroup { Line 148  sub end_foilgroup {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
       
   my $result;    my $result;
   if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex') {    if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') {
     my $name;      my $name;
     my ($count,$max) = &getfoilcounts($parstack,$safeeval);      my ($count,$max) = &getfoilcounts($parstack,$safeeval);
     if ($count>$max) { $count=$max }       if ($count>$max) { $count=$max } 
Line 166  sub end_foilgroup { Line 166  sub end_foilgroup {
  if (defined($Apache::lonhomework::analyze{"$part_id.foil.value.$name"})) { next; }   if (defined($Apache::lonhomework::analyze{"$part_id.foil.value.$name"})) { next; }
  push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name);   push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name);
  $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =   $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =
   $Apache::response::conceptgroup{"$name.value"};    $Apache::response::foilgroup{"$name.value"};
  $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =   $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =
   $Apache::response::conceptgroup{"$name.text"};    $Apache::response::foilgroup{"$name.text"};
       }        }
         push (@{ $Apache::lonhomework::analyze{"$part_id.options"} },@opt);
         push (@{ $Apache::lonhomework::analyze{"$part_id.shown"} },&whichfoils($count));
     } elsif ( $target eq 'grade') {      } elsif ( $target eq 'grade') {
       if ( defined $ENV{'form.submitted'}) {        if ( defined $ENV{'form.submitted'}) {
  my @whichopt = &whichfoils($count);   my @whichopt = &whichfoils($count);
Line 202  sub end_foilgroup { Line 204  sub end_foilgroup {
  } elsif ($wrong==0 && $right==0) {   } elsif ($wrong==0 && $right==0) {
   #nothing submitted    #nothing submitted
  } else {   } else {
   $ad='INCORRECT';    if ($ignored==0) {
       $ad='INCORRECT';
     } else {
       $ad='MISSING_ANSWER';
     }
  }   }
  $Apache::lonhomework::results{"resource.$part.$id.submission"}=   $Apache::lonhomework::results{"resource.$part.$id.submission"}=
   $responsestr;    $responsestr;
Line 214  sub end_foilgroup { Line 220  sub end_foilgroup {
   } elsif ($target eq 'edit') {    } elsif ($target eq 'edit') {
     $result.=&Apache::edit::end_table();      $result.=&Apache::edit::end_table();
   }      }  
   if ($target eq 'tex') {$result .= '\end{itemize}';}    if ($target eq 'tex') {$result .= '\end{enumerate}';}
   return $result;    return $result;
 }  }
   
Line 340  sub end_conceptgroup { Line 346  sub end_conceptgroup {
   $Apache::optionresponse::conceptgroup=0;    $Apache::optionresponse::conceptgroup=0;
   my $result='';    my $result='';
   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 'tex' || $target eq 'analyze') {
     #if not there aren't any foils to display and thus no question      #if not there aren't any foils to display and thus no question
     if (defined(@{ $Apache::response::conceptgroup{'names'} })) {      if (defined(@{ $Apache::response::conceptgroup{'names'} })) {
       my @names = @{ $Apache::response::conceptgroup{'names'} };        my @names = @{ $Apache::response::conceptgroup{'names'} };
       my $pick=int rand $#names+1;        my $pick=int rand $#names+1;
       my $name=$names[$pick];        my $name=$names[$pick];
       push @{ $Apache::response::foilgroup{'names'} }, $name;        push @{ $Apache::response::foilgroup{'names'} }, $name;
       $Apache::response::foilgroup{"$name.value"} =  $Apache::response::conceptgroup{"$name.value"};        $Apache::response::foilgroup{"$name.value"} =
       $Apache::response::foilgroup{"$name.text"} =  $Apache::response::conceptgroup{"$name.text"};   $Apache::response::conceptgroup{"$name.value"};
         $Apache::response::foilgroup{"$name.text"} =
    $Apache::response::conceptgroup{"$name.text"};
       my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);        my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);
       $Apache::response::foilgroup{"$name.concept"} = $concept;        $Apache::response::foilgroup{"$name.concept"} = $concept;
       &Apache::lonxml::debug("Selecting $name in $concept");        &Apache::lonxml::debug("Selecting $name in $concept");
         if ($target eq 'analyze') {
    my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
           push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} },
         $concept);
    $Apache::lonhomework::analyze{"$part_id.concept.$concept"}=
     $Apache::response::conceptgroup{'names'};
    foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) {
     push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },
    $name);
     $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =
       $Apache::response::conceptgroup{"$name.value"};
     $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =
       $Apache::response::conceptgroup{"$name.text"};
    }
         }
     }      }
   } elsif ($target eq 'edit') {    } elsif ($target eq 'edit') {
     $result=&Apache::edit::end_table();      $result=&Apache::edit::end_table();
   } elsif ($target eq 'analyze') {  
     my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";  
     my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);  
     push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} },$concept);  
     $Apache::lonhomework::analyze{"$part_id.concept.$concept"}=  
       $Apache::response::conceptgroup{'names'};  
     foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) {  
       push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name);  
       $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =  
  $Apache::response::conceptgroup{"$name.value"};  
       $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =  
  $Apache::response::conceptgroup{"$name.text"};  
     }  
   }    }
   return $result;    return $result;
 }  }

Removed from v.1.34  
changed lines
  Added in v.1.38


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