version 1.49, 2004/02/23 23:55:40
|
version 1.52, 2004/03/15 22:09:52
|
Line 31
|
Line 31
|
|
|
package Apache::imageresponse; |
package Apache::imageresponse; |
use strict; |
use strict; |
use Image::Magick; |
use Image::Magick(); |
use Apache::randomlylabel; |
use Apache::randomlylabel(); |
use Apache::londefdef; |
use Apache::londefdef(); |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
|
use Apache::lonlocal; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::imageresponse',('imageresponse')); |
&Apache::lonxml::register('Apache::imageresponse',('imageresponse')); |
Line 49 sub start_imageresponse {
|
Line 50 sub start_imageresponse {
|
'polygon','conceptgroup')); |
'polygon','conceptgroup')); |
push (@Apache::lonxml::namespace,'imageresponse'); |
push (@Apache::lonxml::namespace,'imageresponse'); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
|
undef(%Apache::response::foilnames); |
if ($target eq 'meta') { |
if ($target eq 'meta') { |
$result=&Apache::response::meta_package_write('imageresponse'); |
$result=&Apache::response::meta_package_write('imageresponse'); |
} elsif ($target eq 'analyze') { |
} elsif ($target eq 'analyze') { |
Line 65 sub end_imageresponse {
|
Line 67 sub end_imageresponse {
|
&Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup')); |
&Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup')); |
my $result; |
my $result; |
if ($target eq 'edit') { $result=&Apache::edit::end_table(); } |
if ($target eq 'edit') { $result=&Apache::edit::end_table(); } |
|
undef(%Apache::response::foilnames); |
return $result; |
return $result; |
} |
} |
|
|
Line 215 sub displayfoils {
|
Line 218 sub displayfoils {
|
sub clean_up_image { |
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 !~ /^http:/) { |
$image=&Apache::lonnet::hreflocation('',$image); |
$image=&Apache::lonnet::hreflocation('',$image); |
} |
} |
Line 335 sub start_foil {
|
Line 338 sub start_foil {
|
$target eq 'analyze') { |
$target eq 'analyze') { |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
if ($name eq '') { $name=$Apache::lonxml::curdepth; } |
if ($name eq '') { $name=$Apache::lonxml::curdepth; } |
|
if (defined($Apache::response::foilnames{$name})) { |
|
&Apache::lonxml::error(&mt("Foil name <b><tt>[_1]</tt></b> appears more than once. Foil names need to be unique.",$name)); |
|
} |
|
$Apache::response::foilnames{$name}++; |
if ( $Apache::imageresponse::conceptgroup |
if ( $Apache::imageresponse::conceptgroup |
&& !&Apache::response::showallfoils()) { |
&& !&Apache::response::showallfoils()) { |
push(@{ $Apache::response::conceptgroup{'names'} }, $name); |
push(@{ $Apache::response::conceptgroup{'names'} }, $name); |