aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2007-05-25 15:59:39 +0000
committerrub <rub@piwigo.org>2007-05-25 15:59:39 +0000
commitd949a3862434284607dca5234b54a4e8e594d32f (patch)
tree9ad4dba02e9a5fec1c19a4a5096c30ef6c600e84 /admin
parent805205c8a5ca482fce0b882b0cab91335a81aa9a (diff)
Resolved issue 0000693: guest & default users can to be deleted
Merge BSF 2023:2024 into branch-1_7 git-svn-id: http://piwigo.org/svn/branches/branch-1_7@2025 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin')
-rw-r--r--admin/user_list.php46
1 files changed, 36 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);