'.
- 'Actions Name Size Last Modified Current Access Status ');
+ 'Actions Name Size Last Modified Current Access Status ');
}
$r->print("\n".&group_form_data()."\n");
@@ -221,7 +267,7 @@ sub display_directory {
my @dir_lines;
my @version_lines;
my %versioned;
- foreach my $line (sort
+ foreach my $dir_line (sort
{
my ($afile)=split('&',$a,2);
my ($bfile)=split('&',$b,2);
@@ -229,7 +275,7 @@ sub display_directory {
} (@$dir_list)) {
#$strip holds directory/file name
#$dom
- my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16);
+ my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$dir_line,16);
$filename =~ s/\s+$//;
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename);
if ($version) {
@@ -239,8 +285,8 @@ sub display_directory {
push(@dir_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]);
}
}
- foreach my $line (@dir_lines) {
- my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$line;
+ foreach my $dir_line (@dir_lines) {
+ my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$dir_line;
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename);
if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) {
my %version_flag;
@@ -249,13 +295,21 @@ sub display_directory {
$show_versions = 'true';
}
if (exists($versioned{$filename})) {
+ my %anchor_fields = (
+ 'selectfile' => $filename,
+ 'continue' => 'false',
+ 'currentpath' => $current_path,
+ );
if ($show_versions) {
- $version_flag{$filename} = ' ';
+ $version_flag{$filename} = &make_anchor('portfolio',\%anchor_fields,
+ ' ');
} else {
- $version_flag{$filename} = ' ';
+ $anchor_fields{'showversions'} = $filename;
+ $version_flag{$filename} = &make_anchor('portfolio',\%anchor_fields,
+ ' ');
}
} else {
- $version_flag{$filename} = '';
+ $version_flag{$filename} = ' ';
}
if ($dirptr&$testdir) {
my $colspan='colspan="2"';
@@ -264,7 +318,14 @@ sub display_directory {
}
$r->print(' ');
$r->print('Go to ... ');
- $r->print(''.$version_flag{$filename}.&make_anchor($url,$filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"},$env{'form.continue'}).'/ ');
+ my %anchor_fields = (
+ 'selectfile' => $filename.'/',
+ 'currentpath' => $current_path.$filename.'/',
+ 'mode' => $env{"form.mode"},
+ 'fieldname' => $env{"form.fieldname"},
+ 'continue' => $env{"form.continue"}
+ );
+ $r->print(''.$version_flag{$filename}.' '.&make_anchor($url,\%anchor_fields,$filename.'/').' ');
$r->print(' ');
} else {
my $css_class = 'LC_browser_file';
@@ -279,7 +340,10 @@ sub display_directory {
$line.=' />';
} else {
if (exists $locked_files{$fullpath}) {
- $line.='Locked ';
+ my %anchor_fields = (
+ 'lockinfo' => $current_path.$filename
+ );
+ $line.=''.&make_anchor($url,\%anchor_fields,'Locked').' ';
$css_class= 'LC_browser_file_locked';
} else {
if (!$can_modify) {
@@ -291,10 +355,15 @@ sub display_directory {
$line .= ' ';
}
if ($can_modify) {
- my $cat=' ';
- $line .= 'Rename ';
- $line .= ''.$version_flag{$filename}.''.$cat.' ';
+ my %anchor_fields = (
+ 'rename' => $filename,
+ currentpath => $current_path
+ );
+ $line .= &make_anchor($url,\%anchor_fields,'Rename');
+ $line .= ' '.&make_anchor($href_edit_location.$filename.'.meta',undef,$cat);
+ # ''.$cat.' ';
}
$line .= ' ';
}
@@ -332,27 +401,20 @@ sub display_directory {
$curr_access = join('+ ',@allaccesses);
}
}
- &display_directory_line($r,$select_mode,$fullpath, $filename, $mtime, $size, $css_class, $line, \%access_controls, $curr_access,
- $now, \%version_flag, $href_location, $url, $current_path, $access_admin_text);
-# $r->print('');
-# $r->print($line);
-# $r->print(' ');
-# $r->print(''.$version_flag{$filename}.''.
-# $filename.' ');
-# $r->print(''.$size.' ');
-# $r->print(''.&Apache::lonlocal::locallocaltime($mtime).' ');
-# if ($select_mode ne 'true') {
-# $r->print(''.
-# &mt($curr_access).' ');
-# $r->print(''.$access_admin_text.' ');
-# }
-# $r->print(' '.$/);
+ &display_directory_line($r,$select_mode,$fullpath, $filename, $mtime, $size, $css_class, $line,
+ \%access_controls, $curr_access,$now, \%version_flag, $href_location,
+ $url, $current_path, $access_admin_text);
if ($show_versions) {
- &display_directory_line($r,$select_mode,$fullpath, $css_class, $line, \%access_controls,
- $now, \%version_flag, $href_location, $url, $current_path, $access_admin_text);
-
+ foreach my $dir_line (@version_lines) {
+ my ($v_filename,$dom,$testdir,$size,$mtime,$obs) = @$dir_line;
+ my ($v_fname,$version,$v_extension) = &Apache::grades::file_name_version_ext($v_filename);
+ $line = ' ';
+ if (($v_fname eq $fname)&&($v_extension eq $extension)) {
+ &display_directory_line($r,$select_mode,$fullpath, $v_filename, $mtime, $size,
+ $css_class, $line, \%access_controls, $curr_access, $now,
+ \%version_flag, $href_location, $url, $current_path, $access_admin_text, 1);
+ }
+ }
}
}
}
@@ -439,12 +501,12 @@ sub done {
unless (defined $message) {
$message='Done';
}
- my $result = '';
+ my %anchor_fields = (
+ 'currentpath' => $env{'form.currentpath'},
+ 'fieldname' => $env{'form.fieldname'},
+ 'mode' => $env{'form.mode'}
+ );
+ my $result = ''.&make_anchor($url,\%anchor_fields,&mt($message)).' ';
return $result;
}
@@ -579,8 +641,17 @@ sub display_access {
$uname);
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name);
my $aclcount = keys(%access_controls);
- my $header = ''.&mt('Allowing others to retrieve portfolio file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).' ';
- my $info .= &mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.').''.&mt('Public files are available to anyone without the need for login.').' '.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.').' '.&mt('Conditional files are accessible to logged-in users with accounts in the LON-CAPA network, who satisfy the conditions you set.').' '.&mt('The conditions can include affiliation with a particular course or group, or a user account in a specific domain.').' '.&mt('Alternatively access can be granted to people with specific LON-CAPA usernames and domains.').' ';
+ my $header = ''.&mt('Allowing others to retrieve file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).' ';
+ my $info .= &mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.');
+ $info .= ''.&mt('Public files are available to anyone without the need for login.');
+ $info .= ' '.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.');
+ $info .= ' '.&mt('Conditional files are accessible to logged-in users with accounts in the LON-CAPA network, who satisfy the conditions you set.').' ';
+ $info .= &mt('The conditions can include affiliation with a particular course or group, or a user account in a specific domain.').' ';
+ $info .= &mt('Alternatively access can be granted to people with specific LON-CAPA usernames and domains.').' ';
+ if ($group eq '') {
+ $info .= (&mt("Direct others to the 'Display file listing' link (shown when there are viewable files) on your personal information page:http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme "));
+ }
+
if ($can_setacl) {
&open_form($r,$url);
$r->print($header.$info);
@@ -621,8 +692,10 @@ sub view_access_settings {
} else {
$r->print(&mt('No access control settings currently exist for this file. ' ));
}
- $r->print(''.&mt('Return to directory listing').' ');
+ my %anchor_fields = (
+ 'currentpath' => $env{'form.currentpath'}
+ );
+ $r->print(' '.&make_anchor($url, \%anchor_fields, &mt('Return to directory listing')));
return;
}
@@ -755,7 +828,7 @@ sub update_access {
}
}
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'};
- $r->print(''.&mt('Allowing others to retrieve portfolio file: [_1]',
+ $r->print(''.&mt('Allowing others to retrieve file: [_1]',
$port_path.$file_name).' '."\n");
$file_name = &prepend_group($file_name);
my ($uname,$udom) = &get_name_dom();
@@ -846,12 +919,13 @@ sub update_access {
}
&close_form($r,$url);
} else {
- $r->print(''.
- &mt('Display all access settings for this file').' '.
- ' '.
- ''.&mt('Return to directory listing').' ');
+ my %anchor_fields = (
+ 'currentpath' => $env{'form.currentpath'},
+ 'access' => $env{'form.selectfile'}
+ );
+ $r->print(' '.&make_anchor($url, \%anchor_fields, &mt('Display all access settings for this file')));
+ delete $anchor_fields{'access'};
+ $r->print(' '.&make_anchor($url,\%anchor_fields,&mt('Return to directory listing')));
}
return;
}
@@ -1492,10 +1566,6 @@ sub upload {
$file_name = $env{'form.currentpath'}.$file_name;
$file_name = &prepend_group($file_name);
$found_file = 1;
- # FIXME I think this is incorrect, prepend_group took care of this?
- if (defined($group)) {
- $file_name = $group.'/'.$file_name;
- }
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') {
$locked_file = 1;
}
@@ -1547,13 +1617,24 @@ sub lock_info {
} else {
$filetext = ''.$file_name.' ';
}
- $r->print(&mt('[_1] was submitted in response to problem: ',
+ if ($$array_item[(@$array_item - 1)] eq 'graded') {
+ $r->print(&mt('[_1] was submitted in response to problem: ',
+ $filetext).
+ ''.&Apache::lonnet::gettitle($$array_item[0]).
+ ' ');
+ my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
+ $r->print(&mt('In the course: [_1] ',
+ $course_description{'description'}));
+ } elsif ($$array_item[(@$array_item - 1)] eq 'handback') {
+ $r->print(&mt('[_1] was handed back in response to problem: ',
$filetext).
''.&Apache::lonnet::gettitle($$array_item[0]).
' ');
- my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
- $r->print(&mt('In the course: [_1] ',
+ my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
+ $r->print(&mt('In the course: [_1] ',
$course_description{'description'}));
+
+ }
# $r->print('the third is '.$$array_item[2].' ');
# $r->print("item is $$array_item[0] and $$array_item[0]");
}