Read and write group ACL when editing a group

https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3151868&group_id=17457
This commit is contained in:
Jamie Cameron
2011-01-05 13:57:49 -08:00
parent cf2cf8abc7
commit a8c071f856
2 changed files with 12 additions and 3 deletions

View File

@@ -69,7 +69,14 @@ $desc = &text($user ? 'acl_title2'.$ga : 'acl_title3'.$ga,
# Get the host's ACL options
&remote_foreign_require($serv->{'host'}, "acl", "acl-lib.pl");
$aref = &remote_eval($serv->{'host'}, "acl", "\%rv = &get_module_acl('$who', '$mod->{'dir'}'); \\%rv");
if ($user) {
$aref = &remote_eval($serv->{'host'}, "acl",
"\%rv = &get_module_acl('$who', '$mod->{'dir'}'); \\%rv");
}
else {
$aref = &remote_eval($serv->{'host'}, "acl",
"\%rv = &get_group_module_acl('$who', '$mod->{'dir'}'); \\%rv");
}
%access = %$aref;
# Display the editor form from this host

View File

@@ -70,9 +70,11 @@ foreach $h (@hosts) {
}
# Save the .acl file
local $cd = &remote_eval($s->{'host'}, "acl", '$config_directory');
local $cd = &remote_eval($s->{'host'}, "acl",
'$config_directory');
$sfx = $in{'_acl_user'} ? "acl" : "gacl";
&remote_foreign_call($s->{'host'}, "acl", "write_file",
"$cd/$in{'_acl_mod'}/$who.acl", \%maccess);
"$cd/$in{'_acl_mod'}/$who.$sfx", \%maccess);
# Recursively update the ACL for all member users and groups
if ($in{'_acl_group'}) {