\n"; } else { print "$text{'dmass_already'}
\n"; } &unlock_user_files(); &made_changes(); print "
\n"; } else { print "$text{'emass_already'}
",&text('umass_eroot', $delete_root->{'user'}),"
\n"; &ui_print_footer("", $text{'index_return'}); exit; } if ($in{'confirmed'}) { foreach $user (@dlist) { # Show username print "",&text('umass_doing', &html_escape($user->{'user'})),"\n"; print "
\n"; } else { print "$text{'udel_done'}
\n"; } } # Delete the user from /etc/passwd &lock_user_files(); print "$text{'udel_pass'}\n"; &delete_user($user); print "$text{'udel_done'}
\n"; # Delete the user as a secondary member from groups $mygroup = undef; print "$text{'udel_groups'}\n"; foreach $g (&list_groups()) { @mems = split(/,/, $g->{'members'}); $idx = &indexof($user->{'user'}, @mems); if ($idx >= 0) { splice(@mems, $idx, 1); %newg = %$g; $newg{'members'} = join(',', @mems); &modify_group($g, \%newg); } $mygroup = $g if ($g->{'group'} eq $user->{'user'}); } print "$text{'udel_done'}
\n"; # Delete the user's personal group, if nobody else is # a member if ($mygroup && !$mygroup->{'members'}) { local $another; foreach $ou (&list_users()) { $another = $ou if ($ou->{'gid'} == $mygroup->{'gid'}); } if (!$another && $others) { # Delete in other modules print "$text{'udel_ugroupother'}\n"; local $error_must_die = 1; eval { &other_modules( "useradmin_delete_group", $mygroup); }; if ($@) { print &text('udel_failed', $@), "
\n"; } else { print "$text{'gdel_done'}
\n"; } } if (!$another) { # Delete from /etc/group print "$text{'udel_ugroup'}\n"; &delete_group($mygroup); print "$text{'udel_done'}
\n"; } } &unlock_user_files(); if ($in{'delhome'} && $user->{'home'} !~ /^\/+$/) { print "$text{'udel_home'}\n"; &lock_file($user->{'home'}); &delete_home_directory($user); &unlock_file($user->{'home'}); print "$text{'udel_done'}
\n"; } &made_changes(); print "
" : ""). ($delete_sys && $delete_sys->{'user'} eq 'root' ? $text{'udel_root'} : ""), ); &ui_print_footer("", $text{'index_return'}); } }