From af3b831f8da3fbaeeda0d56f4842ddbebf09ccbd Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Mon, 4 Jun 2012 20:56:48 +0800 Subject: [PATCH] Show warning if home dirs being deleted contain other files --- useradmin/lang/en | 1 + useradmin/mass_delete_user.cgi | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/useradmin/lang/en b/useradmin/lang/en index 7a6606420..293083240 100644 --- a/useradmin/lang/en +++ b/useradmin/lang/en @@ -478,6 +478,7 @@ pft_6=MacOS NetInfo database umass_title=Delete Users umass_err=Failed to delete users umass_sure=Are you sure you want to delete the $1 selected users? Their home directories contain $2 of files. +umass_others=WARNING! Some home directories contain $1 files owned by other users. umass_sure2=Are you sure you want to delete the $1 selected users? umass_euser=You are not allowed to delete the user $1 umass_enone=No users selected diff --git a/useradmin/mass_delete_user.cgi b/useradmin/mass_delete_user.cgi index 9ab4b5aff..7402d082a 100755 --- a/useradmin/mass_delete_user.cgi +++ b/useradmin/mass_delete_user.cgi @@ -228,6 +228,10 @@ else { foreach $user (@dlist) { if ($user->{'home'} ne "/" && -d $user->{'home'}) { $size += &disk_usage_kb($user->{'home'}); + @uothers = &backquote_command( + "find ".quotemeta($user->{'home'}). + " ! -user $user->{'uid'} 2>/dev/null", 1); + push(@others, @uothers); } } @@ -256,8 +260,10 @@ else { $access{'dothers'} == 1 ? &ui_checkbox("others", 1, $text{'udel_dothers'}, $config{'default_other'}) : "", - $delete_sys && $delete_sys->{'user'} eq 'root' ? - $text{'udel_root'} : "", + (@others ? &text('umass_others', scalar(@others))."

" + : ""). + ($delete_sys && $delete_sys->{'user'} eq 'root' ? + $text{'udel_root'} : ""), );