\n"; print "
\n"; print &text('sync_acl', $u->{'name'}),"\n"; ©_acls_for($u, $serv); 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); print "$text{'refresh_done'}
\n"; } # Restart webmin print "$text{'sync_restart'}\n"; if (!$in{'test'}) { &remote_foreign_call($serv->{'host'}, "acl", "restart_miniserv"); } print "$text{'refresh_done'}
\n"; # Update in local list &save_webmin_host($host); } else { print "$text{'sync_insync'}
\n"; } print "\n"; } &webmin_log("sync", undef, undef, \%in); &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'}}++); foreach $m (@{$_[0]->{'modules'}}) { local %acl = &remote_foreign_call($source->{'host'}, "acl", "get_module_acl", $_[0]->{'name'},$m); if (%acl) { &remote_foreign_call($_[1]->{'host'}, "acl", "save_module_acl", \%acl, $_[0]->{'name'}, $m); } } }