X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/2405dc8ef2aead4638a7d792c5f424bcee283ac4..9616b8e665794337f257938a5a1c52173395e3c7:/settings/user-edit.php diff --git a/settings/user-edit.php b/settings/user-edit.php index 1567ea9..469461d 100644 --- a/settings/user-edit.php +++ b/settings/user-edit.php @@ -2,18 +2,38 @@ require_once "../common.php"; require_once "../header.php"; -do_log($_POST, $_GET, $_FILES); + $us = unreal_get_current_user(); $id = (isset($_GET['id'])) ? $_GET['id'] : $us->id; $edit_user = new PanelUser(NULL, $id); -$can_edit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id) ? "" : "disabled"; +$can_edit_profile = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id) ? true : false; +$caneditpermissions = (user_can($us, PERMISSION_MANAGE_USERS)) ? true : false; +$can_edit = ($caneditpermissions) ? "" : "disabled"; + +$permissions = (isset($_POST['permissions'])) ? $_POST['permissions'] : false; +$edit_perms = (isset($edit_user->user_meta['permissions'])) ? unserialize($edit_user->user_meta['permissions']) : []; + +/* Check if they can edit their permissions and if the permissions have indeed been changed */ +if (is_array($permissions) && $caneditpermissions + && $permissions != $edit_perms) +{ + 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); +} + ?>

Edit User: "username; ?>"

-

+
-" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"> + +" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"> Permissions
@@ -23,6 +43,7 @@ $can_edit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id
+

@@ -54,7 +75,7 @@ $can_edit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id
Email -
type="text" class="form-control" name="email" id="email" autocomplete="off"> +
type="text" class="form-control" name="email" id="email" autocomplete="off" value="email; ?>">