--- loncom/interface/portfolio.pm 2010/11/11 23:58:05 1.230
+++ loncom/interface/portfolio.pm 2015/01/05 15:56:24 1.232.2.1
@@ -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.232.2.1 2015/01/05 15:56:24 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -883,7 +883,7 @@ sub display_access {
}
$info .= " ".&Apache::lonnet::absolute_url($ENV{'SERVER_NAME'})."/adm/$udom/$uname/aboutme ";
if ($group ne '') {
- $info .= &mt("Users with privileges to edit course contents may add a course information page to a course using the 'Course Info' button in DOCS").' ';
+ $info .= &mt("Users with privileges to edit course contents may add a group portfolio page to a course using the Course Editor").' ';
}
} else {
$header = '
'.&mt('Conditional access controls for file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).'
'.
@@ -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.').'
');
+ }
}
- } else {
- $r->print(&done(undef,$url));
- }
+ }
+ $r->print(&done(undef,$url));
}
+ return;
}
sub hidden_elems {
@@ -2088,25 +2096,28 @@ END
}
sub print_dependency_form {
- my ($r,$url,$allfiles,$codebase) = @_;
- my $state = <
-
-
-
-STATE
- if ($env{'form.group'} ne '') {
- $state .= ''."\n";
- }
- my $embedded = &Apache::loncommon::ask_for_embedded_content($url,$state,$allfiles,$codebase,
+ my ($r,$url,$allfiles,$codebase,$result) = @_;
+ my $container = &HTML::Entities::encode($result,'<>"&');
+ my $state = &embedded_form_elems($container);
+ my ($embedded,$num,$pathchg) = &Apache::loncommon::ask_for_embedded_content($url,$state,$allfiles,$codebase,
{'error_on_invalid_names' => 1,
'ignore_remote_references' => 1,});
if ($embedded) {
- $r->print('
'.&mt("Reference Warning").'
'.
- '
'.&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("Reference Warning").'
');
+ } else {
+ $r->print('
'.&mt("Reference Information").'
');
+ }
+ if ($num) {
+ $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,7 @@ 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);
unless (&suppress_embed_prompt()) {
if ($env{'form.parserflag'}) {
if ($fname =~ /\.s?html?$/i) {
@@ -2134,24 +2145,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)).' ');
$r->print(&after_overwrite(&mt('Back'),$url));
} else {
- if (%allfiles) {
- if (!&suppress_embed_prompt()) {
- &print_dependency_form($r,$url,\%allfiles,\%codebase);
- } else {
- $r->print(&after_overwrite(undef,$url));
+ if ($mode eq 'parse') {
+ if ($mimetype eq 'text/html') {
+ if (keys(%allfiles) > 0) {
+ &print_dependency_form($r,$url,\%allfiles,\%codebase,$result);
+ return;
+ } else {
+ $r->print('