diff options
-rw-r--r-- | admin/user_list.php | 46 | ||||
-rw-r--r-- | language/en_UK.iso-8859-1/admin.lang.php | 2 | ||||
-rw-r--r-- | language/fr_FR.iso-8859-1/admin.lang.php | 2 |
3 files changed, 40 insertions, 10 deletions
diff --git a/admin/user_list.php b/admin/user_list.php index 57d1788a1..fa670efc0 100644 --- a/admin/user_list.php +++ b/admin/user_list.php @@ -252,15 +252,25 @@ if (isset($_POST['delete']) or isset($_POST['pref_submit'])) // +-----------------------------------------------------------------------+ if (isset($_POST['delete']) and count($collection) > 0) { + if (in_array($conf['guest_id'], $collection)) + { + array_push($page['errors'], l10n('Guest cannot be deleted')); + } + if (($conf['guest_id'] != $conf['default_user_id']) and + in_array($conf['default_user_id'], $collection)) + { + array_push($page['errors'], l10n('Default user cannot be deleted')); + } if (in_array($conf['webmaster_id'], $collection)) { array_push($page['errors'], l10n('Webmaster cannot be deleted')); } - elseif (in_array($user['id'], $collection)) + if (in_array($user['id'], $collection)) { array_push($page['errors'], l10n('You cannot delete your account')); } - else + + if (count($page['errors']) == 0) { if (isset($_POST['confirm_deletion']) and 1 == $_POST['confirm_deletion']) { @@ -391,16 +401,32 @@ DELETE FROM '.USER_GROUP_TABLE.' } } - // Webmaster status must not be changed - if ($conf['webmaster_id'] == $user_id and isset($data['status'])) + // special users checks + if + ( + ($conf['webmaster_id'] == $user_id) or + ($conf['guest_id'] == $user_id) or + ($conf['default_user_id'] == $user_id) + ) { - $data['status'] = 'webmaster'; - } + // status must not be changed + if (isset($data['status'])) + { + if ($conf['webmaster_id'] == $user_id) + { + $data['status'] = 'webmaster'; + } + else + { + $data['status'] = 'guest'; + } + } - // Webmaster and guest adviser must not be changed - if ((($conf['webmaster_id'] == $user_id) or ($conf['guest_id'] == $user_id)) and isset($data['adviser'])) - { - $data['adviser'] = 'false'; + // could not be adivser + if (isset($data['adviser'])) + { + $data['adviser'] = 'false'; + } } array_push($datas, $data); diff --git a/language/en_UK.iso-8859-1/admin.lang.php b/language/en_UK.iso-8859-1/admin.lang.php index a3a6e0812..47d3c2137 100644 --- a/language/en_UK.iso-8859-1/admin.lang.php +++ b/language/en_UK.iso-8859-1/admin.lang.php @@ -614,4 +614,6 @@ $lang['no_display_thumbnail'] = 'No display'; $lang['display_thumbnail_classic'] = 'Classic display'; $lang['display_thumbnail_hoverbox'] = 'Hoverbox display'; $lang['Thumbnails'] = 'Thumbnails'; +$lang['Guest cannot be deleted'] = 'Guest cannot be deleted'; +$lang['Default user cannot be deleted'] = 'Default user cannot be deleted'; ?> diff --git a/language/fr_FR.iso-8859-1/admin.lang.php b/language/fr_FR.iso-8859-1/admin.lang.php index 092c3e9e0..b2086b96c 100644 --- a/language/fr_FR.iso-8859-1/admin.lang.php +++ b/language/fr_FR.iso-8859-1/admin.lang.php @@ -615,4 +615,6 @@ $lang['no_display_thumbnail'] = 'Pas d\'affichage'; $lang['display_thumbnail_classic'] = 'Affichage classique'; $lang['display_thumbnail_hoverbox'] = 'Affichage lors du survol'; $lang['Thumbnails'] = 'Miniatures'; +$lang['Guest cannot be deleted'] = 'L\'invité ne peut pas être supprimé'; +$lang['Default user cannot be deleted'] = 'L\'utilisateur par défaut ne peut pas être supprimé'; ?> |