version 1.62, 2013/06/04 22:20:16
|
version 1.63, 2013/07/02 19:04:49
|
Line 161 sub upfile_store {
|
Line 161 sub upfile_store {
|
} |
} |
|
|
sub phaseone { |
sub phaseone { |
my ($r,$fn,$mode)=@_; |
my ($r,$fn,$mode,$uname,$udom)=@_; |
my $action = '/adm/upload'; |
my $action = '/adm/upload'; |
if ($mode eq 'testbank') { |
if ($mode eq 'testbank') { |
$action = '/adm/testbank'; |
$action = '/adm/testbank'; |
Line 173 sub phaseone {
|
Line 173 sub phaseone {
|
$env{'form.upfile.filename'}=~s/\\/\//g; |
$env{'form.upfile.filename'}=~s/\\/\//g; |
$env{'form.upfile.filename'}=~s/^.*\/([^\/]+)$/$1/; |
$env{'form.upfile.filename'}=~s/^.*\/([^\/]+)$/$1/; |
if (!$env{'form.upfile.filename'}) { |
if (!$env{'form.upfile.filename'}) { |
$r->print('<p class="LC_warning">'.&mt('No upload file specified.').'</p>'); |
$r->print('<p class="LC_warning">'.&mt('No upload file specified.').'</p>'. |
|
&earlyout($fn,$uname,$udom)); |
return; |
return; |
} |
} |
|
|
Line 187 sub phaseone {
|
Line 188 sub phaseone {
|
$r->print('<p class="LC_warning">'.&mt('Illegal filename.').'</p>'); |
$r->print('<p class="LC_warning">'.&mt('Illegal filename.').'</p>'); |
return; |
return; |
} |
} |
|
# Check if quota exceeded |
|
my $filesize = length($env{'form.upfile'}); |
|
if (!$filesize) { |
|
$r->print('<p class="LC_warning">'. |
|
&mt('Unable to upload [_1]. (size = [_2] bytes)', |
|
'<span class="LC_filename">'.$env{'form.upfile.filename'}.'</span>', |
|
$filesize).'<br />'. |
|
&mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'. |
|
'</p>'. |
|
&earlyout($fn,$uname,$udom)); |
|
return; |
|
} |
|
$filesize = int($filesize/1000); #expressed in kb |
|
my $disk_quota = &Apache::loncommon::get_user_quota($uname,$udom,'author'); #expressed in Mb |
|
$disk_quota = int($disk_quota * 1000); |
|
my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; |
|
my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,"$londocroot/priv/$udom/$uname"); |
|
if (($current_disk_usage + $filesize) > $disk_quota){ |
|
$r->print('<span class="LC_warning">'. |
|
&mt('Unable to upload [_1]. (size = [_2] kilobytes). Disk quota will be exceeded.','<span class="LC_filename">'.$env{'form.upfile.filename'}.'</span>',$filesize).'</span>'. |
|
'<br />'.&mt('Disk quota is [_1] kilobytes. Your current disk usage is [_2] kilobytes.',$disk_quota,$current_disk_usage). |
|
'</p>'. |
|
&earlyout($fn,$uname,$udom)); |
|
return; |
|
} |
|
|
# Split part that I can change from the part that I cannot change |
# Split part that I can change from the part that I cannot change |
my ($fn1,$fn2)=($fn=~/^(\/priv\/[^\/]+\/[^\/]+\/)(.*)$/); |
my ($fn1,$fn2)=($fn=~/^(\/priv\/[^\/]+\/[^\/]+\/)(.*)$/); |
# Display additional options for upload |
# Display additional options for upload |
Line 457 sub phasefour {
|
Line 484 sub phasefour {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub earlyout { |
|
my ($fn,$uname,$udom) = @_; |
|
if ($fn =~ m{^(/priv/$udom/$uname(?:.*)/)[^/]*}) { |
|
return &Apache::lonhtmlcommon::actionbox( |
|
['<a href="'.$1.'">'.&mt('Return to Directory').'</a>']); |
|
} |
|
return; |
|
} |
|
|
# ---------------------------------------------------------------- Main Handler |
# ---------------------------------------------------------------- Main Handler |
sub handler { |
sub handler { |
|
|
Line 544 ENDJS
|
Line 580 ENDJS
|
my ($output,$returnflag) = &phasetwo($r,$fn); |
my ($output,$returnflag) = &phasetwo($r,$fn); |
$r->print($output); |
$r->print($output); |
} else { |
} else { |
&phaseone($r,$fn); |
&phaseone($r,$fn,undef,$uname,$udom); |
} |
} |
|
|
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |