Diff for /loncom/homework/externalresponse.pm between versions 1.24 and 1.27

version 1.24, 2013/09/11 10:25:50 version 1.27, 2014/12/04 15:41:30
Line 173  sub start_externalresponse { Line 173  sub start_externalresponse {
 sub end_externalresponse {  sub end_externalresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;      my $result;
       my $response;
     my $part=$Apache::inputtags::part;      my $part=$Apache::inputtags::part;
     my $id = $Apache::inputtags::response['-1'];      my $id = $Apache::inputtags::response['-1'];
     my $increment     = 1;      my $increment     = 1;
Line 180  sub end_externalresponse { Line 181  sub end_externalresponse {
  if (  &Apache::response::submitted('scantron') ) {   if (  &Apache::response::submitted('scantron') ) {
     my $increment=&Apache::response::scored_response($part,$id);      my $increment=&Apache::response::scored_response($part,$id);
  } elsif ( &Apache::response::submitted() ) {   } elsif ( &Apache::response::submitted() ) {
             my $response      = $env{'form.HWVAL_'.$id};              $response      = $env{'form.HWVAL_'.$id};
             my $jspart=$part;              my $jspart=$part;
             $jspart=~s/\./_/g;              $jspart=~s/\./_/g;
             my $filename = $env{'form.HWFILE'.$jspart.'_'.$id.'.filename'} ||              my $filename = $env{'form.HWFILE'.$jspart.'_'.$id.'.filename'} ||
Line 194  sub end_externalresponse { Line 195  sub end_externalresponse {
             if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') {              if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') {
                 $was_draft = 1;                  $was_draft = 1;
             }              }
             if (($response =~ /[^\s]/) || ($filename =~ /[^\s]/) || ($portfiles =~ /[^\s]/) ||              if (($filename =~ /[^\s]/) || ($portfiles =~ /[^\s]/) ||
                 (@deletions > 0) || ($was_draft && $is_submit)) {                  (@deletions > 0) || ($was_draft && $is_submit)) {
                 my $award='DRAFT';                  my $award='DRAFT';
                 if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') {                  if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') {
Line 210  sub end_externalresponse { Line 211  sub end_externalresponse {
                 }                  }
                 my $uploadedflag=0;                  my $uploadedflag=0;
                 my $totalsize=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.submission"}=$response;
                 $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award;                  $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award;
                 my %previous=&Apache::response::check_for_previous($response,$part,$id);                  my %previous=&Apache::response::check_for_previous($response,$part,$id);
Line 239  sub end_externalresponse { Line 255  sub end_externalresponse {
                 }                  }
             ($award eq 'DRAFT') ? ($externalgrade = 0) : ($externalgrade =1);              ($award eq 'DRAFT') ? ($externalgrade = 0) : ($externalgrade =1);
             }              }
           if($externalgrade){            if (&Apache::response::getresponse() =~ /[^\s]/) {
     my $response = &Apache::response::getresponse();                 $response = &Apache::response::getresponse();
                  $externalgrade = 1;
             }  
   
             if ($externalgrade) {
             my $filesresults=0;              my $filesresults=0;
 # Previously turned in files  # Previously turned in files
             my %previously_turned_in=();              my %previously_turned_in=();
Line 320  sub end_externalresponse { Line 339  sub end_externalresponse {
                                                    'uploadedurl']);                                                     'uploadedurl']);
         if (&Apache::response::show_answer()) {          if (&Apache::response::show_answer()) {
            $result.='<table border="1"><tr><th>'.&mt('Your answer:').'</th></tr><tr><td><pre>'.             $result.='<table border="1"><tr><th>'.&mt('Your answer:').'</th></tr><tr><td><pre>'.
                     $Apache::lonhomework::history{"resource.$part.$id.submission"}.                      &HTML::Entities::encode(
                           $Apache::lonhomework::history{"resource.$part.$id.submission"},'"<>&').
                     '</pre></td></table><br />'.&Apache::lonxml::get_param('answerdisplay',$parstack,$safeeval).                      '</pre></td></table><br />'.&Apache::lonxml::get_param('answerdisplay',$parstack,$safeeval).
                     '<br />';                      '<br />';
         }          }

Removed from v.1.24  
changed lines
  Added in v.1.27


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