--- loncom/lonnet/perl/lonnet.pm 2006/07/21 19:42:25 1.766 +++ loncom/lonnet/perl/lonnet.pm 2006/08/02 19:29:32 1.767 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.766 2006/07/21 19:42:25 albertel Exp $ +# $Id: lonnet.pm,v 1.767 2006/08/02 19:29:32 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3232,14 +3232,17 @@ sub portfolio_access { } sub get_portfolio_access { - my ($udom,$unum,$file_name,$group) = @_; - - my $current_perms = &get_portfile_permissions($udom,$unum); - my %access_controls = &get_access_controls($current_perms,$group, - $file_name); + my ($udom,$unum,$file_name,$group,$access_hash) = @_; + + if (!ref($access_hash)) { + my $current_perms = &get_portfile_permissions($udom,$unum); + my %access_controls = &get_access_controls($current_perms,$group, + $file_name); + $access_hash = $access_controls{$file_name}; + } + my ($public,$guest,@domains,@users,@courses,@groups); my $now = time; - my $access_hash = $access_controls{$file_name}; if (ref($access_hash) eq 'HASH') { foreach my $key (keys(%{$access_hash})) { my ($num,$scope,$end,$start) = ($key =~ /^([^:]+):([a-z]+)_(\d*)_?(\d*)$/);