Diff for /loncom/homework/imageresponse.pm between versions 1.94 and 1.97

version 1.94, 2008/08/08 16:37:13 version 1.97, 2008/12/19 14:28:14
Line 29 Line 29
 #FIXME LATER assumes multiple possible submissions but only one is possible   #FIXME LATER assumes multiple possible submissions but only one is possible 
 #currently  #currently
   
   
   =head1 NAME
   
   Apache::imageresponse
   
   =head1 SYNOPSIS
   
   Coordinates the response to clicking an image.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 SUBROUTINES
   
   =over
   
   =item start_imageresponse()
   
   =item end_imageresponse()
   
   =item start_foilgroup()
   
   =item getfoilcounts()
   
   =item whichfoils()
   
   =item prep_image()
   
   =item draw_image()
   
   =item displayfoils()
   
   =item format_prior_response()
   
   =item display_answers()
   
   =item clean_up_image()
   
   =item gradefoils()
   
   =item stringify_submission()
   
   =item get_submission()
   
   =item end_foilgroup()
   
   =item start_conceptgroup()
   
   =item end_conceptgroup()
   
   =item insert_foil()
   
   =item start_foil()
   
   =item end_foil()
   
   =item start_text()
   
   =item end_text()
   
   =item start_image()
   
   =item end_image()
   
   =item start_rectangle()
   
   =item grade_rectangle()
   
   =item end_rectangle()
   
   =item start_polygon()
   
   =item grade_polygon()
   
   =item end_polygon()
   
   =back
   
   =cut
   
   
 package Apache::imageresponse;  package Apache::imageresponse;
 use strict;  use strict;
 use Image::Magick();  use Image::Magick();
Line 239  sub displayfoils { Line 320  sub displayfoils {
  my $image=$Apache::response::foilgroup{"$name.image"};   my $image=$Apache::response::foilgroup{"$name.image"};
  &Apache::lonxml::debug("image is $image");   &Apache::lonxml::debug("image is $image");
  if ( ($target eq 'web' || $target eq 'answer')    if ( ($target eq 'web' || $target eq 'answer') 
      && $image !~ /^http:/ ) {       && $image !~ /^https?\:/ ) {
     $image=&clean_up_image($image);      $image=&clean_up_image($image);
  }   }
  push(@images,$image);   push(@images,$image);
Line 305  sub display_answers { Line 386  sub display_answers {
  my $image=$Apache::response::foilgroup{"$name.image"};   my $image=$Apache::response::foilgroup{"$name.image"};
  &Apache::lonxml::debug("image is $image");   &Apache::lonxml::debug("image is $image");
  if ( ($target eq 'web' || $target eq 'answer')   if ( ($target eq 'web' || $target eq 'answer')
      && $image !~ /^http:/ ) {       && $image !~ /^https?\:/ ) {
     $image = &clean_up_image($image);      $image = &clean_up_image($image);
  }    } 
  my $token=&prep_image($image,'answeronly',$name);   my $token=&prep_image($image,'answeronly',$name);
Line 320  sub clean_up_image { Line 401  sub clean_up_image {
     my ($image)=@_;      my ($image)=@_;
     if ($image =~ /\s*<img\s*/) {      if ($image =~ /\s*<img\s*/) {
  ($image) = ($image =~ /src\s*=\s*[\"\']([^\"\']+)[\"\']/i);   ($image) = ($image =~ /src\s*=\s*[\"\']([^\"\']+)[\"\']/i);
  if ($image !~ /^http:/) {   if ($image !~ /^https?\:/) {
     $image=&Apache::lonnet::hreflocation('',$image);      $image=&Apache::lonnet::hreflocation('',$image);
  }   }
  if (!$image) {   if (!$image) {

Removed from v.1.94  
changed lines
  Added in v.1.97


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