aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2007-05-25 15:51:40 +0000
committerrub <rub@piwigo.org>2007-05-25 15:51:40 +0000
commitbcb81f3efd51218ffccd5f2e802f3b7af0b33e0b (patch)
tree0693cf2bd185c49b0961311d6f650a92a00ffb4c
parentea7fd8c4df70bfd075038fce7225b82449065efe (diff)
Resolved issue 0000693: guest & default users can to be deleted
git-svn-id: http://piwigo.org/svn/trunk@2024 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--admin/user_list.php46
-rw-r--r--language/en_UK.iso-8859-1/admin.lang.php2
-rw-r--r--language/fr_FR.iso-8859-1/admin.lang.php2
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é';
?>