Diff for /loncom/homework/imageresponse.pm between versions 1.81 and 1.82

version 1.81, 2007/02/22 01:25:31 version 1.82, 2007/04/18 01:06:22
Line 132  sub prep_image { Line 132  sub prep_image {
     my ($image,$mode,$name)=@_;      my ($image,$mode,$name)=@_;
     my $part=$Apache::inputtags::part;      my $part=$Apache::inputtags::part;
     my $respid=$Apache::inputtags::response['-1'];      my $respid=$Apache::inputtags::response['-1'];
       my ($x,$y)=split(/:/,$Apache::lonhomework::history{"resource.$part.$respid.submission"});
       &draw_image($mode,$image,$x,$y,$Apache::response::foilgroup{"$name.area"});
   }
   
   sub draw_image {
       my ($mode,$image,$x,$y,$areas) = @_;
   
     my $id=&Apache::loncommon::get_cgi_id();      my $id=&Apache::loncommon::get_cgi_id();
   
     my (%x,$i);      my (%x,$i);
     $x{"cgi.$id.BGIMG"}=&escape($image);      $x{"cgi.$id.BGIMG"}=&escape($image);
     my ($x,$y)=split(/:/,$Apache::lonhomework::history{"resource.$part.$respid.submission"});  
     #draws 2 xs on the image at the clicked location      #draws 2 xs on the image at the clicked location
     #one in white and then one in red on top of the one in white      #one in white and then one in red on top of the one in white
   
     if (defined($x)    && $x =~/\S/       if (defined($x)    && $x =~/\S/ 
  && defined($y) && $y =~/\S/    && defined($y) && $y =~/\S/ 
  && !&Apache::response::show_answer()   && ($mode eq 'submission' || !&Apache::response::show_answer())
  && $mode ne 'answeronly') {   && $mode ne 'answeronly') {
  my $length = 6;   my $length = 6;
  my $width = 1;   my $width = 1;
Line 170  sub prep_image { Line 179  sub prep_image {
     if ($mode eq 'answer' || $mode eq 'answeronly') {      if ($mode eq 'answer' || $mode eq 'answeronly') {
  my $width = 1;   my $width = 1;
  my $extrawidth = 2;   my $extrawidth = 2;
  my @areas = @{ $Apache::response::foilgroup{"$name.area"} };   foreach my $area (@{ $areas }) {
  foreach my $area (@areas) {  
     if ($area=~/^rectangle:/) {      if ($area=~/^rectangle:/) {
  $x{"cgi.$id.OBJTYPE"}.='RECTANGLE:';   $x{"cgi.$id.OBJTYPE"}.='RECTANGLE:';
  $i=$x{"cgi.$id.OBJCOUNT"}++;   $i=$x{"cgi.$id.OBJCOUNT"}++;
Line 203  sub displayfoils { Line 211  sub displayfoils {
     my $result ='';      my $result ='';
     my $name;      my $name;
     my $temp=1;      my $temp=1;
       my @images;
     foreach $name (@whichopt) {      foreach $name (@whichopt) {
  $result.=$Apache::response::foilgroup{"$name.text"};   $result.=$Apache::response::foilgroup{"$name.text"};
  &Apache::lonxml::debug("Text is $result");   &Apache::lonxml::debug("Text is $result");
Line 211  sub displayfoils { Line 220  sub displayfoils {
  &Apache::lonxml::debug("image is $image");   &Apache::lonxml::debug("image is $image");
  if ( $target eq 'web' && $image !~ /^http:/ ) {   if ( $target eq 'web' && $image !~ /^http:/ ) {
     $image=&clean_up_image($image);      $image=&clean_up_image($image);
  }    }
    push(@images,$image);
  &Apache::lonxml::debug("image is $image");   &Apache::lonxml::debug("image is $image");
  if ( &Apache::response::show_answer() ) {   if ( &Apache::response::show_answer() ) {
     if ($target eq 'tex') {      if ($target eq 'tex') {
Line 233  sub displayfoils { Line 243  sub displayfoils {
  }   }
  $temp++;   $temp++;
     }      }
       if ($target eq 'web') {
    &Apache::response::setup_prior_tries_hash(\&format_prior_response,
     [\@images]);
       }
     return $result;      return $result;
 }  }
   
   sub format_prior_response {
       my ($mode,$answer,$other_data) = @_;
       my ($x,$y)=split(/:/,$answer);
       my $images = $other_data->[0];
   
       my $token = &draw_image('submission',$images->[0],$x,$y);
   
       return "<img class=\"LC_prior_image\" src=\"/adm/randomlabel.png?token=$token\" />";
       
   }
   
 sub display_answers {  sub display_answers {
     my ($target,$whichopt)=@_;      my ($target,$whichopt)=@_;
   

Removed from v.1.81  
changed lines
  Added in v.1.82


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