version 1.29, 2007/09/25 22:56:48
|
version 1.32, 2017/05/23 03:07:34
|
Line 203 use Apache::Constants qw(:common);
|
Line 203 use Apache::Constants qw(:common);
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use GD; |
use GD; |
use GD::Polyline(); |
use GD::Polyline(); |
use LWP::UserAgent(); |
|
use Apache::lonnet; |
use Apache::lonnet; |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use LONCAPA; |
use LONCAPA; |
|
use LONCAPA::LWPReq; |
|
|
sub get_image { |
sub get_image { |
my ($imgsrc,$set_trans)=@_; |
my ($imgsrc,$set_trans)=@_; |
my $image; |
my $image; |
if ($imgsrc !~ m|^(/home/)|) { |
if ($imgsrc !~ m|^(/home/)|) { |
if ($imgsrc !~ /^http:/) { |
if ($imgsrc !~ /^https?\:/) { |
$imgsrc="http://".$ENV{'HTTP_HOST'}.$imgsrc; |
$imgsrc=&Apache::lonnet::absolute_url($ENV{'HTTP_HOST'}).$imgsrc; |
} |
} |
my $ua=new LWP::UserAgent; |
|
my $request=new HTTP::Request('GET',"$imgsrc"); |
my $request=new HTTP::Request('GET',"$imgsrc"); |
$request->header(Cookie => $ENV{'HTTP_COOKIE'}); |
$request->header(Cookie => $ENV{'HTTP_COOKIE'}); |
my $file="/tmp/imagetmp".$$; |
my $file="/tmp/imagetmp".$$; |
my $response=$ua->request($request,$file); |
my $lonhost = $Apache::lonnet::perlvar{'lonHostID'}; |
|
my $response=&LONCAPA::LWPReq::makerequest($lonhost,$request,$file,'','','',1); |
if ($response->is_success) { |
if ($response->is_success) { |
if ($response->content_type !~ m-/(png|jpg|jpeg)$-i) { |
if ($response->content_type !~ m-/(png|jpg|jpeg)$-i) { |
my $conv_image = Image::Magick->new; |
my $conv_image = Image::Magick->new; |
Line 267 sub get_color_from_hexstring {
|
Line 266 sub get_color_from_hexstring {
|
return $imcolor; |
return $imcolor; |
} |
} |
|
|
|
sub add_click { |
|
my ($image) = @_; |
|
|
|
my $length=6; |
|
my $bgcolor=&get_color_from_hexstring($image,'FFFFFF'); |
|
my $fgcolor=&get_color_from_hexstring($image,'009999'); |
|
|
|
my ($x,$y) = split(':',$env{'form.clickdata'}); |
|
|
|
$image->setThickness(3); |
|
$image->line($x-$length,$y, $x+$length,$y, $bgcolor); |
|
$image->line($x, $y-$length,$x, $y+$length,$bgcolor); |
|
$image->setThickness(1); |
|
$image->line($x-$length,$y, $x+$length,$y, $fgcolor); |
|
$image->line($x, $y-$length,$x, $y+$length,$fgcolor); |
|
} |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
$r->content_type('image/png'); |
$r->content_type('image/png'); |
Line 429 sub handler {
|
Line 445 sub handler {
|
&Apache::lonnet::logthis("randomlylabel unable to handle object of type $type"); |
&Apache::lonnet::logthis("randomlylabel unable to handle object of type $type"); |
} |
} |
} |
} |
|
if (exists($env{'form.clickdata'})) { &add_click($image); } |
$image->setThickness(1); |
$image->setThickness(1); |
$r->print($image->png); |
$r->print($image->png); |
return OK; |
return OK; |