--- loncom/interface/portfolio.pm 2008/01/21 11:36:07 1.187 +++ loncom/interface/portfolio.pm 2008/04/17 14:46:18 1.192 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.187 2008/01/21 11:36:07 bisitz Exp $ +# $Id: portfolio.pm,v 1.192 2008/04/17 14:46:18 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -183,7 +183,7 @@ sub display_directory_line { $r->print('
'.&mt('Delete').' '.&display_file(undef,\@files).'?
'); + $r->print(''.&mt('Delete [_1]?',&display_file(undef,\@files)).'
'); &close_form($r,$url); } else { $r->print("No file was checked to delete.'.&mt('Delete').' '.&display_file().'?
'); + $r->print(''.&mt('Delete [_1]?',&display_file()).'
'); &close_form($r,$url); } sub delete_dir_confirmed { - my ($r,$url)=@_; + my ($r,$url,$group)=@_; my $directory_name = $env{'form.currentpath'}; $directory_name =~ s|/$||; # remove any trailing slash - my ($uname,$udom) = &get_name_dom(); + my ($uname,$udom) = &get_name_dom($group); my $namespace = &get_namespace(); my $port_path = &get_port_path(); my $result=&Apache::lonnet::removeuserfile($uname,$udom,$port_path. $directory_name); if ($result ne 'ok') { - $r->print(' An error occurred (dir) ('.$result. - ') while trying to delete '.$directory_name.''.&mt('Rename').' '.&display_file().' to - ?
'); + $r->print(''.&mt('Rename [_1] to [_2]?', &display_file() + , '').'
'); &close_form($r,$url); } } @@ -659,7 +661,7 @@ sub rename { sub rename_confirmed { my ($r,$url,$group)=@_; my $filenewname=&Apache::lonnet::clean_filename($env{'form.filenewname'}); - my ($uname,$udom) = &get_name_dom(); + my ($uname,$udom) = &get_name_dom($group); my $port_path = &get_port_path(); if ($filenewname eq '') { $r->print(''. @@ -677,9 +679,9 @@ sub rename_confirmed { $chg_access = &access_for_renamed($filenewname,$group,$udom,$uname); } else { $r->print(''. - &mt('An error occurred ([_1]) while trying to rename [_2]' - .' to [_3]',$result,&display_file(), - &display_file('',$filenewname)).'Or '.&done('Return to directory listing',$url).'
'); + $r->print('Or '.&done('Return to directory',$url).'
'); } else { $r->print(&done(undef,$url)); } @@ -1880,8 +1882,10 @@ sub upload_embedded { &Apache::lonnet::userfileupload('embedded_item_'.$i,'', $port_path.$path); if ($result !~ m|^/uploaded/|) { - $r->print(''.'An error occurred ('.$result. - ') while trying to upload '.$orig_uploaded_filename.' for embedded element '.$env{'form.embedded_orig_'.$i}.' Uploaded ".
@@ -1893,7 +1897,7 @@ sub upload_embedded {
sub lock_info {
my ($r,$url,$group) = @_;
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom,
$uname);
my $file_name = $env{'form.lockinfo'};
@@ -1926,8 +1930,7 @@ sub lock_info {
my %course_description =
&Apache::lonnet::coursedescription($$array_item[1]);
if ( $course_description{'description'} ne '') {
- $r->print(&mt('In the course: [_1]
',
- $course_description{'description'}));
+ $r->print(&mt('In the course:').' '.$course_description{'description'}.'
');
}
}
}
@@ -1936,7 +1939,7 @@ sub lock_info {
}
sub createdir {
- my ($r,$url)=@_;
+ my ($r,$url,$group)=@_;
my $newdir=&Apache::lonnet::clean_filename($env{'form.newdir'});
if ($newdir eq '') {
$r->print(''.
@@ -1946,7 +1949,7 @@ sub createdir {
return;
}
my $portfolio_root = &get_portfolio_root();
- my @dir_list=&get_dir_list($portfolio_root);
+ my @dir_list=&get_dir_list($portfolio_root,undef,$group);
my $found_file = 0;
foreach my $line (@dir_list) {
my ($filename)=split(/\&/,$line,2);
@@ -1955,20 +1958,24 @@ sub createdir {
}
}
if ($found_file){
- $r->print(''.&mt('Unable to create a directory named').' '.$newdir.
- '. '.&mt('A file or directory by that name already exists.').'
');
+ $r->print(''
+ .&mt('Unable to create a directory named [_1].',''.$newdir.'')
+ .' '.&mt('A file or directory by that name already exists.').'
');
} else {
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
my $port_path = &get_port_path();
my $result=&Apache::lonnet::mkdiruserfile($uname,$udom,
$port_path.$env{'form.currentpath'}.$newdir);
if ($result ne 'ok') {
- $r->print(''.'An error occurred ('.$result.
- ') while trying to create a new directory '.&display_file().'
');
+ $r->print(''
+ .&mt('An error occurred ([_1]) while trying to create a new directory [_2].'
+ ,$result,&display_file())
+ .'
');
}
}
if ($newdir ne $env{'form.newdir'}) {
- $r->print(&mt("The new directory name was changed from:")."
".$env{'form.newdir'}." ".&mt('to')." $newdir ");
+ $r->print(&mt('The new directory name was changed from [_1] to [_2].'
+ ,''.$env{'form.newdir'}.'',''.$newdir.''));
}
$r->print(&done(undef,$url));
}
@@ -1976,7 +1983,7 @@ sub createdir {
sub get_portfolio_root {
my ($udom,$uname,$group) = @_;
if (!(defined($udom)) || !(defined($uname))) {
- ($uname,$udom) = &get_name_dom();
+ ($uname,$udom) = &get_name_dom($group);
}
my $path = '/userfiles/portfolio';
if (!defined($group)) {
@@ -1987,7 +1994,7 @@ sub get_portfolio_root {
if (defined($group)) {
$path = '/userfiles/groups/'.$group.'/portfolio';
}
- return (&Apache::loncommon::propath($udom,$uname).$path);
+ return $path;
}
sub get_group_quota {
@@ -2002,21 +2009,23 @@ sub get_group_quota {
$group_quota = $group_info{'quota'}; #expressed in Mb
if ($group_quota) {
$group_quota = 1000 * $group_quota; #expressed in k
- }
+ }
}
return $group_quota;
-}
+}
sub get_dir_list {
- my ($portfolio_root,$path) = @_;
+ my ($portfolio_root,$path,$group) = @_;
$path ||= $env{'form.currentpath'};
- my ($uname,$udom) = &get_name_dom();
- return &Apache::lonnet::dirlist($path,$udom,$uname,$portfolio_root);
+ my ($uname,$udom) = &get_name_dom($group);
+ my $getpropath = 1;
+ return &Apache::lonnet::dirlist($portfolio_root.$path,$udom,$uname,$getpropath);
}
sub get_name_dom {
+ my ($group) = @_;
my ($uname,$udom);
- if (defined($env{'form.group'})) {
+ if (defined($group)) {
$udom = $env{'course.'.$env{'request.course.id'}.'.domain'};
$uname = $env{'course.'.$env{'request.course.id'}.'.num'};
} else {
@@ -2037,7 +2046,7 @@ sub prepend_group {
sub get_namespace {
my $namespace = 'portfolio';
if (defined($env{'form.group'})) {
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($env{'form.group'});
$namespace .= '_'.$udom.'_'.$uname.'_'.$env{'form.group'};
}
return $namespace;
@@ -2069,7 +2078,7 @@ sub missing_priv {
$rtnlink .= '?';
}
$rtnlink .= 'currentpath='.$escpath;
- $r->print(&mt('Action disallowed
'));
+ $r->print(''.&mt('Action disallowed').'
');
$r->print(&mt('You do not have sufficient privileges to [_1] ',
$longtext->{$priv}));
if (defined($env{'form.group'})) {
@@ -2078,7 +2087,7 @@ sub missing_priv {
} else {
$r->print(&mt('in this portfolio.'));
}
- $rtnlink .= '">'.&mt('Return to directory listing page').'';
+ $rtnlink .= '">'.&mt('Return to directory').'';
$r->print('
'.$rtnlink);
$r->print(&Apache::loncommon::end_page());
return;
@@ -2151,8 +2160,8 @@ sub handler {
&Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));
$env{'form.group'} =~ s/\W//g;
$group = $env{'form.group'};
- if ($group) {
- ($uname,$udom) = &get_name_dom();
+ if ($group ne '') {
+ ($uname,$udom) = &get_name_dom($group);
my %curr_groups = &Apache::longroup::coursegroups($udom,$uname,
$group);
if (%curr_groups) {
@@ -2170,7 +2179,7 @@ sub handler {
$r->print(&mt('Not a valid group for this course'));
$earlyout = 1;
}
- $title = &mt('Group files').' for '.$group;
+ $title = &mt('Group files for [_1]', $group);
} else {
$r->print(&mt('Invalid group'));
$earlyout = 1;
@@ -2229,8 +2238,8 @@ sub handler {
}
if (($env{'form.storeupl'}) & (!$env{'form.uploaddoc.filename'})){
$r->print('');
- $r->print(&mt('No file was selected to upload. '));
- $r->print(&mt('To upload a file, click Browse... select a file, then click Upload.'));
+ $r->print(&mt('No file was selected to upload.').' ');
+ $r->print(&mt('To upload a file, click Browse... and select a file, then click Upload.'));
$r->print('');
}
if ($env{'form.meta'}) {
@@ -2261,13 +2270,13 @@ sub handler {
}
} elsif ($env{'form.action'} eq 'delete') {
if ($can_delete) {
- &delete($r,$url);
+ &delete($r,$url,$group);
} else {
&missing_priv($r,$url,'delete');
}
} elsif ($env{'form.action'} eq 'deletedir' && $env{'form.confirmed'}) {
if ($can_delete) {
- &delete_dir_confirmed($r,$url);
+ &delete_dir_confirmed($r,$url,$group);
} else {
&missing_priv($r,$url,'delete');
}
@@ -2287,7 +2296,7 @@ sub handler {
$env{'form.selectfile'} = $env{'form.rename'};
$env{'form.action'} = 'rename';
if ($can_modify) {
- &rename($r,$url);
+ &rename($r,$url,$group);
} else {
&missing_priv($r,$url,'rename');
}
@@ -2312,7 +2321,7 @@ sub handler {
}
} elsif ($env{'form.createdir'}) {
if ($can_upload) {
- &createdir($r,$url);
+ &createdir($r,$url,$group);
} else {
&missing_priv($r,$url,'upload');
}
@@ -2327,7 +2336,7 @@ sub handler {
&Apache::lonhtmlcommon::clear_breadcrumbs();
$r->print(&coursegrp_portfolio_header($udom,$uname,$grp_desc));
}
- my @dir_list=&get_dir_list($portfolio_root);
+ my @dir_list=&get_dir_list($portfolio_root,$current_path,$group);
if ($dir_list[0] eq 'no_such_dir'){
# two main reasons for this:
# 1) never been here, so directory structure not created
@@ -2343,8 +2352,7 @@ sub handler {
$current_path = '/'; # force it back to the root
}
# now grab the directory list again, for the first time
- @dir_list=&Apache::lonnet::dirlist($current_path,
- $udom,$uname,$portfolio_root);
+ @dir_list=&get_dir_list($portfolio_root,$current_path,$group);
}
# need to know if directory is empty so it can be removed if desired
my $is_empty=(@dir_list == 2);