version 1.29, 2014/12/06 20:08:16
|
version 1.33, 2017/05/23 03:07:34
|
Line 40 use Apache::loncommon;
|
Line 40 use Apache::loncommon;
|
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
use Apache::essayresponse; |
use Apache::essayresponse; |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
|
use LONCAPA::LWPReq; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::externalresponse',('externalresponse')); |
&Apache::lonxml::register('Apache::externalresponse',('externalresponse')); |
Line 97 sub start_externalresponse {
|
Line 98 sub start_externalresponse {
|
($Apache::lonhomework::type eq 'anonsurveycred')) { |
($Apache::lonhomework::type eq 'anonsurveycred')) { |
$hiddendraft = '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />'; |
$hiddendraft = '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />'; |
} else { |
} else { |
$result = &Apache::essayresponse::draft_row($part,$id,$ncol,$uploadedfiletypes); |
$result = &Apache::essayresponse::draft_row($part,$id,$ncol,$uploadedfiletypes, |
|
'externalresponse'); |
} |
} |
if ($ncol > 0) { |
if ($ncol > 0) { |
$result .= &Apache::essayresponse::get_collab_row($part,$id,$coll,$ncol); |
$result .= &Apache::essayresponse::get_collab_row($part,$id,$coll,$ncol); |
Line 150 sub end_externalresponse {
|
Line 152 sub end_externalresponse {
|
$env{'form.HWFILETOOBIG'.$part.'_'.$id}; |
$env{'form.HWFILETOOBIG'.$part.'_'.$id}; |
my $portfiles = $env{'form.HWPORT'.$jspart.'_'.$id}; |
my $portfiles = $env{'form.HWPORT'.$jspart.'_'.$id}; |
my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$jspart.'_'.$id.'_delete'); |
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') { |
if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { |
$is_submit = 1; |
$is_submit = 1; |
} |
} |
Line 173 sub end_externalresponse {
|
Line 175 sub end_externalresponse {
|
} |
} |
my $uploadedflag=0; |
my $uploadedflag=0; |
my $totalsize=0; |
my $totalsize=0; |
my %info = ( |
%info = ( |
'is_submit' => $is_submit, |
'is_submit' => $is_submit, |
); |
); |
my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval); |
my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval); |
if ($url =~ m{^https?://([^/]+)/}) { |
if ($url =~ m{^https?://([^/]+)/}) { |
use Socket; |
use Socket; |
Line 261 sub end_externalresponse {
|
Line 263 sub end_externalresponse {
|
&Apache::lonhomework::showhash(%form); |
&Apache::lonhomework::showhash(%form); |
my $udom = &Apache::lonnet::EXT('user.domain'); |
my $udom = &Apache::lonnet::EXT('user.domain'); |
my $uname = &Apache::lonnet::EXT('user.name'); |
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 %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},$udom,$uname); |
my $ua = LWP::UserAgent->new; |
my $request=new HTTP::Request('POST',$url); |
my $res = $ua->request(POST $url, \%form); |
$request->content(join('&',map { |
|
my $name = escape($_); |
|
"$name=" . ( ref($form{$_}) eq 'ARRAY' |
|
? join("&$name=", map {escape($_) } @{$form{$_}}) |
|
: &escape($form{$_}) ); |
|
} keys(%form))); |
|
my $res = &LONCAPA::LWPReq::makerequest('',$request,'','',10,1); |
|
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::loncapagrade::results=(); |
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response; |
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response; |
if ($res->is_error()) { |
if ($res->is_error()) { |