version 1.64, 2013/07/03 05:03:19
|
version 1.68, 2017/11/12 23:01:00
|
Line 130 use Apache::lonnet;
|
Line 130 use Apache::lonnet;
|
use HTML::Entities(); |
use HTML::Entities(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnet; |
use Apache::lonnet; |
use LONCAPA(); |
use LONCAPA qw(:DEFAULT :match); |
|
|
my $DEBUG=0; |
my $DEBUG=0; |
|
|
Line 150 sub upfile_store {
|
Line 150 sub upfile_store {
|
|
|
chomp($env{'form.upfile'}); |
chomp($env{'form.upfile'}); |
|
|
my $datatoken=$env{'user.name'}.'_'.$env{'user.domain'}. |
my $datatoken; |
'_upload_'.$fname.'_'.time.'_'.$$; |
if (($env{'user.name'} =~ /^$match_username$/) && ($env{'user.domain'} =~ /^$match_domain$/)) { |
|
$datatoken=$env{'user.name'}.'_'.$env{'user.domain'}. |
|
'_upload_'.$fname.'_'.time.'_'.$$; |
|
} |
|
return if ($datatoken eq ''); |
{ |
{ |
my $fh=Apache::File->new('>'.$r->dir_config('lonDaemons'). |
my $fh=Apache::File->new('>'.$r->dir_config('lonDaemons'). |
'/tmp/'.$datatoken.'.tmp'); |
'/tmp/'.$datatoken.'.tmp'); |
Line 201 sub phaseone {
|
Line 205 sub phaseone {
|
return; |
return; |
} |
} |
$filesize = int($filesize/1000); #expressed in kb |
$filesize = int($filesize/1000); #expressed in kb |
my $authorspace = $Apache::lonnet::perlvar{'lonDocRoot'}."/priv/$udom/$uname"; |
my $output = &Apache::loncommon::excess_filesize_warning($uname,$udom,'author', |
my $output = &Apache::loncommon::excess_filesize_authorspace($uname,$udom,$authorspace, |
$env{'form.upfile.filename'},$filesize,'upload'); |
$env{'form.upfile.filename'},$filesize,'upload'); |
|
if ($output) { |
if ($output) { |
$r->print($output.&earlyout($fn,$uname,$udom)); |
$r->print($output.&earlyout($fn,$uname,$udom)); |
return; |
return; |
Line 280 sub phasetwo {
|
Line 283 sub phasetwo {
|
$base = &HTML::Entities::encode($base,'<>&"'); |
$base = &HTML::Entities::encode($base,'<>&"'); |
my $url = $path."/".$base; |
my $url = $path."/".$base; |
&Debug($r, "URL is now ".$url); |
&Debug($r, "URL is now ".$url); |
my $datatoken=$env{'form.datatoken'}; |
my $datatoken; |
|
if ($env{'form.datatoken'} =~ /^$match_username\_$match_domain\_upload_\w*_\d+_\d+$/) { |
|
$datatoken = $env{'form.datatoken'}; |
|
} |
if (($fn) && ($datatoken)) { |
if (($fn) && ($datatoken)) { |
if ($env{'form.cancel'}) { |
if ($env{'form.cancel'}) { |
my $source=$r->dir_config('lonDaemons').'/tmp/'.$datatoken.'.tmp'; |
my $source=$r->dir_config('lonDaemons').'/tmp/'.$datatoken.'.tmp'; |
Line 394 sub check_extension {
|
Line 400 sub check_extension {
|
if ($pathchg) { |
if ($pathchg) { |
if ($mode eq 'testbank') { |
if ($mode eq 'testbank') { |
$returnflag = 'embedded'; |
$returnflag = 'embedded'; |
$result .= '<p>'.&mt('Or [_1]continue[_2] the testbank import without modifying the references(s).','<a href="javascript:document.testbankForm.submit();">','</a>').'</p>'; |
$result .= '<p>'.&mt('Or [_1]continue[_2] the testbank import without modifying the reference(s).','<a href="javascript:document.testbankForm.submit();">','</a>').'</p>'; |
} |
} |
} |
} |
} |
} |
Line 428 sub phasethree {
|
Line 434 sub phasethree {
|
my $dir_root = $r->dir_config('lonDocRoot').$url_root; |
my $dir_root = $r->dir_config('lonDocRoot').$url_root; |
my $path = &File::Basename::dirname($fn); |
my $path = &File::Basename::dirname($fn); |
$path =~ s{^\Q$url_root\E}{}; |
$path =~ s{^\Q$url_root\E}{}; |
|
my $dirpath = $url_root.$path.'/'; |
|
$dirpath=~s{/+}{/}g; |
my $filename = &HTML::Entities::encode($env{'form.filename'},'<>&"'); |
my $filename = &HTML::Entities::encode($env{'form.filename'},'<>&"'); |
my $state = &embedded_form_elems('modify_orightml',$filename,$mode). |
my $state = &embedded_form_elems('modify_orightml',$filename,$mode). |
'<input type="hidden" name="phase" value="four" />'; |
'<input type="hidden" name="phase" value="four" />'; |
Line 438 sub phasethree {
|
Line 446 sub phasethree {
|
if ($mode ne 'imsimport' && $mode ne 'testbank') { |
if ($mode ne 'imsimport' && $mode ne 'testbank') { |
$result .= '<br /><h3><a href="'.$fn.'">'. |
$result .= '<br /><h3><a href="'.$fn.'">'. |
&mt('View main file').'</a></h3>'. |
&mt('View main file').'</a></h3>'. |
'<h3><a href="'.$url_root.$path.'">'. |
'<h3><a href="'.$dirpath.'">'. |
&mt('Back to Directory').'</a></h3><br />'; |
&mt('Back to Directory').'</a></h3><br />'; |
} |
} |
return ($result,$returnflag); |
return ($result,$returnflag); |
Line 467 sub phasefour {
|
Line 475 sub phasefour {
|
my $dir_root = $r->dir_config('lonDocRoot').$url_root; |
my $dir_root = $r->dir_config('lonDocRoot').$url_root; |
my $path = &File::Basename::dirname($fn); |
my $path = &File::Basename::dirname($fn); |
$path =~ s{^\Q$url_root\E}{}; |
$path =~ s{^\Q$url_root\E}{}; |
|
my $dirpath = $url_root.$path.'/'; |
|
$dirpath=~s{/+}{/}g; |
my $outcome = |
my $outcome = |
&Apache::loncommon::modify_html_refs($mode,$path,$uname,$udom,$dir_root); |
&Apache::loncommon::modify_html_refs($mode,$path,$uname,$udom,$dir_root); |
$result .= $outcome; |
$result .= $outcome; |
if ($mode ne 'imsimport' && $mode ne 'testbank') { |
if ($mode ne 'imsimport' && $mode ne 'testbank') { |
$result .= '<br /><h3><a href="'.$fn.'">'. |
$result .= '<br /><h3><a href="'.$fn.'">'. |
&mt('View main file').'</a></h3>'. |
&mt('View main file').'</a></h3>'. |
'<h3><a href="'.$url_root.$path.'">'. |
'<h3><a href="'.$dirpath.'">'. |
&mt('Back to Directory').'</a></h3><br />'; |
&mt('Back to Directory').'</a></h3><br />'; |
} |
} |
return $result; |
return $result; |