version 1.102, 2011/09/16 22:23:54
|
version 1.105, 2013/04/30 03:03:34
|
Line 179 sub end_imageresponse {
|
Line 179 sub end_imageresponse {
|
|
|
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
$target eq 'tex' || $target eq 'analyze') { |
$target eq 'tex' || $target eq 'analyze') { |
&Apache::lonxml::increment_counter(&Apache::response::repetition(), |
my $repetition = &Apache::response::repetition(); |
|
&Apache::lonxml::increment_counter($repetition, |
"$part_id.$response_id"); |
"$part_id.$response_id"); |
if ($target eq 'analyze') { |
if ($target eq 'analyze') { |
&Apache::lonhomework::set_bubble_lines(); |
&Apache::lonhomework::set_bubble_lines(); |
Line 211 sub getfoilcounts {
|
Line 212 sub getfoilcounts {
|
|
|
sub whichfoils { |
sub whichfoils { |
my ($max)=@_; |
my ($max)=@_; |
return if (!defined(@{ $Apache::response::foilgroup{'names'} })); |
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 @whichopt; |
my @whichopt; |
while ((($#whichopt+1) < $max) && ($#names > -1)) { |
while ((($#whichopt+1) < $max) && ($#names > -1)) { |
&Apache::lonxml::debug("Have $#whichopt max is $max"); |
&Apache::lonxml::debug("Have $#whichopt max is $max"); |
Line 387 sub get_prior_options {
|
Line 391 sub get_prior_options {
|
@whichopt = @{$curropt}; |
@whichopt = @{$curropt}; |
@images = @{$currimages}; |
@images = @{$currimages}; |
} |
} |
my $submission = $Apache::lonhomework::history{$sub_key}; |
my $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'}))) { |
|
$submission = $Apache::lonhomework::history{$sub_key}; |
|
} else { |
|
unless (($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || |
|
($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) { |
|
$submission = $Apache::lonhomework::history{$sub_key}; |
|
} |
|
} |
my $output = &format_prior_response('grade',$submission, |
my $output = &format_prior_response('grade',$submission, |
[\@images,\@whichopt]); |
[\@images,\@whichopt]); |
if (defined($output)) { |
if (defined($output)) { |
Line 472 sub gradefoils {
|
Line 486 sub gradefoils {
|
my ($x,$y) = split(':',$env{"form.HWVAL_$id:$temp"}); |
my ($x,$y) = split(':',$env{"form.HWVAL_$id:$temp"}); |
$response{$name} = $env{"form.HWVAL_$id:$temp"}; |
$response{$name} = $env{"form.HWVAL_$id:$temp"}; |
&Apache::lonxml::debug("Got a x of $x and a y of $y for $name"); |
&Apache::lonxml::debug("Got a x of $x and a y of $y for $name"); |
if (defined($x) && defined($y) && |
my @areas; |
defined(@{ $Apache::response::foilgroup{"$name.area"} })) { |
if (ref($Apache::response::foilgroup{"$name.area"}) eq 'ARRAY') { |
my @areas = @{ $Apache::response::foilgroup{"$name.area"} }; |
@areas = @{ $Apache::response::foilgroup{"$name.area"} }; |
|
} |
|
if (defined($x) && defined($y) && @areas) { |
my $grade="INCORRECT"; |
my $grade="INCORRECT"; |
foreach my $area (@areas) { |
foreach my $area (@areas) { |
&Apache::lonxml::debug("Area is $area for $name"); |
&Apache::lonxml::debug("Area is $area for $name"); |
Line 537 sub get_submission {
|
Line 553 sub get_submission {
|
if (!defined($string)) { |
if (!defined($string)) { |
my $part=$Apache::inputtags::part; |
my $part=$Apache::inputtags::part; |
my $respid=$Apache::inputtags::response['-1']; |
my $respid=$Apache::inputtags::response['-1']; |
$string = |
my $newvariation; |
$Apache::lonhomework::history{"resource.$part.$respid.submission"}; |
if ((($Apache::lonhomework::history{"resource.$part.type"} eq 'randomizetry') || |
|
($Apache::lonhomework::type eq 'randomizetry')) && |
|
($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { |
|
if ($env{'form.'.$part.'.rndseed'} ne |
|
$Apache::lonhomework::history{"resource.$part.rndseed"}) { |
|
$newvariation = 1; |
|
} |
|
} |
|
unless ($newvariation) { |
|
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'}))) { |
|
$string = |
|
$Apache::lonhomework::history{"resource.$part.$respid.submission"}; |
|
} else { |
|
unless (($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || |
|
($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) { |
|
$string = |
|
$Apache::lonhomework::history{"resource.$part.$respid.submission"}; |
|
} |
|
} |
|
} |
} |
} |
|
|
if ($string !~ /=/) { |
if ($string !~ /=/) { |
Line 552 sub get_submission {
|
Line 589 sub get_submission {
|
sub end_foilgroup { |
sub end_foilgroup { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result=''; |
my $result=''; |
my @whichopt; |
my (@images,@whichopt); |
|
|
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex' || |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex' || |
$target eq 'analyze' || $target eq 'answer') { |
$target eq 'analyze' || $target eq 'answer') { |
Line 567 sub end_foilgroup {
|
Line 604 sub end_foilgroup {
|
$result=&displayfoils($target,@whichopt); |
$result=&displayfoils($target,@whichopt); |
if ($Apache::lonhomework::type eq 'randomizetry') { |
if ($Apache::lonhomework::type eq 'randomizetry') { |
if ($target eq 'web') { |
if ($target eq 'web') { |
&get_prior_options($target,@whichopt); |
&get_prior_options(\@images,\@whichopt); |
} |
} |
} |
} |
$Apache::lonxml::post_evaluate=0; |
$Apache::lonxml::post_evaluate=0; |