--- loncom/imspackages/imsprocessor.pm 2014/12/11 01:12:14 1.54 +++ loncom/imspackages/imsprocessor.pm 2017/11/05 22:47:13 1.56 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Processor for IMS Packages # -# $Id: imsprocessor.pm,v 1.54 2014/12/11 01:12:14 raeburn Exp $ +# $Id: imsprocessor.pm,v 1.56 2017/11/05 22:47:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -29,11 +29,12 @@ package Apache::imsprocessor; use Apache::lonnet; +use Apache::loncommon; use Apache::loncleanup; use Apache::lonlocal; -use LWP::UserAgent; use HTTP::Request::Common; use LONCAPA::Configuration; +use LONCAPA::LWPReq; use strict; sub ims_config { @@ -99,6 +100,9 @@ sub create_tempdir { my ($context,$pathinfo,$timenow) = @_; my $configvars = &LONCAPA::Configuration::read_conf('loncapa.conf'); my $tempdir; + $pathinfo = &Apache::loncommon::clean_path($pathinfo); +# Collapse dots + $pathinfo =~ s/\.+/./g; if ($context eq 'DOCS') { $tempdir = $$configvars{'lonDaemons'}.'/tmp/'.$pathinfo; if (!-e "$tempdir") { @@ -130,6 +134,8 @@ sub uploadzip { $fname=~s/\s+/\_/g; # Replace all other weird characters by nothing $fname=~s/[^\w\.\-]//g; +# Collapse dots + $fname=~s/\.+/./g; # See if there is anything left unless ($fname) { return 'error: no uploaded file'; } # Save the file @@ -4957,9 +4963,9 @@ sub retrieve_image { my ($context,$res,$dirname,$cdom,$cname,$docroot,$destdir,$urlpath,$filename) = @_; my $contents; my $url = $urlpath.$filename; - my $ua=new LWP::UserAgent; + my $lonhost = $Apache::lonnet::perlvar{'lonHostID'}; my $request=new HTTP::Request('GET',$url); - my $response=$ua->request($request); + my $response=&LONCAPA::LWPReq::makerequest($lonhost,$request); if ($response->is_success) { $contents = $response->content; if (!-e "$docroot/$res") {