--- loncom/homework/optionresponse.pm 2008/12/10 21:48:21 1.157 +++ loncom/homework/optionresponse.pm 2010/02/05 20:54:33 1.160 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.157 2008/12/10 21:48:21 raeburn Exp $ +# $Id: optionresponse.pm,v 1.160 2010/02/05 20:54:33 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -359,6 +359,11 @@ sub displayanswers { return $result; } +sub check_box_opt { +# Check if we are in checkbox mode. If so, return "checked" value + return ''; +} + sub check_for_invalid { my ($names,$options) = @_; my %bad_names; @@ -427,6 +432,11 @@ sub displayfoils { 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(); + if ($checkboxopt) { + $result.='
'.&mt('Choices: ').''.$opt[0].','.$opt[1].'. '. + &mt('Select all that are [_1].',$checkboxopt); + } foreach $name (@whichopt) { my $text=$Apache::response::foilgroup{$name.'.text'}; if ($text!~/^\s*$/) { @@ -439,7 +449,8 @@ sub displayfoils { my $lastopt=$lastresponse{$name}; my $optionlist="\n"; - if($target eq 'tex' and $env{'form.pdfFormFields'} eq 'yes') { + if($target eq 'tex' and $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { my $fieldname = $env{'request.symb'}.'&part_'.$Apache::inputtags::part.'&optionresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'].':'.$temp; $optionlist = &Apache::lonxml::print_pdf_start_combobox($fieldname); } @@ -447,13 +458,15 @@ sub displayfoils { foreach my $option (@opt) { my $escopt=&HTML::Entities::encode($option,'\'"&<>'); if ($option eq $lastopt) { - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; } } else { - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; @@ -462,10 +475,34 @@ sub displayfoils { } if ($target ne 'tex') { if ($Apache::lonhomework::type ne 'exam') { - $optionlist=''. + '\n"; + } else { +# classic selection list + $optionlist='\n"; + } } else { $optionlist=''.(' 'x10).''; } @@ -516,9 +553,9 @@ sub displayfoils { '\end{enumerate} \vskip -8 mm \strut '; $internal_counter++; } - if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { - $text =~ s/.*indent(.*)$/$1/; - $text = $1; + if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { + $text =~ s/\\item//m; $result .= " $optionlist ". &Apache::lonxml::print_pdf_end_combobox($text).'\strut \\\\'; $temp++; }