membres roles canaux affichage
This commit is contained in:
parent
79d65ef265
commit
7aa3b7d910
@ -43,10 +43,22 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
$stmt->execute([$server_id, $server_id, $server_id, $server_id]);
|
||||
$members = $stmt->fetchAll();
|
||||
|
||||
$filtered_members = null;
|
||||
$channel_id = $_GET['channel_id'] ?? 0;
|
||||
if ($channel_id) {
|
||||
$filtered_members = [];
|
||||
foreach ($members as $m) {
|
||||
if (Permissions::canViewChannel($m['id'], $channel_id)) {
|
||||
$filtered_members[] = $m;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'roles' => $roles,
|
||||
'members' => $members,
|
||||
'filtered_members' => $filtered_members,
|
||||
'permissions_list' => [
|
||||
['value' => 1, 'name' => 'View Channels'],
|
||||
['value' => 2, 'name' => 'Send Messages'],
|
||||
|
||||
@ -1204,18 +1204,17 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
membersTabBtn?.addEventListener('click', loadRoles); // Both tabs need roles data
|
||||
|
||||
async function loadRoles() {
|
||||
if (rolesList) rolesList.innerHTML = '<div class="text-center p-3 text-muted">Loading...</div>';
|
||||
if (membersList) membersList.innerHTML = '<div class="text-center p-3 text-muted">Loading...</div>';
|
||||
|
||||
try {
|
||||
const resp = await fetch(`api_v1_roles.php?server_id=${activeServerId}`);
|
||||
const channelIdParam = window.activeChannelId ? `&channel_id=${window.activeChannelId}` : '';
|
||||
const resp = await fetch(`api_v1_roles.php?server_id=${activeServerId}${channelIdParam}`);
|
||||
const data = await resp.json();
|
||||
if (data.success) {
|
||||
serverRoles = data.roles;
|
||||
serverPermissions = data.permissions_list;
|
||||
if (rolesList) renderRoles(data.roles);
|
||||
if (membersList) renderMembers(data.members);
|
||||
updateGlobalUI(data.members);
|
||||
// Use filtered members for sidebar, all members for colors
|
||||
updateGlobalUI(data.filtered_members || data.members, data.members);
|
||||
}
|
||||
} catch (e) { console.error(e); }
|
||||
}
|
||||
@ -1230,19 +1229,20 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
}
|
||||
|
||||
function updateGlobalUI(members) {
|
||||
function updateGlobalUI(sidebarMembers, allMembers = null) {
|
||||
if (!allMembers) allMembers = sidebarMembers;
|
||||
// Update members sidebar
|
||||
const sidebar = document.querySelector('.members-sidebar');
|
||||
if (sidebar) {
|
||||
const countEl = sidebar.querySelector('div[style*="text-transform: uppercase"]');
|
||||
if (countEl) countEl.textContent = `Members — ${members.length}`;
|
||||
if (countEl) countEl.textContent = `Members — ${sidebarMembers.length}`;
|
||||
|
||||
// We need to keep the "Members - X" div and replace everything else
|
||||
const header = sidebar.firstElementChild;
|
||||
sidebar.innerHTML = '';
|
||||
sidebar.appendChild(header);
|
||||
|
||||
members.forEach(m => {
|
||||
sidebarMembers.forEach(m => {
|
||||
const item = document.createElement('div');
|
||||
item.className = 'channel-item member-item';
|
||||
item.dataset.userId = m.id;
|
||||
@ -1273,7 +1273,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
// Update chat colors
|
||||
document.querySelectorAll('.message-author').forEach(authorEl => {
|
||||
const username = authorEl.childNodes[0].textContent.trim();
|
||||
const member = members.find(m => m.username === username);
|
||||
const member = allMembers.find(m => m.username === username);
|
||||
if (member) {
|
||||
authorEl.style.color = member.role_color || 'inherit';
|
||||
// Try to update icon if it exists or add it if it doesn't
|
||||
|
||||
@ -200,7 +200,14 @@ if ($is_dm_view) {
|
||||
WHERE sm.server_id = ?
|
||||
");
|
||||
$stmt->execute([$active_server_id, $active_server_id, $active_server_id, $active_server_id]);
|
||||
$members = $stmt->fetchAll();
|
||||
$all_server_members = $stmt->fetchAll();
|
||||
|
||||
$members = [];
|
||||
foreach($all_server_members as $m) {
|
||||
if (Permissions::canViewChannel($m['id'], $active_channel_id)) {
|
||||
$members[] = $m;
|
||||
}
|
||||
}
|
||||
|
||||
// Fetch all server roles
|
||||
$stmt = db()->prepare("SELECT * FROM roles WHERE server_id = ? ORDER BY position DESC");
|
||||
|
||||
30
requests.log
30
requests.log
@ -94,3 +94,33 @@
|
||||
2026-02-16 00:25:16 - GET /index.php?server_id=1&channel_id=6 - POST: []
|
||||
2026-02-16 00:25:18 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:25:27 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:28:38 - GET / - POST: []
|
||||
2026-02-16 00:28:56 - GET /?fl_project=38443 - POST: []
|
||||
2026-02-16 00:29:17 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:29:44 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:29:47 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:30:05 - GET /index.php?server_id=1&channel_id=11 - POST: []
|
||||
2026-02-16 00:30:37 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:30:39 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:30:55 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:30:57 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:30:59 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:31:02 - GET /index.php?server_id=1&channel_id=6 - POST: []
|
||||
2026-02-16 00:31:04 - GET /index.php?server_id=1&channel_id=1 - POST: []
|
||||
2026-02-16 00:31:06 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:31:09 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:31:11 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:31:13 - GET /index.php?server_id=1&channel_id=6 - POST: []
|
||||
2026-02-16 00:31:15 - GET /index.php?server_id=1&channel_id=1 - POST: []
|
||||
2026-02-16 00:31:16 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:31:59 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:32:08 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:32:15 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:32:19 - GET /index.php?server_id=1&channel_id=6 - POST: []
|
||||
2026-02-16 00:32:21 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:32:45 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:34:01 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:34:31 - GET /index.php?server_id=1&channel_id=2 - POST: []
|
||||
2026-02-16 00:34:34 - GET /index.php?server_id=1&channel_id=15 - POST: []
|
||||
2026-02-16 00:34:36 - GET /index.php?server_id=1&channel_id=6 - POST: []
|
||||
2026-02-16 00:34:39 - GET /index.php?server_id=1&channel_id=1 - POST: []
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user