Diff for /loncom/homework/optionresponse.pm between versions 1.181 and 1.183

version 1.181, 2011/10/07 22:39:59 version 1.183, 2011/11/29 13:24:38
Line 32 Line 32
   
 package Apache::optionresponse;  package Apache::optionresponse;
 use strict;  use strict;
   use Apache::inputtags();
 use Apache::response();  use Apache::response();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
Line 209  sub end_foilgroup { Line 210  sub end_foilgroup {
     my $randomize = &Apache::lonxml::get_param('randomize',$parstack,      my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
        $safeeval,'-2');         $safeeval,'-2');
     if ($target eq 'web' || $target eq 'tex') {      if ($target eq 'web' || $target eq 'tex') {
       $result.=&displayfoils($target,$max,$randomize,$TeXlayout,$checkboxvalue,$checkboxchoices,@opt);        $result.=&displayfoils($target,$max,$randomize,$TeXlayout,$checkboxvalue,$checkboxchoices,$tex_option_switch,@opt);
       $Apache::lonxml::post_evaluate=0;        $Apache::lonxml::post_evaluate=0;
     } elsif ( $target eq 'answer') {      } elsif ( $target eq 'answer') {
       $result.=&displayanswers($max,$randomize,@opt);        $result.=&displayanswers($max,$randomize,@opt);
Line 282  sub end_foilgroup { Line 283  sub end_foilgroup {
   }    }
  }   }
  my $part=$Apache::inputtags::part;   my $part=$Apache::inputtags::part;
         my $nonlenient=&is_nonlenient($part);          my $nonlenient=&Apache::inputtags::grading_is_nonlenient($part);
  my $id = $Apache::inputtags::response['-1'];   my $id = $Apache::inputtags::response['-1'];
  my $responsestr=&Apache::lonnet::hash2str(%responsehash);   my $responsestr=&Apache::lonnet::hash2str(%responsehash);
  my $gradestr   =&Apache::lonnet::hash2str(%grade);   my $gradestr   =&Apache::lonnet::hash2str(%grade);
Line 386  sub end_foilgroup { Line 387  sub end_foilgroup {
   return $result;    return $result;
 }  }
   
 sub is_nonlenient {  
     my ($part) = @_;  
 # Web mode: we are non-lenient unless told otherwise   
     my $defaultparm = 'off';  
     my $nonlenient = 0;  
 # Grading a bubblesheet exam: we are grading lenient unless told otherwise   
     if ($Apache::lonhomework::scantronmode) {  
         $defaultparm = 'on';  
         $nonlenient = 1;  
     }  
     my $lenientparm =   
         &Apache::response::get_response_param($part,'lenient',$defaultparm);    
     if ($lenientparm=~/^0|off|no$/i) {  
         $nonlenient = 1;  
     } elsif ($lenientparm=~/^1|on|yes$/i) {  
         $nonlenient = 0;  
     }  
     return $nonlenient;  
 }  
   
 sub getfoilcounts {  sub getfoilcounts {
   my ($max)=@_;    my ($max)=@_;
   # +1 since instructors will count from 1    # +1 since instructors will count from 1
Line 485  sub check_for_invalid { Line 466  sub check_for_invalid {
 }  }
   
 sub displayfoils {  sub displayfoils {
   my ($target,$max,$randomize,$TeXlayout,$checkboxvalue,$checkboxchoices,@opt)=@_;    my ($target,$max,$randomize,$TeXlayout,$checkboxvalue,$checkboxchoices,
         $tex_option_switch,@opt)=@_;
   if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}    if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}
   my @names = @{ $Apache::response::foilgroup{'names'} };    my @names = @{ $Apache::response::foilgroup{'names'} };
   my @truelist;    my @truelist;
Line 495  sub displayfoils { Line 477  sub displayfoils {
   my $displayoptionintex=1;    my $displayoptionintex=1;
   my @alphabet = ('A'..'Z');    my @alphabet = ('A'..'Z');
   my @whichopt = &whichfoils($max,$randomize);    my @whichopt = &whichfoils($max,$randomize);
   &check_for_invalid(\@whichopt,\@opt);    unless (($target eq 'tex') && ($tex_option_switch eq 'nochoice')) {
         &check_for_invalid(\@whichopt,\@opt);
     }
   my $part=$Apache::inputtags::part;    my $part=$Apache::inputtags::part;
   my $id=$Apache::inputtags::response[-1];    my $id=$Apache::inputtags::response[-1];
   my $break;    my $break;

Removed from v.1.181  
changed lines
  Added in v.1.183


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