[LON-CAPA-cvs] cvs: loncom /homework optionresponse.pm
www
www@source.lon-capa.org
Fri, 05 Feb 2010 21:38:41 -0000
www Fri Feb 5 21:38:41 2010 EDT
Modified files:
/loncom/homework optionresponse.pm
Log:
Bug #2294: now only needs editing interface
Index: loncom/homework/optionresponse.pm
diff -u loncom/homework/optionresponse.pm:1.160 loncom/homework/optionresponse.pm:1.161
--- loncom/homework/optionresponse.pm:1.160 Fri Feb 5 20:54:33 2010
+++ loncom/homework/optionresponse.pm Fri Feb 5 21:38:41 2010
@@ -1,7 +1,7 @@
# LearningOnline Network with CAPA
# option list style responses
#
-# $Id: optionresponse.pm,v 1.160 2010/02/05 20:54:33 www Exp $
+# $Id: optionresponse.pm,v 1.161 2010/02/05 21:38:41 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -190,13 +190,14 @@
my $TeXlayout=&Apache::lonxml::get_param('TeXlayout',$parstack,$safeeval,
-2,0);
+ my $checkboxvalue=&Apache::lonxml::get_param('checkboxvalue',$parstack,$safeeval);
if ($target eq 'tex' && $tex_option_switch eq 'nochoice') {@opt=();}
&Apache::lonxml::debug("Options are $#opt");
my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2');
my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
$safeeval,'-2');
if ($target eq 'web' || $target eq 'tex') {
- $result.=&displayfoils($target,$max,$randomize,$TeXlayout,@opt);
+ $result.=&displayfoils($target,$max,$randomize,$TeXlayout,$checkboxvalue,@opt);
$Apache::lonxml::post_evaluate=0;
} elsif ( $target eq 'answer') {
$result.=&displayanswers($max,$randomize,@opt);
@@ -360,8 +361,12 @@
}
sub check_box_opt {
-# Check if we are in checkbox mode. If so, return "checked" value
- return '';
+ my ($target,$checkboxvalue,@opt)=@_;
+# Check if we are in checkbox mode: checkboxvalue specified, on web, only two options.
+# If so, return "checked" value
+ if ($#opt!=1) { return ''; }
+ if ($target ne 'web') { return ''; }
+ return $checkboxvalue;
}
sub check_for_invalid {
@@ -386,7 +391,7 @@
}
sub displayfoils {
- my ($target,$max,$randomize,$TeXlayout,@opt)=@_;
+ my ($target,$max,$randomize,$TeXlayout,$checkboxvalue,@opt)=@_;
if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}
my @names = @{ $Apache::response::foilgroup{'names'} };
my @truelist;
@@ -432,7 +437,7 @@
my $temp=1;
my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"});
my $internal_counter=$Apache::lonxml::counter;
- my $checkboxopt=&check_box_opt();
+ my $checkboxopt=&check_box_opt($target,$checkboxvalue,@opt);
if ($checkboxopt) {
$result.='<br />'.&mt('Choices: ').'<b>'.$opt[0].','.$opt[1].'</b>. '.
&mt('Select all that are <b>[_1]</b>.',$checkboxopt);