--- loncom/homework/externalresponse.pm 2014/01/13 13:20:33 1.25 +++ loncom/homework/externalresponse.pm 2014/12/04 15:41:30 1.27 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # external style responses # -# $Id: externalresponse.pm,v 1.25 2014/01/13 13:20:33 kruse Exp $ +# $Id: externalresponse.pm,v 1.27 2014/12/04 15:41:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -211,7 +211,22 @@ sub end_externalresponse { } my $uploadedflag=0; my $totalsize=0; - &Apache::essayresponse::file_submission($part,$id,\$award,\$uploadedflag,\$totalsize,\@deletions); + my %info; + my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval); + if ($url =~ m{^https?://([^/]+)/}) { + use Socket; + my $ip = gethostbyname($1); + if (length($ip) eq 4) { + $info{'ip'} = inet_ntoa($ip); + } + } elsif ($url =~ m{^/}) { + my $ip = &Apache::lonnet::get_host_ip($Apache::lonnet::perlvar{'lonHostID'}); + if ($ip =~ /^[\d\.]+$/) { + $info{'ip'} = $ip; + } + } + &Apache::essayresponse::file_submission($part,$id,\$award,\$uploadedflag,\$totalsize, + \@deletions,'externalresponse',\%info); $Apache::lonhomework::results{"resource.$part.$id.submission"}=$response; $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award; my %previous=&Apache::response::check_for_previous($response,$part,$id); @@ -324,7 +339,8 @@ sub end_externalresponse { 'uploadedurl']); if (&Apache::response::show_answer()) { $result.='
'.&mt('Your answer:').'
'.
-                    $Apache::lonhomework::history{"resource.$part.$id.submission"}.
+                    &HTML::Entities::encode(
+                        $Apache::lonhomework::history{"resource.$part.$id.submission"},'"<>&').
                     '

'.&Apache::lonxml::get_param('answerdisplay',$parstack,$safeeval). '
'; }