version 1.142, 2007/04/16 22:50:41
|
version 1.151, 2008/08/08 16:37:13
|
Line 70 sub start_optionresponse {
|
Line 70 sub start_optionresponse {
|
$result=&Apache::response::meta_package_write('optionresponse'); |
$result=&Apache::response::meta_package_write('optionresponse'); |
} elsif ($target eq 'analyze') { |
} elsif ($target eq 'analyze') { |
my $part_id="$Apache::inputtags::part.$id"; |
my $part_id="$Apache::inputtags::part.$id"; |
|
$Apache::lonhomework::analyze{"$part_id.type"} = 'optionresponse'; |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
|
push (@{ $Apache::lonhomework::analyze{"$part_id.bubble_lines"} }, 1); |
|
|
} |
} |
return $result; |
return $result; |
} |
} |
Line 275 sub end_foilgroup {
|
Line 278 sub end_foilgroup {
|
} |
} |
} |
} |
} |
} |
&Apache::lonxml::increment_counter(&getfoilcounts($max)); |
my $part_id = $Apache::inputtags::part; |
|
my $response_id = $Apache::inputtags::response[-1]; |
|
&Apache::lonxml::increment_counter(&getfoilcounts($max), |
|
"$part_id.$response_id"); |
|
if ($target eq 'analyze') { |
|
&Apache::lonhomework::set_bubble_lines(); |
|
} |
|
|
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::end_table(); |
$result.=&Apache::edit::end_table(); |
} |
} |
Line 355 sub check_for_invalid {
|
Line 365 sub check_for_invalid {
|
} |
} |
} |
} |
|
|
sub setup_prior_tries_hash { |
|
my ($whichopt) = @_; |
|
my $part=$Apache::inputtags::part; |
|
my $id=$Apache::inputtags::response[-1]; |
|
foreach my $i (1..$Apache::lonhomework::history{'version'}) { |
|
my $key = "$i:resource.$part.$id.submission"; |
|
next if (!exists($Apache::lonhomework::history{"$key"})); |
|
my %lastresponse= |
|
&Apache::lonnet::str2hash($Apache::lonhomework::history{$key}); |
|
my $output; |
|
foreach my $name (@$whichopt) { |
|
next if (!defined($lastresponse{$name})); |
|
$output .= '<tr><td>'.$lastresponse{$name}.'</td></tr>'; |
|
} |
|
next if (!defined($output)); |
|
$output = |
|
'<table class="LC_prior_option">'.$output.'</table>'; |
|
$Apache::inputtags::submission_display{$key} = $output; |
|
} |
|
} |
|
|
|
sub displayfoils { |
sub displayfoils { |
my ($target,$max,$randomize,$TeXlayout,@opt)=@_; |
my ($target,$max,$randomize,$TeXlayout,@opt)=@_; |
if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;} |
if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;} |
Line 499 sub displayfoils {
|
Line 488 sub displayfoils {
|
} |
} |
|
|
if ($target eq 'web') { |
if ($target eq 'web') { |
&setup_prior_tries_hash(\@whichopt); |
&Apache::response::setup_prior_tries_hash(\&Apache::rankresponse::format_prior_answer, |
|
[\@whichopt, |
|
'submissiongrading']); |
} |
} |
|
|
if ($target ne 'tex') { |
if ($target ne 'tex') { |
Line 512 sub displayfoils {
|
Line 503 sub displayfoils {
|
|
|
sub optionlist_correction { |
sub optionlist_correction { |
my ($TeXlayout,@options) = @_; |
my ($TeXlayout,@options) = @_; |
my $texoptionlist='\\item [] Choices: '; |
my $texoptionlist='\\item [] '.&mt('Choices:').' '; |
if ($TeXlayout eq 'vertical') {$texoptionlist='\\item []';} |
if ($TeXlayout eq 'vertical') {$texoptionlist='\\item []';} |
if (scalar(@options) > 0) { |
if (scalar(@options) > 0) { |
foreach my $option (@options) { |
foreach my $option (@options) { |
Line 693 sub end_foil {
|
Line 684 sub end_foil {
|
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
&Apache::lonxml::debug("Got a name of :$name:"); |
&Apache::lonxml::debug("Got a name of :$name:"); |
if ($name eq "") { |
if ($name eq "") { |
&Apache::lonxml::warning("Foils without names exist. This can cause problems to malfunction."); |
&Apache::lonxml::warning(&mt('Foils without names exist. This can cause problems to malfunction.')); |
$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 (defined($Apache::response::foilnames{$name})) { |
if (defined($Apache::response::foilnames{$name})) { |
&Apache::lonxml::error(&mt("Foil name <b><tt>[_1]</tt></b> appears more than once. Foil names need to be unique.",$name)); |
&Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",'<b><tt>'.$name.'</tt></b>')); |
} |
} |
$Apache::response::foilnames{$name}++; |
$Apache::response::foilnames{$name}++; |
my $location =&Apache::lonxml::get_param('location',$parstack,$safeeval); |
my $location =&Apache::lonxml::get_param('location',$parstack,$safeeval); |
Line 724 sub end_foil {
|
Line 715 sub end_foil {
|
|
|
sub start_drawoptionlist { |
sub start_drawoptionlist { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if (($target ne 'meta') && ($target ne 'answer')) { |
if ($target !~ /^(?:meta|answer|modified|edit)$/) { |
return $token->[4]; |
return $token->[4]; |
} |
} |
} |
} |
|
|
sub end_drawoptionlist { |
sub end_drawoptionlist { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if (($target ne 'meta') && ($target ne 'answer')) { |
if ($target !~ /^(?:meta|answer|modified|edit)$/) { |
return $token->[2]; |
return $token->[2]; |
} |
} |
} |
} |
|
|
sub insert_foil { |
sub insert_foil { |
return ' |
return ' |
<foil name="" value="unused"> |
<foil name="" value="unused"> |
<startouttext /> |
<startouttext /> |
<endouttext /> |
<endouttext /> |
</foil>'; |
</foil>'; |
} |
} |
|
|
|
sub insert_drawoptionlist { |
|
return '<drawoptionlist />'; |
|
} |
1; |
1; |
__END__ |
__END__ |
|
|