--- loncom/interface/portfolio.pm 2004/12/06 18:13:10 1.63
+++ loncom/interface/portfolio.pm 2005/01/18 02:18:29 1.71
@@ -83,12 +83,7 @@ sub display_directory {
my ($r,$current_path,$is_empty,$dir_list)=@_;
my $iconpath= $r->dir_config('lonIconsURL') . "/";
my $display_out;
- my %locked_files=&Apache::lonnet::dump('file_permissions',
- $ENV{'user.domain'},$ENV{'user.name'});
- my $locked_file;
- foreach my $key (keys %locked_files) {
- $locked_file .= $locked_files{$key}.':';
- }
+ my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash ($ENV{'user.domain'},$ENV{'user.name'});
if ($is_empty && ($current_path ne '/')) {
$display_out = '
');
+ $r->print('
+
+
+
+ ');
}
sub display_file_select {
my ($r,$current_path,$is_empty,$dir_list)=@_;
my $iconpath= $r->dir_config('lonIconsURL') . "/";
my $display_out;
my $checked_files = &Apache::lonnet::files_in_path($ENV{'user.name'}, $ENV{'form.currentpath'});
- foreach my $key (keys %$checked_files) {
- &Apache::lonnet::logthis("a key is $key $$checked_files{$key} is the value");
- }
if ($is_empty && ($current_path ne '/')) {
$display_out = '
');
+ &close_form($r);
+ } else {
+ $r->print("No file was checked to delete. ");
+ $r->print(&done());
+ }
}
}
sub delete_confirmed {
my ($r)=@_;
- my $result=&Apache::lonnet::removeuserfile($ENV{'user.name'},
+ my @files=&Apache::loncommon::get_env_multiple('form.selectfile');
+ my $result;
+ foreach my $delete_file (@files) {
+ $result=&Apache::lonnet::removeuserfile($ENV{'user.name'},
$ENV{'user.domain'},'portfolio'.
$ENV{'form.currentpath'}.
- $ENV{'form.selectfile'});
- if ($result ne 'ok') {
+ $delete_file);
+ if ($result ne 'ok') {
$r->print(' An error occured ('.$result.
- ') while trying to delete '.&display_file().' ');
+ ') while trying to delete '.&display_file(undef, $delete_file).' ');
+ }
}
$r->print(&done());
}
@@ -321,7 +519,7 @@ sub delete_dir_confirmed {
sub rename {
my ($r)=@_;
- my $file_name = $ENV{'form.currentpath'}.$ENV{'form.selectfile'};
+ my $file_name = $ENV{'form.currentpath'}.$ENV{'form.rename'};
if (&Apache::lonnet::is_locked($file_name,$ENV{'user.domain'},$ENV{'user.name'}) eq 'true') {
$r->print ("The file is locked and cannot be renamed. ");
$r->print(&done());
@@ -352,6 +550,9 @@ sub rename_confirmed {
') while trying to rename '.&display_file().' to '.
&display_file(undef,$filenewname).' ');
}
+ if ($filenewname ne $ENV{'form.filenewname'}) {
+ $r->print("The new file name was changed from: ".$ENV{'form.filenewname'}." to $filenewname ");
+ }
$r->print(&done());
}
sub select_files {
@@ -359,7 +560,7 @@ sub select_files {
if ($ENV{'form.continue'} eq 'true') {
# here we update the selections for the currentpath
# eventually, have to handle removing those not checked, but . . .
- my @items=&Apache::loncommon::get_env_multiple('form.selectedfile');
+ my @items=&Apache::loncommon::get_env_multiple('form.selectfile');
&Apache::lonnet::save_selected_files($ENV{'user.name'}, $ENV{'form.currentpath'}, @items);
} else {
if ($ENV{'form.currentpath'} eq '/') {
@@ -421,7 +622,7 @@ sub upload {
}
}
my $current_disk_usage = &Apache::lonnet::diskusage($ENV{'user.domain'}, $ENV{'user.name'},$portfolio_root);
- if (($current_disk_usage + $filesize) > $disk_quota){
+ if ((($current_disk_usage/1000) + $filesize) > $disk_quota){
$r->print('Unable to upload '.$fname.' (size = '.$filesize.' kilobytes. Disk quota will be exceeded.'.
' Disk quota is '.$disk_quota.' kilobytes. Your current disk usage is '.$current_disk_usage.' kilobytes.');
}
@@ -473,6 +674,9 @@ sub createdir {
') while trying to create a new directory '.&display_file().' ');
}
}
+ if ($newdir ne $ENV{'form.newdir'}) {
+ $r->print("The new directory name was changed from: ".$ENV{'form.newdir'}." to $newdir ");
+ }
$r->print(&done());
}
@@ -492,13 +696,22 @@ sub handler {
&Apache::loncommon::bodytag('Portfolio Manager'));
$r->rflush();
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['selectfile','currentpath',
- 'currentfile','action','fieldname','mode']);
+ ['selectfile','currentpath','meta',
+ 'currentfile','action','fieldname','mode','rename']);
if (($ENV{'form.storeupl'} eq 'Upload') & (!$ENV{'form.uploaddoc.filename'})){
$r->print(' No file was selected to upload.'.
'To upload a file, click Browse...'.
', select a file, then click Upload,');
}
+ if ($ENV{'form.meta'}) {
+ &open_form($r);
+ $r->print(&edit_meta_data($r, $ENV{'form.currentpath'}.$ENV{'form.selectfile'}));
+ $r->print('Edit the meta data ');
+ &close_form($r);
+ }
+ if ($ENV{'form.store'}) {
+ }
+
if ($ENV{'form.uploaddoc.filename'}) {
&upload($r);
} elsif ($ENV{'form.action'} eq 'delete' && $ENV{'form.confirmed'}) {
@@ -511,7 +724,9 @@ sub handler {
&delete_dir($r);
} elsif ($ENV{'form.action'} eq 'rename' && $ENV{'form.confirmed'}) {
&rename_confirmed($r);
- } elsif ($ENV{'form.action'} eq 'rename') {
+ } elsif ($ENV{'form.rename'}) {
+ $ENV{'form.selectfile'} = $ENV{'form.rename'};
+ $ENV{'form.action'} = 'rename';
&rename($r);
} elsif ($ENV{'form.createdir'}) {
&createdir($r);
500 Internal Server Error
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete
your request.
Please contact the server administrator at
root@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.
More information about this error may be available
in the server error log.