version 1.66, 2011/09/13 21:42:58
|
version 1.76, 2025/01/27 14:46:20
|
Line 51 sub start_rankresponse {
|
Line 51 sub start_rankresponse {
|
$result=&Apache::response::meta_package_write('rankresponse'); |
$result=&Apache::response::meta_package_write('rankresponse'); |
} elsif ($target eq 'edit' ) { |
} elsif ($target eq 'edit' ) { |
$result.=&Apache::edit::start_table($token) |
$result.=&Apache::edit::start_table($token) |
.'<tr><td>'.&Apache::lonxml::description($token).'</td>' |
.'<tr><td>'.&Apache::loncommon::insert_folding_button() |
|
.&Apache::lonxml::description($token).'</td>' |
.'<td><span class="LC_nobreak">'.&mt('Delete?').' ' |
.'<td><span class="LC_nobreak">'.&mt('Delete?').' ' |
.&Apache::edit::deletelist($target,$token) |
.&Apache::edit::deletelist($target,$token) |
.'</span></td>' |
.'</span></td>' |
Line 186 sub get_correct_order {
|
Line 187 sub get_correct_order {
|
|
|
sub displayanswers { |
sub displayanswers { |
my ($max,$randomize,$tol,@opt)=@_; |
my ($max,$randomize,$tol,@opt)=@_; |
if (!defined(@{ $Apache::response::foilgroup{'names'} })) { return; } |
my @names; |
my @names = @{ $Apache::response::foilgroup{'names'} }; |
if (ref($Apache::response::foilgroup{'names'}) eq 'ARRAY') { |
|
@names = @{ $Apache::response::foilgroup{'names'} }; |
|
} |
|
return if (!@names); |
my @whichfoils = &whichfoils($max,$randomize); |
my @whichfoils = &whichfoils($max,$randomize); |
my @correctorder=&get_correct_order($tol,@whichfoils); |
my @correctorder=&get_correct_order($tol,@whichfoils); |
my $result; |
my $result; |
Line 332 sub format_prior_answer {
|
Line 336 sub format_prior_answer {
|
my %grading =&Apache::lonnet::str2hash($other_data->[1]); |
my %grading =&Apache::lonnet::str2hash($other_data->[1]); |
my $output; |
my $output; |
foreach my $name (@{ $foil_order }) { |
foreach my $name (@{ $foil_order }) { |
next if (!defined($lastresponse{$name})); |
if (defined($lastresponse{$name})) { |
$output .= '<tr><td>'.$lastresponse{$name}.'</td></tr>'; |
$output .= '<tr><td>'.&HTML::Entities::encode($lastresponse{$name},'<>&"').'</td></tr>'; |
|
} else { |
|
$output .= '<tr><td> </td></tr>'; |
|
} |
} |
} |
return if (!defined($output)); |
return if (!defined($output)); |
$output = |
$output = |
Line 355 sub displayfoils {
|
Line 362 sub displayfoils {
|
my $text=$Apache::response::foilgroup{$name.'.text'}; |
my $text=$Apache::response::foilgroup{$name.'.text'}; |
my $value=shift(@correctorder); |
my $value=shift(@correctorder); |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result.='<br /><b>'.$value.':</b> '.$text; |
$result.='<div class="LC_rankfoil"><b>'.$value.':</b> '.$text.'</div>'; |
} else { |
} else { |
$result.=' \strut\\\\\strut '.$value.':'.$text; |
$result.=' \strut\\\\\strut '.$value.':'.$text; |
} |
} |
Line 374 sub displayfoils {
|
Line 381 sub displayfoils {
|
$newvariation = 1; |
$newvariation = 1; |
} |
} |
} |
} |
unless (((($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || ($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) && (defined($env{'form.grade_symb'}))) || $newvariation) { |
unless ($newvariation) { |
$lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"}; |
if ((($env{'form.grade_username'} eq '') && ($env{'form.grade_domain'} eq '')) || |
|
(($env{'form.grade_username'} eq $env{'user.name'}) && |
|
($env{'form.grade_domain'} eq $env{'user.domain'}))) { |
|
$lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"}; |
|
} else { |
|
unless (($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || |
|
($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) { |
|
$lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"}; |
|
} |
|
} |
} |
} |
my %lastresponse=&Apache::lonnet::str2hash($lastresponse); |
my %lastresponse=&Apache::lonnet::str2hash($lastresponse); |
my @alp = splice @alphabet, 0, $#whichopt + 1; |
my @alp = splice @alphabet, 0, $#whichopt + 1; |
Line 394 sub displayfoils {
|
Line 410 sub displayfoils {
|
my $lastopt=$lastresponse{$name}; |
my $lastopt=$lastresponse{$name}; |
my $optionlist=''; |
my $optionlist=''; |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$optionlist = "<option></option>\n"; |
$optionlist = "<option value=\"\"></option>\n"; |
} |
} |
if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
my $fieldname = $env{'request.symb'}.'&part_'.$Apache::inputtags::part.'&rankresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'].':'.$temp; |
my $fieldname = $env{'request.symb'}.'&part_'.$Apache::inputtags::part.'&rankresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'].':'.$temp; |
Line 404 sub displayfoils {
|
Line 420 sub displayfoils {
|
foreach $option (@whichopt) { |
foreach $option (@whichopt) { |
if ($option eq $lastopt) { |
if ($option eq $lastopt) { |
if ($target ne 'tex' ) { |
if ($target ne 'tex' ) { |
$optionlist.="<option selected=\"selected\">$option</option>\n"; |
$optionlist.="<option value=\"$option\" selected=\"selected\">$option</option>\n"; |
} elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
} elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
$optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); |
$optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); |
} |
} |
} else { |
} else { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$optionlist.="<option>$option</option>\n"; |
$optionlist.="<option value=\"$option\">$option</option>\n"; |
} elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
} elsif ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes') { |
$optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); |
$optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); |
} |
} |
} |
} |
} |
} |
if ($target ne 'tex' && $Apache::lonhomework::type ne 'exam') { |
if ($target ne 'tex' && $Apache::lonhomework::type ne 'exam') { |
$optionlist='<select onchange="javascript:setSubmittedPart(\''. |
$optionlist='<label><select onchange="javascript:setSubmittedPart(\''. |
$part.'\');" name="HWVAL_'. |
$part.'\');" name="HWVAL_'. |
$Apache::inputtags::response[-1].':'.$temp.'">'. |
$Apache::inputtags::response[-1].':'.$temp.'">'. |
$optionlist."</select>\n"; |
$optionlist."</select>\n"; |
Line 428 sub displayfoils {
|
Line 444 sub displayfoils {
|
} |
} |
my $text=$Apache::response::foilgroup{$name.'.text'}; |
my $text=$Apache::response::foilgroup{$name.'.text'}; |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
|
$result .= '<div class="LC_rankfoil">'; |
if ($Apache::lonhomework::type ne 'exam') { |
if ($Apache::lonhomework::type ne 'exam') { |
$result.='<br />'.$optionlist.$text."\n"; |
$result.=$optionlist.$text."</label>\n"; |
} else { |
} else { |
$result.='<br />'.$text."\n"; |
$result.=$text."\n"; |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
my @values=(1..scalar(@whichopt)); |
my @values=(1..scalar(@whichopt)); |
$result.=&Apache::optionresponse::webbubbles(\@values,\@whichopt,$temp,$lastopt); |
$result.=&Apache::optionresponse::webbubbles(\@values,\@whichopt,$temp,$lastopt); |
} |
} |
|
$result .= '</div>'; |
} else { |
} else { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
my $itemlabel; |
my $itemlabel; |
Line 593 sub end_foil {
|
Line 611 sub end_foil {
|
$name=$Apache::lonxml::curdepth; |
$name=$Apache::lonxml::curdepth; |
} |
} |
&Apache::lonxml::debug("Using a name of :$name:"); |
&Apache::lonxml::debug("Using a name of :$name:"); |
if ($name eq "0") { |
|
&Apache::lonxml::error(&mt('Foil name [_1] is not supported. Please choose another name.','<b><tt>'.$name.'</tt></b>')); |
|
} |
|
if (defined($Apache::response::foilnames{$name})) { |
if (defined($Apache::response::foilnames{$name})) { |
&Apache::lonxml::error(&mt('Foil name [_1] appears more than once. Foil names need to be unique.','<b><tt>'.$name.'</tt></b>')); |
&Apache::lonxml::error(&mt('Foil name [_1] appears more than once. Foil names need to be unique.','<b><tt>'.$name.'</tt></b>')); |
} |
} |