X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/9f9d16d58f4c3eb314d4bd230e55410373de2f1f..579020f8c67f7bdfd9d530a25b701af6ee53c412:/settings/user-edit.php diff --git a/settings/user-edit.php b/settings/user-edit.php index 8c64397..4c77f6a 100644 --- a/settings/user-edit.php +++ b/settings/user-edit.php @@ -1,45 +1,51 @@ 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) { + // Goes via core: $array['update_fname'] = (isset($_POST['first_name']) && strlen($_POST['first_name'])) ? $_POST['first_name'] : false; $array['update_lname'] = (isset($_POST['last_name']) && strlen($_POST['last_name'])) ? $_POST['last_name'] : false; $array['update_bio'] = (isset($_POST['bio']) && strlen($_POST['bio'])) ? $_POST['bio'] : false; $array['update_email'] = (isset($_POST['email']) && strlen($_POST['email'])) ? $_POST['email'] : false; $array['update_pass'] = (isset($_POST['password']) && strlen($_POST['password'])) ? $_POST['password'] : false; $array['update_pass_conf'] = (isset($_POST['passwordconfirm']) && strlen($_POST['passwordconfirm'])) ? $_POST['passwordconfirm'] : false; - if ($array['update_pass'] == $array['update_pass_conf']) + // Goes via meta: + $session_timeout = (isset($_POST['session_timeout']) && strlen($_POST['session_timeout'])) ? $_POST['session_timeout'] : 3600; + + if (!$array['update_pass']) { - $array['update_pass_conf'] = password_hash($array['update_pass_conf'], PASSWORD_ARGON2ID); + unset($array['update_pass']); + unset($array['update_pass_conf']); + } + 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 @@ -49,68 +55,81 @@ if ($postbutton && $can_edit_profile) unset($array['update_pass_conf']); } $edit_user->update_core_info($array); + $edit_user->add_meta("session_timeout", $session_timeout); $edit_user = new PanelUser($edit_user->username); } ?>

Edit User: "username; ?>"


- -" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"> - Permissions - -
-
-
-
Here are all the things username; ?> can do
- -
-
- -

+
- @ + Username
- First Name -
type="text" class="form-control" name="first_name" id="first_name" placeholder="first_name; ?>"> + Role +
+ + + + +
+
+ First Name +
type="text" class="form-control" name="first_name" id="first_name" placeholder="first_name; ?>">
- Last Name -
type="text" class="form-control" name="last_name" id="last_name" placeholder="last_name; ?>"> + Last Name +
type="text" class="form-control" name="last_name" id="last_name" placeholder="last_name; ?>">
- Bio -
+ Bio +
- Email -
type="text" class="form-control" name="email" id="email" autocomplete="off" value="email; ?>"> + Email +
type="text" class="form-control" name="email" id="email" autocomplete="off" value="email; ?>">
- New Password -
type="password" class="form-control" name="password" id="password" autocomplete="off"> + Session timeout +
type="text" class="form-control" name="session_timeout" id="session_timeout" autocomplete="off" value="user_meta['session_timeout'] ?? 3600; ?>"> + + +
+
+ New Password +
type="password" class="form-control" name="password" id="password" autocomplete="off">
- Confirm Password -
type="password" class="form-control" name="passwordconfirm" id="passwordconfirm" autocomplete="off"> + Confirm Password +
type="password" class="form-control" name="passwordconfirm" id="passwordconfirm" autocomplete="off">

-
\ No newline at end of file + +