\n"; print "
\n"; # Copy .acl files print &text('sync_acl', $u->{'name'}),"\n"; ©_acls_for($u, $serv, "user"); print "$text{'refresh_done'}
\n"; } # Create missing groups foreach $g (@gneed) { print &text('sync_gcreate', $g->{'group'}),"\n"; if (!$in{'test'}) { &remote_foreign_call($serv->{'host'}, "acl", "create_group", $g); push(@{$host->{'groups'}}, $g); } print "$text{'refresh_done'}
\n"; print &text('sync_acl', $g->{'name'}),"\n"; ©_acls_for($g, $serv, "group"); print "$text{'refresh_done'}
\n"; } # Restart webmin print "$text{'sync_restart'}\n"; if (!$in{'test'}) { &remote_foreign_call($serv->{'host'}, "acl", "reload_miniserv"); } print "$text{'refresh_done'}
\n"; # Update in local list &save_webmin_host($host); } else { print "$text{'sync_insync'}
\n"; } print "\n"; } &ui_print_footer("", $text{'index_return'}); # copy_acls_for(&user|&group, &server) # Copy all .acl files from the server on which a user or group does exist # to the given server sub copy_acls_for { local $source = $_[0]->{'source'}; &remote_foreign_require($source->{'host'}, "acl", "acl-lib.pl") if (!$done_require{$source->{'host'}}++); local $suffix = $_[2] eq "user" ? "module_acl" : "group_module_acl"; foreach $m (@{$_[0]->{'modules'}}) { local %acl = &remote_foreign_call($source->{'host'}, "acl", "get_".$suffix, $_[0]->{'name'},$m); if (%acl) { &remote_foreign_call($_[1]->{'host'}, "acl", "save_".$suffix, \%acl, $_[0]->{'name'}, $m); } } }