--- loncom/interface/portfolio.pm 2010/11/11 23:58:05 1.230
+++ loncom/interface/portfolio.pm 2010/11/28 00:04:05 1.231
@@ -1,7 +1,7 @@
# The LearningOnline Network
# portfolio browser
#
-# $Id: portfolio.pm,v 1.230 2010/11/11 23:58:05 raeburn Exp $
+# $Id: portfolio.pm,v 1.231 2010/11/28 00:04:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1964,7 +1964,7 @@ sub upload {
return;
}
- my (%allfiles,%codebase,$mode);
+ my (%allfiles,%codebase,$mode,$mimetype);
if ($env{'form.'.$formname.'.filename'} =~ m/(\.htm|\.html|\.shtml)$/i) {
if ($env{'form.parserflag'}) {
$mode = 'parse';
@@ -1974,10 +1974,12 @@ sub upload {
if ($state eq 'existingfile') {
$context = $state;
}
+ my $subdir = $port_path.$env{'form.currentpath'};
+ $subdir =~ s{(/)$}{};
my ($result,$timestamp) =
- &Apache::lonnet::userfileupload($formname,$context,
- $port_path.$env{'form.currentpath'},
- $mode,\%allfiles,\%codebase);
+ &Apache::lonnet::userfileupload($formname,$context,$subdir,
+ $mode,\%allfiles,\%codebase,undef,undef,
+ undef,undef,undef,undef,\$mimetype);
if ($state eq 'existingfile') {
my $group_elem;
my $rootdir = $r->dir_config('lonDaemons').'/tmp/overwrites';
@@ -2063,14 +2065,20 @@ END
,$result,&display_file(undef,$fname)).'
');
$r->print(&done('Back',$url));
} else {
- if (%allfiles) {
- if (!&suppress_embed_prompt()) {
- &print_dependency_form($r,$url,\%allfiles,\%codebase);
+ if (!&suppress_embed_prompt()) {
+ if ($mimetype eq 'text/html') {
+ if (keys(%allfiles) > 0) {
+ &print_dependency_form($r,$url,\%allfiles,\%codebase,$result);
+ return;
+ } else {
+ $r->print('
'.&mt('Completed upload of the file.').'
'.
+ &mt('No embedded items identified.').'
'.&mt("Completed upload of the file. This file contained references to other files. You must upload the referenced files or else the uploaded file may not work properly.").'
'. - ''.&mt("Please select the locations from which the referenced files are to be uploaded.").'
'. - $embedded. - 'Or '.&done('Return to directory',$url).'
'); + if ($num || $pathchg) { + $r->print(''.&mt("Completed upload of the file. This file contained references to other files. You must upload the referenced files or else the uploaded file may not work properly.").'
'. + ''.&mt("Please select the locations from which the referenced files are to be uploaded.").'
'. + $embedded. + ''.&mt('or').'
'.&done('Return to directory',$url)); + } else { + $r->print(''.&mt("Completed upload of the file. This file contained references to other files.").'
'. + $embedded. + ''.&done('Return to directory',$url).'
'); + } } else { $r->print(&done(undef,$url)); } @@ -2118,7 +2129,8 @@ sub overwrite { my $formname = 'existingfile'; my $port_path = &get_port_path(); my $fname = &Apache::lonnet::clean_filename($env{'form.filename'}); - my (%allfiles,%codebase,$mode); + my (%allfiles,%codebase,$mode,$mimetype); + my $mode; unless (&suppress_embed_prompt()) { if ($env{'form.parserflag'}) { if ($fname =~ /\.s?html?$/i) { @@ -2134,24 +2146,29 @@ sub overwrite { return; } $env{'form.'.$formname.'.filename'} = $fname; + my $subdir = $port_path.$env{'form.currentpath'}; + $subdir =~ s{(/)$}{}; my $result= - &Apache::lonnet::userfileupload($formname,'overwrite', - $port_path.$env{'form.currentpath'}, - $mode,\%allfiles,\%codebase); + &Apache::lonnet::userfileupload($formname,'overwrite',$subdir,$mode, + \%allfiles,\%codebase,undef,undef,undef, + undef,undef,undef,\$mimetype); if ($result !~ m|^/uploaded/|) { $r->print(''.&mt('An error occurred ([_1]) while trying to overwrite [_2].' ,$result,&display_file(undef,$fname)).''.&mt('Overwriting completed.').'
'.
+ &mt('No embedded items identified.').'