--- loncom/interface/portfolio.pm 2012/06/08 12:25:59 1.235 +++ loncom/interface/portfolio.pm 2013/04/24 02:23:51 1.242 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.235 2012/06/08 12:25:59 raeburn Exp $ +# $Id: portfolio.pm,v 1.242 2013/04/24 02:23:51 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -63,7 +63,7 @@ sub group_form_data { return $output; } -# receives a file name and path stub from username/userfiles/portfolio/ +# receives a filename and path stub from username/userfiles/portfolio/ # returns an anchor tag consisting encoding filename and currentpath sub make_anchor { my ($url, $anchor_fields, $inner_text) = @_; @@ -639,9 +639,9 @@ sub display_file { } sub done { - my ($message,$url)=@_; - unless (defined $message) { - $message='Done'; + my ($linktext,$url)=@_; + unless (defined $linktext) { + $linktext='Return to directory'; } my %anchor_fields = ( 'showversions' => $env{'form.showversions'}, @@ -650,7 +650,8 @@ sub done { 'symb' => $env{'form.symb'}, 'mode' => $env{'form.mode'} ); - my $result = '
' + .&mt('The file is locked and cannot be deleted.') + .'
' + .&done(undef,$url) + ); } else { if (scalar(@files)) { &open_form($r,$url); $r->print(''.&mt('Delete [_1]?',&display_file(undef,\@files)).'
'); &close_form($r,$url); } else { - $r->print("No file was checked to delete.'.&mt('No file was checked to delete.').'
'); $r->print(&done(undef,$url)); } } @@ -684,18 +689,21 @@ sub delete_confirmed { my $port_path = &get_port_path(); my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom, $uname); + my @msg; foreach my $delete_file (@files) { - $result=&Apache::lonnet::removeuserfile($uname,$udom,$port_path. - $env{'form.currentpath'}. - $delete_file); + $result = + &Apache::lonnet::removeuserfile( + $uname,$udom,$port_path. + $env{'form.currentpath'}. + $delete_file); if ($result ne 'ok') { - $r->print('' - .&mt('An error occurred ([_1]) while trying to delete [_2].' - ,$result,&display_file(undef, $delete_file)) - .'' + .&mt('The file is locked and cannot be renamed.') + .'
' + ); $r->print(&done(undef,$url)); } else { &open_form($r,$url); @@ -787,13 +807,32 @@ sub rename_confirmed { my $filenewname=&Apache::lonnet::clean_filename($env{'form.filenewname'}); my ($uname,$udom) = &get_name_dom($group); my $port_path = &get_port_path(); + + # Display warning in case of filename cleaning has changed the filename + if ($filenewname ne $env{'form.filenewname'}) { + $r->print( + ''
+ .&mt('Invalid characters')
+ .'
'
+ .&mt('The new filename was changed from [_1] to [_2].'
+ ,''.&display_file('',$env{'form.filenewname'}).''
+ ,''.&display_file('',$filenewname).'')
+ .'
'.&mt('Completed upload of the file.').'
'.
- &mt('No embedded items identified.').'
'.&mt('No embedded items identified.').'
'); } } } + $r->print( + &Apache::loncommon::confirmwrapper( + &Apache::lonhtmlcommon::confirm_success( + &mt('File successfully uploaded')))); $r->print(&done(undef,$url)); } return; @@ -2119,7 +2181,10 @@ sub print_dependency_form { $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.").'
'. + $r->print(''.&mt('Completed upload of the file.').' '. + &mt('This file contained references to other files.').' '. + &mt('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)); @@ -2151,7 +2216,7 @@ sub overwrite { my $msg = &mt('Invalid filename: [_1]; the name of the uploaded file did not contain any letters, '. 'so after eliminating special characters there was nothing left.', ''.$env{'form.filename'}.''); - $r->print($msg.&done('Back',$url)); + $r->print($msg.&done(undef,$url)); return; } $env{'form.'.$formname.'.filename'} = $fname; @@ -2162,8 +2227,8 @@ sub overwrite { \%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('An error occurred ([_1]) while trying to overwrite [_2].' + ,$result,&display_file(undef,$fname)).'
'); $r->print(&after_overwrite(&mt('Back'),$url)); } else { if ($mode eq 'parse') { @@ -2221,7 +2286,7 @@ sub lock_info { $filetext = ''.$env{'form.lockinfo'}. ' (group: '.$group.')'; } else { - $filetext = ''.$file_name.''; + $filetext = ''.$file_name.''; } my $title =''.&Apache::lonnet::gettitle($$array_item[0]). @@ -2244,20 +2309,36 @@ sub lock_info { } } } - $r->print(&done(&mt('Back'),$url)); + $r->print(&done(undef,$url)); return 'ok'; } sub createdir { my ($r,$url,$group)=@_; my $newdir=&Apache::lonnet::clean_filename($env{'form.newdir'}); + # Display warning in case of directory name cleaning has changed the directory name + if ($newdir ne $env{'form.newdir'}) { + $r->print( + ''
+ .&mt('Invalid characters')
+ .'
'
+ .&mt('The new directory name was changed from [_1] to [_2].'
+ ,''.$env{'form.newdir'}.''
+ ,''.$newdir.'')
+ .'
'
+ .&mt('No file was selected to upload.')
+ .'<
'
+ .&mt('To upload a file, click [_1]Browse...[_2] and select a file, then click [_1]Upload[_2].'
+ ,'','')
+ .'