--- loncom/homework/externalresponse.pm 2014/12/06 20:08:16 1.29 +++ loncom/homework/externalresponse.pm 2014/12/07 19:45:08 1.31 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # external style responses # -# $Id: externalresponse.pm,v 1.29 2014/12/06 20:08:16 raeburn Exp $ +# $Id: externalresponse.pm,v 1.31 2014/12/07 19:45:08 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -150,7 +150,7 @@ sub end_externalresponse { $env{'form.HWFILETOOBIG'.$part.'_'.$id}; my $portfiles = $env{'form.HWPORT'.$jspart.'_'.$id}; my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$jspart.'_'.$id.'_delete'); - my ($is_submit,$was_draft,$externalgrade); + my ($is_submit,$was_draft,$externalgrade,%info); if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { $is_submit = 1; } @@ -173,9 +173,9 @@ sub end_externalresponse { } my $uploadedflag=0; my $totalsize=0; - my %info = ( - 'is_submit' => $is_submit, - ); + %info = ( + 'is_submit' => $is_submit, + ); my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval); if ($url =~ m{^https?://([^/]+)/}) { use Socket; @@ -261,10 +261,18 @@ sub end_externalresponse { &Apache::lonhomework::showhash(%form); my $udom = &Apache::lonnet::EXT('user.domain'); my $uname = &Apache::lonnet::EXT('user.name'); - my $symb = $env{'resource.symb'}; + my $symb = &Apache::lonnet::symbread(); my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},$udom,$uname); my $ua = LWP::UserAgent->new; my $res = $ua->request(POST $url, \%form); + my @delaccess = keys(%currently_turned_in); + &Apache::lonnet::automated_portfile_access('ip',undef,\@delaccess,\%info); + my @submitted_portfiles = split(/,/,$Apache::lonhomework::results{"resource.$part.$id.portfiles"}); + my @versioned_portfiles; + &Apache::lonnet::portfiles_versioning($symb,$udom,$uname,\@submitted_portfiles, + \@versioned_portfiles); + $Apache::lonhomework::results{"resource.$part.$id.portfiles"} = + join(',',@versioned_portfiles); %Apache::loncapagrade::results=(); $Apache::lonhomework::results{"resource.$part.$id.submission"}=$response; if ($res->is_error()) {