X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/6b08fcb99e66665e7e4f345702915d7192fcd27b..d5ffb4bb26cc3910c5e4da8de0f6ed8e64a273fa:/settings/user-edit.php diff --git a/settings/user-edit.php b/settings/user-edit.php index 73469c6..4c77f6a 100644 --- a/settings/user-edit.php +++ b/settings/user-edit.php @@ -1,32 +1,27 @@ id; $edit_user = new PanelUser(NULL, $id); $can_edit_profile = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id) ? true : false; +$caneditprofile = ($can_edit_profile) ? "" : "disabled"; $caneditpermissions = (user_can($us, PERMISSION_MANAGE_USERS)) ? true : false; $can_edit = ($caneditpermissions) ? "" : "disabled"; $postbutton = (isset($_POST['update_user'])) ? true : false; -$permissions = (isset($_POST['permissions'])) ? $_POST['permissions'] : []; -$edit_perms = (isset($edit_user->user_meta['permissions'])) ? unserialize($edit_user->user_meta['permissions']) : []; +$roles_list = get_panel_user_roles_list(); -/* Check if they can edit their permissions and if the permissions have indeed been changed */ -if ($postbutton && is_array($permissions) && $caneditpermissions - && $permissions != $edit_perms) +if ($postbutton && isset($_POST['user_role']) && $caneditpermissions) { - foreach ($permissions as $p) - if (!in_array($p, $edit_perms)) - $edit_user->add_permission($p); - - foreach($edit_perms as $p) - if (!in_array($p, $permissions)) - $edit_user->delete_permission($p); - - Message::Success("Permissions for $edit_user->username have been updated"); + if ($_POST['user_role'] != $edit_user->user_meta['role']) + { + $edit_user->add_meta("role", $_POST['user_role']); + $edit_user->delete_meta("permissions"); + Message::Success("Updated the role of $edit_user->username"); + } } if ($postbutton && $can_edit_profile) @@ -49,6 +44,8 @@ if ($postbutton && $can_edit_profile) elseif ($array['update_pass'] == $array['update_pass_conf']) { $array['update_pass_conf'] = PanelUser::password_hash($array['update_pass_conf']); + $edit_user->delete_meta("hibp"); + $edit_user->HIBP(sha1($array['update_pass'])); unset($array['update_pass']); } else @@ -65,70 +62,74 @@ if ($postbutton && $can_edit_profile)