--- loncom/interface/portfolio.pm 2006/08/09 17:47:26 1.152 +++ loncom/interface/portfolio.pm 2006/08/12 06:18:44 1.154 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.152 2006/08/09 17:47:26 albertel Exp $ +# $Id: portfolio.pm,v 1.154 2006/08/12 06:18:44 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -169,10 +169,40 @@ sub display_directory_line { $href_location, $url, $current_path, $access_admin_text, $versions)=@_; # my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); $r->print(''); - $r->print($line); - $r->print(''); - $r->print(''.$$version_flag{$filename}.''); - $r->print(&make_anchor($href_location.$filename,undef,$filename).''); + $r->print($line); # contains first two cells of table + if ($$version_flag{$filename}) { # versioned can't be versioned, so TRUE when root file + $r->print(''); + $r->print(''.$$version_flag{$filename}.''); + } else { # this is a graded or handed back file + my ($user,$domain) = &get_name_dom(); + my $permissions_hash = &Apache::lonnet::get_portfile_permissions($domain,$user); + my $lock_info; + foreach my $key (keys(%$permissions_hash)) { + $key =~ s|^/||; + if ($key =~ /$filename/) { + &Apache::lonnet::logthis("filename match"); + my $value = $$permissions_hash{$key}; + if (ref($value) eq 'ARRAY') { + my $info = pop(@$value); + my $info2 = pop(@$info); + &Apache::lonnet::logthis("the info2 is $info2"); + $lock_info = $info2; + #foreach my $key2(keys(%hash)){ + # &Apache::lonnet::logthis("a key2 is $key2"); + #} + foreach my $value_element (@$value) { + #&Apache::lonnet::logthis("and the array element is $value_element"); + foreach my $sub_value (@$value_element) { + #&Apache::lonnet::logthis("subvalue is $sub_value"); + } + } + } + } + } + $r->print(''.$lock_info.''); + } + # $r->print(''.$$version_flag{$filename}.''); + $r->print(''.&make_anchor($href_location.$filename,undef,$filename).''); $r->print(''.$size.''); $r->print(''.&Apache::lonlocal::locallocaltime($mtime).''); if ($select_mode ne 'true') { @@ -474,12 +504,12 @@ sub done { unless (defined $message) { $message='Done'; } - my $result = '

'.&mt($message).'

'; + 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; } @@ -615,8 +645,16 @@ sub display_access { 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 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.').'
'; - + my $info .= &mt('Access to this file by others can be set to be one or '); + $info .= &mt('more of the following types: public, passphrase-protected or conditional.'); + $info .= '
'; 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")); } @@ -661,8 +699,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; } @@ -886,12 +926,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; }