version 1.101, 2011/06/07 17:27:37
|
version 1.106, 2016/07/01 19:59:15
|
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; |
Line 631 sub start_foil {
|
Line 668 sub start_foil {
|
&Apache::lonxml::warning(&mt('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; |
} |
} |
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." |
&Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique." |
,'<b><tt>'.$name.'</tt></b>')); |
,'<b><tt>'.$name.'</tt></b>')); |
Line 718 sub start_image {
|
Line 752 sub start_image {
|
$Apache::edit::bgimgsrcdepth=$Apache::lonxml::curdepth; |
$Apache::edit::bgimgsrcdepth=$Apache::lonxml::curdepth; |
|
|
$result=&Apache::edit::tag_start($target,$token,'Clickable Image'). |
$result=&Apache::edit::tag_start($target,$token,'Clickable Image'). |
&Apache::edit::editline($token->[1],$bgimg,'Image Source File',40); |
&Apache::edit::editline($token->[1],$bgimg,'Image Source File',40). |
$result.=&Apache::edit::browse(undef,'textnode',undef,$only).' '; |
&Apache::edit::browse_or_search(undef,'textnode',undef,$only,undef,1). |
$result.=&Apache::edit::search(undef,'textnode'). |
|
&Apache::edit::end_row(); |
&Apache::edit::end_row(); |
} elsif ($target eq "modified") { |
} elsif ($target eq "modified") { |
$result=$token->[4].&Apache::edit::modifiedfield('/image',$parser); |
$result=$token->[4].&Apache::edit::modifiedfield('/image',$parser); |