'.
@@ -1358,6 +1366,7 @@ ENDEDIT
} else {
print $mfh ($file_content);
close($mfh);
+ &update_metadata_table($uri);
$r->print(' '.&mt('Wrote Metadata').
' '.&Apache::lonlocal::locallocaltime(time).
'
'.&mt('Wrote Metadata'). ' '.&Apache::lonlocal::locallocaltime(time).'
'; } } +sub update_metadata_table { + my ($uri) = @_; + my ($type,$udom,$uname,$file_name,$group) = + &Apache::lonnet::parse_portfolio_url($uri); + $file_name =~ s/\.meta$//; + my $current_permissions = + &Apache::lonnet::get_portfile_permissions($udom,$uname); + my %access_controls = + &Apache::lonnet::get_access_controls($current_permissions,$group, + $file_name); + my $access_hash = $access_controls{$file_name}; + my $available = 0; + if (ref($access_hash) eq 'HASH') { + foreach my $key (keys(%{$access_hash})) { + my ($num,$scope,$end,$start) = + ($key =~ /^([^:]+):([a-z]+)_(\d*)_?(\d*)$/); + if ($scope eq 'public' || $scope eq 'guest') { + $available = 1; + last; + } + } + } + if ($available) { + my $result = + &Apache::lonnet::update_portfolio_table($uname,$udom, + $file_name,'portfolio_metadata',$group,'update'); + } +} + + 1; __END__