Diff for /loncom/homework/imageresponse.pm between versions 1.103 and 1.106

version 1.103, 2011/11/14 03:08:01 version 1.106, 2016/07/01 19:59:15
Line 212  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 388  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 473  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 538  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 553  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 568  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 716  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);

Removed from v.1.103  
changed lines
  Added in v.1.106


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>