--- loncom/publisher/lonupload.pm 2010/12/14 16:26:04 1.52 +++ loncom/publisher/lonupload.pm 2013/07/03 05:03:19 1.64 @@ -1,8 +1,7 @@ - # The LearningOnline Network with CAPA # Handler to upload files into construction space # -# $Id: lonupload.pm,v 1.52 2010/12/14 16:26:04 www Exp $ +# $Id: lonupload.pm,v 1.64 2013/07/03 05:03:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -126,7 +125,6 @@ use Apache::File; use File::Copy; use File::Basename; use Apache::Constants qw(:common :http :methods); -use Apache::loncacc; use Apache::loncommon(); use Apache::lonnet; use HTML::Entities(); @@ -163,7 +161,7 @@ sub upfile_store { } sub phaseone { - my ($r,$fn,$uname,$udom,$mode)=@_; + my ($r,$fn,$mode,$uname,$udom)=@_; my $action = '/adm/upload'; if ($mode eq 'testbank') { $action = '/adm/testbank'; @@ -175,16 +173,14 @@ sub phaseone { $env{'form.upfile.filename'}=~s/\\/\//g; $env{'form.upfile.filename'}=~s/^.*\/([^\/]+)$/$1/; if (!$env{'form.upfile.filename'}) { - $r->print('
'.&mt('No upload file specified.').'
'); + $r->print(''.&mt('No upload file specified.').'
'. + &earlyout($fn,$uname,$udom)); return; } - $fn=~s/\/[^\/]+$//; - $fn=~s/([^\/])$/$1\//; + # Append the name of the uploaded file $fn.=$env{'form.upfile.filename'}; - $fn=~s/^\///; $fn=~s/(\/)+/\//g; - # Fn is the full path to the destination filename. # Check for illegal filename &Debug($r, "Filename for upload: $fn"); @@ -192,20 +188,42 @@ sub phaseone { $r->print(''.&mt('Illegal filename.').'
'); return; } + # Check if quota exceeded + my $filesize = length($env{'form.upfile'}); + if (!$filesize) { + $r->print(''.
+ &mt('Unable to upload [_1]. (size = [_2] bytes)',
+ ''.$env{'form.upfile.filename'}.'',
+ $filesize).'
'.
+ &mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'
'.
+ '