service); //CALL TO API FOR User Role Assignments $api_url = '/v2/user_role_assignments/user_id='.$user_ID; $role_assignments = ioServer($api_url,''); //Decode Payload if (!empty($role_assignments)){$role_assignments = json_decode($role_assignments);}else{$role_assignments = null;} //CALL TO API FOR All Available Roles $api_url = '/v2/user_roles/status=1&p=1'; $all_roles_response = ioServer($api_url,''); //Decode Payload if (!empty($all_roles_response)){ $all_roles = json_decode($all_roles_response); if (!is_array($all_roles)){ $all_roles = []; } } else { $all_roles = []; } //------------------------------ // Handle POST for inline edit (user AND roles) //------------------------------ if (isset($_POST['save_user']) && $update_allowed_edit === 1) { // Build user data using existing field names $user_data = [ 'id' => $user_ID, 'userkey' => $_POST['userkey'] ?? 1, 'username' => $_POST['username'] ?? '', 'email' => $_POST['email'] ?? '', 'view' => $_POST['view'] ?? 3, 'settings' => $_POST['settings'] ?? '', 'service' => $_POST['service'] ?? 0, 'language' => $_POST['language'] ?? '', 'login_count' => $_POST['login_count'] ?? 0, 'salesid' => $_POST['salesid'] ?? '', 'soldto' => $_POST['soldto'] ?? '', 'shipto' => $_POST['shipto'] ?? '', 'location' => $_POST['location'] ?? '' ]; $data = json_encode($user_data, JSON_UNESCAPED_UNICODE); ioServer('/v2/users', $data); // Also save role assignments $role_data = [ 'batch_update' => true, 'user_id' => (int)$user_ID, 'roles' => isset($_POST['roles']) ? array_map('intval', $_POST['roles']) : [] ]; $data = json_encode($role_data, JSON_UNESCAPED_UNICODE); ioServer('/v2/user_role_assignments', $data); // Redirect to refresh header('Location: index.php?page=user&id='.$user_ID.'&success_msg=2'); exit; } // Handle password reset if (isset($_POST['reset']) && $update_allowed_edit === 1) { $data = json_encode(['id' => $user_ID, 'reset' => 'reset'], JSON_UNESCAPED_UNICODE); ioServer('/v2/users', $data); header('Location: index.php?page=user&id='.$user_ID.'&success_msg=4'); exit; } // Handle unblock if (isset($_POST['unblock']) && $update_allowed_edit === 1) { $data = json_encode(['id' => $user_ID, 'login_count' => '0'], JSON_UNESCAPED_UNICODE); ioServer('/v2/users', $data); header('Location: index.php?page=user&id='.$user_ID.'&success_msg=5'); exit; } // Handle delete if (isset($_POST['delete']) && $delete_allowed === 1) { $data = json_encode(['id' => $user_ID, 'delete' => 'delete'], JSON_UNESCAPED_UNICODE); ioServer('/v2/users', $data); header('Location: index.php?page=users&success_msg=3'); exit; } //------------------------------ //Variables //------------------------------ $is_blocked = ($user->login_count > 4); $is_active = ($user->userkey && $user->userkey != ''); if ($is_blocked) { $status_text = ($User_block ?? 'Blocked'); $status_class = 'id0'; } elseif ($is_active) { $status_text = ($enabled ?? 'Active'); $status_class = 'id1'; } else { $status_text = ($disabled ?? 'Inactive'); $status_class = 'id0'; } // Handle success messages if (isset($_GET['success_msg'])) { if ($_GET['success_msg'] == 1) { $success_msg = ($message_user_1 ?? 'User created successfully'); } if ($_GET['success_msg'] == 2) { $success_msg = ($message_user_2 ?? 'User updated successfully'); } if ($_GET['success_msg'] == 3) { $success_msg = ($message_user_3 ?? 'User deleted successfully'); } if ($_GET['success_msg'] == 4) { $success_msg = ($message_user_4 ?? 'Password reset successfully'); } if ($_GET['success_msg'] == 5) { $success_msg = ($message_user_5 ?? 'User unblocked successfully'); } if ($_GET['success_msg'] == 6) { $success_msg = ($message_user_6 ?? 'Roles updated successfully'); } } template_header(($user_title ?? 'User'), 'user', 'view'); $view = '
'.$success_msg.'
| '.($User_pw_reset ?? 'Reset Password').' | |
| '.($User_unblock ?? 'Unblock User').' | |
| '.($general_delete ?? 'Delete User').' |