');
+ $r->print(&Apache::loncommon::start_data_table_row());
$r->print($line); # contains first two cells of table
my $lock_info;
if ($version_flag) { # versioned can't be versioned, so TRUE when root file
$r->print('
');
$r->print('
'.$version_flag.'
');
} else { # this is a graded or handed back file
- my ($user,$domain) = &get_name_dom();
+ my ($user,$domain) = &get_name_dom($env{'form.group'});
my $permissions_hash = &Apache::lonnet::get_portfile_permissions($domain,$user);
if (defined($$permissions_hash{$fullpath})) {
foreach my $array_item (@{$$permissions_hash{$fullpath}}) {
@@ -212,15 +267,19 @@ sub display_directory_line {
$r->print('
'.$/);
+ $r->print(&Apache::loncommon::end_data_table_row().$/);
}
sub display_directory {
@@ -231,7 +290,7 @@ sub display_directory {
my $select_mode;
my $checked_files;
my $port_path = &get_port_path();
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
my $access_admin_text = &mt('View Status');
if ($can_setacl) {
$access_admin_text = &mt('View/Change Status');
@@ -252,7 +311,9 @@ sub display_directory {
$display_out = '';
@@ -262,20 +323,30 @@ sub display_directory {
}
if ($select_mode eq 'true') {
$r->print(''
@@ -532,19 +612,19 @@ sub done {
}
sub delete {
- my ($r,$url)=@_;
+ my ($r,$url,$group)=@_;
my @check;
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'};
$file_name = &prepend_group($file_name);
my @files=&Apache::loncommon::get_env_multiple('form.selectfile');
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') {
- $r->print("The file is locked and cannot be deleted. ");
+ $r->print(&mt('The file is locked and cannot be deleted.').' ');
$r->print(&done('Back',$url));
} else {
if (scalar(@files)) {
&open_form($r,$url);
- $r->print('
');
&close_form($r,$url);
} else {
$r->print("No file was checked to delete. ");
@@ -557,7 +637,7 @@ sub delete_confirmed {
my ($r,$url,$group)=@_;
my @files=&Apache::loncommon::get_env_multiple('form.selectfile');
my $result;
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
my $port_path = &get_port_path();
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom,
$uname);
@@ -566,10 +646,10 @@ sub delete_confirmed {
$env{'form.currentpath'}.
$delete_file);
if ($result ne 'ok') {
- $r->print(''.
- &mt('An error occured ([_1]) while trying to delete
- [_2].',$result,&display_file(undef, $delete_file)).
- '
');
+ $r->print(''
+ .&mt('An error occurred ([_1]) while trying to delete [_2].'
+ ,$result,&display_file(undef, $delete_file))
+ .'
');
} else {
$r->print(&mt('File: [_1] deleted.',
&display_file(undef,$delete_file)));
@@ -588,7 +668,7 @@ sub delete_confirmed {
&Apache::lonnet::modify_access_controls($file_name,\%changes,
$udom,$uname);
if ($outcome ne 'ok') {
- $r->print(' '.&mt("An error occured ([_1]) while ".
+ $r->print(' '.&mt("An error occurred ([_1]) while ".
"trying to delete access controls for the file.",$outcome).
'
');
} else {
@@ -596,7 +676,7 @@ sub delete_confirmed {
$r->print(' '.&mt('Access controls also deleted for the file.').'
');
} else {
$r->print(''.' '.
- &mt("An error occured ([_1]) while ".
+ &mt("An error occurred ([_1]) while ".
"trying to delete access controls for the file.",$deloutcome).
'
');
}
@@ -611,30 +691,29 @@ sub delete_confirmed {
sub delete_dir {
my ($r,$url)=@_;
&open_form($r,$url);
- $r->print('
'.&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 occured (dir) ('.$result.
- ') while trying to delete '.$directory_name.' ');
+ $r->print(''
+ .&mt('An error occurred (dir) ([_1]) while trying to delete [_2].'
+ ,$result,$directory_name)
+ .' ');
} else {
# now remove from recent
-# $r->print(' removing '.$directory_name.' print("The file is locked and cannot be renamed. ");
$r->print(&done(undef,$url));
} else {
&open_form($r,$url);
- $r->print('
'.&mt('Rename').' '.&display_file().' to
- ?
');
+ $r->print('
'.&mt('Rename [_1] to [_2]?', &display_file()
+ , '').'
');
&close_form($r,$url);
}
}
@@ -663,7 +742,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(''.
@@ -681,9 +760,9 @@ sub rename_confirmed {
$chg_access = &access_for_renamed($filenewname,$group,$udom,$uname);
} else {
$r->print(''.
- &mt('An error occured ([_1]) while trying to rename [_2]'
- .' to [_3]',$result,&display_file(),
- &display_file('',$filenewname)).' ');
+ &mt('An error occurred ([_1]) while trying to rename [_2] to [_3].'
+ ,$result,&display_file(),&display_file('',$filenewname))
+ .' ');
return;
}
if ($filenewname ne $env{'form.filenewname'}) {
@@ -718,13 +797,13 @@ sub access_for_renamed {
&Apache::lonnet::modify_access_controls($oldfile,\%change_old,
$udom,$uname);
if ($outcome ne 'ok') {
- $chg_text ='
'.&mt("An error occured ([_1]) while ".
+ $chg_text ='
'.&mt("An error occurred ([_1]) while ".
"trying to delete access control records for the old name.",$outcome).
' ';
} else {
if ($deloutcome ne 'ok') {
$chg_text = '
'.
- &mt("An error occured ([_1]) while ".
+ &mt("An error occurred ([_1]) while ".
"trying to delete access control records for the old name.",$deloutcome).
' ';
}
@@ -734,7 +813,7 @@ sub access_for_renamed {
$udom,$uname);
if ($outcome ne 'ok') {
$chg_text .= '
'.
- &mt("An error occured ([_1]) while ".
+ &mt("An error occurred ([_1]) while ".
"trying to update access control records for the new name.",$outcome).
' ';
}
@@ -747,7 +826,7 @@ sub access_for_renamed {
sub display_access {
my ($r,$url,$group,$can_setacl,$port_path,$action) = @_;
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
my $file_name = $env{'form.currentpath'}.$env{'form.access'};
$file_name = &prepend_group($file_name);
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom,
@@ -762,13 +841,13 @@ sub display_access {
$info .= '
'.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.');
$info .= '
'.&explain_conditionals();
$info .= '
'.
- &mt('A listing of files viewable without log-in is available at: ')."http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme/portfolio. ";
+ &mt('A listing of files viewable without log-in is available at: ')."".&Apache::lonnet::absolute_url($ENV{'SERVER_NAME'})."/adm/$udom/$uname/aboutme/portfolio. ";
if ($group eq '') {
$info .= &mt("For logged in users a 'Display file listing' link will also appear (when there are viewable files) on your personal information page:");
} else {
$info .= &mt("For logged in users a 'Display file listing' link will also appear (when there are viewable files) on the course information page:");
}
- $info .= " http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme ";
+ $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").' ';
}
@@ -779,14 +858,14 @@ sub display_access {
if ($can_setacl) {
&open_form($r,$url);
$r->print($header.$info);
- $r->print(' '.&Apache::loncommon::help_open_topic('Portfolio ShareFile SetAccess', 'Help on setting up share access'));
- $r->print(&Apache::loncommon::help_open_topic('Portfolio ShareFile ChangeSetting', 'Help on changing settings'));
- $r->print(&Apache::loncommon::help_open_topic('Portfolio ShareFile StopAccess', 'Help on removing share access'));
+ $r->print(' '.&Apache::loncommon::help_open_topic('Portfolio ShareFile SetAccess', &mt('Help on setting up share access')));
+ $r->print(&Apache::loncommon::help_open_topic('Portfolio ShareFile ChangeSetting', &mt('Help on changing settings')));
+ $r->print(&Apache::loncommon::help_open_topic('Portfolio ShareFile StopAccess', &mt('Help on removing share access')));
&access_setting_table($r,$url,$file_name,$access_controls{$file_name},
$action);
my $button_text = {
'continue' => &mt('Proceed'),
- 'cancel' => &mt('Back to directory listing'),
+ 'cancel' => &mt('Return to directory'),
};
&close_form($r,$url,$button_text);
} else {
@@ -814,7 +893,7 @@ sub view_access_settings {
$todisplay{$scope}{$key} = $$access_controls{$key};
}
if ($aclcount) {
- $r->print(&mt('
Current access controls defined for this file:
'));
+ $r->print('
'.&mt('Current access controls defined for this file:').'
');
}
$r->print('');
}
@@ -1530,13 +1609,13 @@ sub users_row {
sub additional_item {
my ($type) = @_;
- my $output = &mt('Add new [_1] condition(s)?',$type).' '.&mt('Number to add: ').'';
+ my $output = &mt('Add new [_1] condition(s)?',&mt($type)).' '.&mt('Number to add: ').'';
return $output;
}
sub actionbox {
my ($status,$num,$scope) = @_;
- my $output = ' '.
''.&mt('Update');
}
@@ -1566,7 +1645,7 @@ sub dateboxes {
undef,undef,1);
my $enddate = &Apache::lonhtmlcommon::date_setter('portform',
'enddate_'.$num,$end,undef,undef,undef,1,undef,
- undef,undef,1). ' '.
+ undef,undef,1). ' '.
''.&mt('No end date').
'';
@@ -1733,21 +1812,35 @@ ENDSMP
fileList = fileList + document.forms.checkselect.currentpath.value + document.forms.checkselect[i].value + "," ;
}
}
- opener.document.forms.lonhomework.$env{'form.fieldname'}.value=fileList;
+ var hwfield = opener.document.getElementsByName('$env{'form.fieldname'}');
+ hwfield[0].value = fileList;
self.close();
}
ENDSMP
$r->print($javascript);
- $r->print("
Select portfolio files
- Check as many as you wish in response to the problem. ");
+ $r->print("
".&mt('Select portfolio files')."
");
my @otherfiles=&Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});
if (@otherfiles) {
- $r->print("Files selected from other directories: ");
+ $r->print(&Apache::loncommon::start_data_table()
+ .&Apache::loncommon::start_data_table_header_row()
+ .'
'
+ .&mt('Check as many files as you wish in response to the problem:')
+ .'
'
+ );
}
@@ -1755,12 +1848,11 @@ sub check_for_upload {
my ($path,$fname,$group,$element) = @_;
my $disk_quota = &get_quota($group);
my $filesize = (length($env{'form.'.$element})) / 1000; #express in k (1024?)
-
my $portfolio_root = &get_portfolio_root();
my $port_path = &get_port_path();
- my ($uname,$udom) = &get_name_dom();
+ my ($uname,$udom) = &get_name_dom($group);
# Fixme --- Move the checking for existing file to LOND error return
- my @dir_list=&get_dir_list($portfolio_root,$path);
+ my @dir_list=&get_dir_list($portfolio_root,$path,$group);
my $found_file = 0;
my $locked_file = 0;
foreach my $line (@dir_list) {
@@ -1774,20 +1866,27 @@ sub check_for_upload {
}
}
}
- my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,$portfolio_root);
+ my $getpropath = 1;
+ my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,$portfolio_root,$getpropath);
if (($current_disk_usage + $filesize) > $disk_quota){
- my $msg = '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.';
+ my $msg = ''.
+ &mt('Unable to upload [_1]. (size = [_2] kilobytes). Disk quota will be exceeded.',''.$fname.'',$filesize).''.
+ ' '.&mt('Disk quota is [_1] kilobytes. Your current disk usage is [_2] kilobytes.',$disk_quota,$current_disk_usage);
return ('will_exceed_quota',$msg);
} elsif ($found_file) {
if ($locked_file) {
- my $msg = ''.'Unable to upload '.$fname.', a locked file by that name was found in '.$port_path.$path.''.
- ' You will be able to rename or delete existing '.$fname.' after a grade has been assigned.';
+ my $msg = '';
+ $msg .= &mt('Unable to upload [_1]. A locked file by that name was found in [_2].',''.$fname.'',''.$port_path.$env{'form.currentpath'}.'');
+ $msg .= ' ';
+ $msg .= &mt('You will be able to rename or delete existing [_1] after a grade has been assigned.',''.$fname.'');
return ('file_locked',$msg);
} else {
- my $msg = ''.'Unable to upload '.$fname.', a file by that name was found in '.$port_path.$path.''.
- ' To upload, rename or delete existing '.$fname.' in '.$port_path.$path;
+ my $msg = '';
+ $msg .= &mt('Unable to upload [_1]. A file by that name was found in [_2].',''.$fname.'',$port_path.$env{'form.currentpath'});
+ $msg .= '';
+ $msg .= ' ';
+ $msg .= &mt('To upload, rename or delete existing [_1] in [_2].',''.$fname.'', $port_path.$env{'form.currentpath'});
return ('file_exists',$msg);
}
}
@@ -1796,10 +1895,17 @@ sub check_for_upload {
sub upload {
my ($r,$url,$group)=@_;
my $fname=&Apache::lonnet::clean_filename($env{'form.uploaddoc.filename'});
-
- my ($state,$msg) = &check_for_upload($env{'form.currentpath'},
- $fname,$group,'uploaddoc');
-
+ my $disk_quota = &get_quota($group);
+ my $portfolio_root = &get_portfolio_root();
+ my $port_path = &get_port_path();
+ my ($uname,$udom) = &get_name_dom($group);
+ my $getpropath = 1;
+ my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,$portfolio_root,$getpropath);
+ my ($state,$msg) =
+ &Apache::loncommon::check_for_upload($env{'form.currentpath'},$fname,
+ $group,'uploaddoc',$portfolio_root,
+ $port_path,$disk_quota,
+ $current_disk_usage,$uname,$udom);
if ($state eq 'will_exceed_quota'
|| $state eq 'file_locked'
|| $state eq 'file_exists' ) {
@@ -1807,81 +1913,46 @@ sub upload {
return;
}
- my $port_path = &get_port_path();
my (%allfiles,%codebase,$mode);
if ($env{'form.uploaddoc.filename'} =~ m/(\.htm|\.html|\.shtml)$/i) {
- $mode = 'parse';
-
+ if ($env{'form.parserflag'}) {
+ $mode = 'parse';
+ }
}
my $result=
&Apache::lonnet::userfileupload('uploaddoc','',
$port_path.$env{'form.currentpath'},
$mode,\%allfiles,\%codebase);
if ($result !~ m|^/uploaded/|) {
- $r->print(''.'An errror occured ('.$result.
- ') while trying to upload '.&display_file().' ');
+ $r->print(''.&mt('An error occurred ([_1]) while trying to upload [_2].'
+ ,$result,&display_file()).' ');
$r->print(&done('Back',$url));
} else {
if (%allfiles) {
- my $state = <
STATE
- $r->print("
Completed upload of the file. This file contained references to other files. You can upload these now:
".&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("Please select the locations from which the referenced files are to be uploaded.")."
');
- }
- }
- $r->print(&done(undef,$url));
-}
-
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'};
@@ -1914,17 +1985,16 @@ 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'}.' ');
}
}
}
- $r->print(&done('Back',$url));
+ $r->print(&done(&mt('Back'),$url));
return 'ok';
}
sub createdir {
- my ($r,$url)=@_;
+ my ($r,$url,$group)=@_;
my $newdir=&Apache::lonnet::clean_filename($env{'form.newdir'});
if ($newdir eq '') {
$r->print(''.
@@ -1934,7 +2004,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);
@@ -1943,20 +2013,24 @@ sub createdir {
}
}
if ($found_file){
- $r->print(''.'Unable to create a directory named '.$newdir.
- ' 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 errror occured ('.$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("The new directory name was changed from: ".$env{'form.newdir'}." to $newdir ");
+ $r->print(&mt('The new directory name was changed from [_1] to [_2].'
+ ,''.$env{'form.newdir'}.'',''.$newdir.''));
}
$r->print(&done(undef,$url));
}
@@ -1964,7 +2038,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)) {
@@ -1975,7 +2049,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 {
@@ -1990,21 +2064,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 {
@@ -2025,7 +2101,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;
@@ -2057,7 +2133,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'})) {
@@ -2066,7 +2142,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;
@@ -2113,6 +2189,17 @@ sub get_quota {
return $disk_quota;
}
+sub suppress_embed_prompt {
+ my $suppress_prompt = 0;
+ if (($env{'request.role'} =~ /^st/) && ($env{'request.course.id'} ne '')) {
+ if ($env{'course.'.$env{'request.course.id'}.'.suppress_embed_prompt'} eq 'yes') {
+ $suppress_prompt = 1;
+ }
+ }
+ return $suppress_prompt;
+}
+
+
sub handler {
# this handles file management
my $r = shift;
@@ -2139,8 +2226,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) {
@@ -2151,16 +2238,16 @@ sub handler {
$env{'request.course.id'}.'/'.$group))) {
$portfolio_root = &get_portfolio_root();
} else {
- $r->print('You do not have the privileges required to access the shared files space for this group.');
+ $r->print(&mt('You do not have the privileges required to access the shared files space for this group.'));
$earlyout = 1;
}
} else {
- $r->print('Not a valid group for this course');
+ $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('Invalid group');
+ $r->print(&mt('Invalid group'));
$earlyout = 1;
}
if ($earlyout) { return OK; }
@@ -2198,14 +2285,28 @@ sub handler {
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
# Give the LON-CAPA page header
+ my $brcrum = [{href=>"/adm/portfolio",text=>"Portfolio Manager"}];
+
if ($env{"form.mode"} eq 'selectfile'){
$r->print(&Apache::loncommon::start_page($title,undef,
{'only_body' => 1}));
} elsif ($env{'form.action'} eq 'rolepicker') {
$r->print(&Apache::loncommon::start_page('New role-based condition',undef,
{'no_nav_bar' => 1, }));
- } else {
+ } elsif ($caller eq 'coursegrp_portfolio') {
$r->print(&Apache::loncommon::start_page($title));
+ } else {
+ $r->print(&Apache::loncommon::start_page($title,undef,
+ {'bread_crumbs' => $brcrum}));
+ if (!&Apache::lonnet::usertools_access($uname,$udom,'portfolio')) {
+ $r->print('
'.&mt('No user portfolio available') .'
'.
+ &mt('This is a result of one of the following:').'
'.
+ '
'.&mt('The administrator of this domain has disabled portfolio functionality for this specific user.').'
'.
+ '
'.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').'
'.
+ '
');
+ $r->print(&Apache::loncommon::end_page());
+ return OK;
+ }
}
$r->rflush();
my ($blocked,$blocktext) =
@@ -2216,16 +2317,14 @@ sub handler {
return OK;
}
if (($env{'form.storeupl'}) & (!$env{'form.uploaddoc.filename'})){
- $r->print(''.
- 'No file was selected to upload.'.
- 'To upload a file, click Browse...'.
- ', select a file, then click Upload.'.
- '');
+ $r->print('');
+ $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'}) {
&open_form($r,$url);
-# $r->print(&edit_meta_data($r, $env{'form.currentpath'}.$env{'form.selectfile'}));
- $r->print('Edit the meta data ');
+ $r->print(&mt('Edit the meta data').' ');
&close_form($r,$url);
}
if ($env{'form.store'}) {
@@ -2239,7 +2338,14 @@ sub handler {
}
} elsif ($env{'form.action'} eq 'upload_embedded') {
if ($can_upload) {
- &upload_embedded($r,$url,$group);
+ my $disk_quota = &get_quota($group);
+ my $getpropath = 1;
+ my $current_disk_usage =
+ &Apache::lonnet::diskusage($udom,$uname,$portfolio_root,$getpropath);
+ $r->print(
+ &Apache::loncommon::upload_embedded('portfolio',$port_path,$uname,$udom,
+ $group,$portfolio_root,$group,$disk_quota,$current_disk_usage));
+ $r->print(&done(undef,$url));
} else {
&missing_priv($r,$url,'upload');
}
@@ -2251,13 +2357,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');
}
@@ -2277,7 +2383,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');
}
@@ -2302,7 +2408,7 @@ sub handler {
}
} elsif ($env{'form.createdir'}) {
if ($can_upload) {
- &createdir($r,$url);
+ &createdir($r,$url,$group);
} else {
&missing_priv($r,$url,'upload');
}
@@ -2317,7 +2423,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
@@ -2333,13 +2439,12 @@ 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);
&display_common($r,$url,$current_path,$is_empty,\@dir_list,
- $can_upload);
+ $can_upload,$group);
&display_directory($r,$url,$current_path,$is_empty,\@dir_list,$group,
$can_upload,$can_modify,$can_delete,$can_setacl);
$r->print(&Apache::loncommon::end_page());
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.