diff --git a/api_v1_channels.php b/api_v1_channels.php index 87e0e60..5cd4cea 100644 --- a/api_v1_channels.php +++ b/api_v1_channels.php @@ -26,9 +26,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $orders = $json['orders'] ?? []; // Array of {id, position, category_id} $user_id = $_SESSION['user_id']; - // Debug log - file_put_contents('debug_reorder.log', date('Y-m-d H:i:s') . " - Server: $server_id - Orders: " . json_encode($orders) . "\n", FILE_APPEND); - if (Permissions::hasPermission($user_id, $server_id, Permissions::MANAGE_CHANNELS)) { $stmt = db()->prepare("UPDATE channels SET position = ?, category_id = ? WHERE id = ? AND server_id = ?"); foreach ($orders as $o) { diff --git a/api_v1_roles.php b/api_v1_roles.php index 2b7feae..a88181c 100644 --- a/api_v1_roles.php +++ b/api_v1_roles.php @@ -70,7 +70,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { ['value' => 128, 'name' => 'Manage Tags'], ['value' => 256, 'name' => 'Pin Threads'], ['value' => 512, 'name' => 'Lock Threads'], - ['value' => 1024, 'name' => 'Send Messages in Threads'] + ['value' => 1024, 'name' => 'Send Messages in Threads'], + ['value' => 2048, 'name' => 'Speak'] ] ]); exit; diff --git a/api_v1_user.php b/api_v1_user.php index 33b40ad..6afd6f3 100644 --- a/api_v1_user.php +++ b/api_v1_user.php @@ -2,25 +2,13 @@ require_once 'auth/session.php'; header('Content-Type: application/json'); -// Detailed log -$log = [ - 'date' => date('Y-m-d H:i:s'), - 'method' => $_SERVER['REQUEST_METHOD'], - 'post' => $_POST, - 'session' => $_SESSION -]; - if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user = getCurrentUser(); if (!$user) { - $log['error'] = 'Unauthorized'; - file_put_contents('requests.log', json_encode($log) . "\n", FILE_APPEND); echo json_encode(['success' => false, 'error' => 'Unauthorized']); exit; } - $log['user_id'] = $user['id']; - $display_name = !empty($_POST['display_name']) ? $_POST['display_name'] : $user['display_name']; $avatar_url = isset($_POST['avatar_url']) ? $_POST['avatar_url'] : $user['avatar_url']; $dnd_mode = isset($_POST['dnd_mode']) ? (int)$_POST['dnd_mode'] : 0; @@ -34,14 +22,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { try { $stmt = db()->prepare("UPDATE users SET display_name = ?, avatar_url = ?, dnd_mode = ?, sound_notifications = ?, theme = ?, voice_mode = ?, voice_ptt_key = ?, voice_vox_threshold = ?, voice_echo_cancellation = ?, voice_noise_suppression = ? WHERE id = ?"); - $success = $stmt->execute([$display_name, $avatar_url, $dnd_mode, $sound_notifications, $theme, $voice_mode, $voice_ptt_key, $voice_vox_threshold, $voice_echo_cancellation, $voice_noise_suppression, $user['id']]); + $stmt->execute([$display_name, $avatar_url, $dnd_mode, $sound_notifications, $theme, $voice_mode, $voice_ptt_key, $voice_vox_threshold, $voice_echo_cancellation, $voice_noise_suppression, $user['id']]); - $log['db_success'] = $success; - file_put_contents('requests.log', json_encode($log) . "\n", FILE_APPEND); echo json_encode(['success' => true]); } catch (Exception $e) { - $log['db_error'] = $e->getMessage(); - file_put_contents('requests.log', json_encode($log) . "\n", FILE_APPEND); echo json_encode(['success' => false, 'error' => $e->getMessage()]); } exit; diff --git a/api_v1_voice.php b/api_v1_voice.php index 2a576d8..471186e 100644 --- a/api_v1_voice.php +++ b/api_v1_voice.php @@ -2,14 +2,12 @@ // Mutualisé OVH : nécessite ./data écrivable. declare(strict_types=1); require_once "auth/session.php"; +require_once "includes/permissions.php"; header("X-Content-Type-Options: nosniff"); header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: POST, GET, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type"); -$DATA_DIR = __DIR__ . "/data"; -if (!is_dir($DATA_DIR)) @mkdir($DATA_DIR, 0775, true); - $user = getCurrentUser(); $current_user_id = $user ? (int)$user["id"] : 0; @@ -22,20 +20,6 @@ function peer_id(): string { return bin2hex(random_bytes(8)); } -function room_log_file(string $room): string { - return __DIR__ . "/data/" . $room . ".log"; -} - -function room_participants_file(string $room): string { - return __DIR__ . "/data/" . $room . ".participants.json"; -} - -function chat_log_file_for_today(): string { - // Un fichier par jour : YYYY-MM-DD.chat.log - $d = date("Y-m-d"); - return __DIR__ . "/data/" . $d . ".chat.log"; -} - function now_ms(): int { return (int) floor(microtime(true) * 1000); } @@ -47,48 +31,32 @@ function json_out($data, int $code = 200): void { exit; } -function read_json_file(string $path): array { - if (!file_exists($path)) return []; - $raw = @file_get_contents($path); - if ($raw === false || $raw === "") return []; - $j = json_decode($raw, true); - return is_array($j) ? $j : []; -} +function get_room_participants(string $room): array { + $ps = []; + try { + $stale_time = now_ms() - 15000; + // Clean up stale sessions first + db()->prepare("DELETE FROM voice_sessions WHERE last_seen < ?")->execute([$stale_time]); -function write_json_file(string $path, array $data): void { - file_put_contents($path, json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), LOCK_EX); -} - -function tail_lines(string $path, int $maxLines = 120): array { - if (!is_file($path)) return []; - $fp = fopen($path, "rb"); - if (!$fp) return []; - - $lines = []; - fseek($fp, 0, SEEK_END); - $pos = ftell($fp); - $buffer = ""; - - while ($pos > 0 && count($lines) < $maxLines) { - $readSize = min($pos, 4096); - $pos -= $readSize; - fseek($fp, $pos); - $chunk = fread($fp, $readSize); - $buffer = $chunk . $buffer; - - $chunkLines = explode("\n", $buffer); - $buffer = array_shift($chunkLines); - - while (!empty($chunkLines)) { - $line = array_pop($chunkLines); - if (trim($line) !== "") { - array_unshift($lines, trim($line)); - if (count($lines) >= $maxLines) break; - } + $stmt = db()->prepare(" + SELECT vs.peer_id as id, vs.user_id, vs.name, vs.last_seen, vs.is_muted, vs.is_deafened, u.avatar_url + FROM voice_sessions vs + LEFT JOIN users u ON vs.user_id = u.id + WHERE vs.channel_id = ? AND vs.last_seen > ? + "); + $stmt->execute([$room, $stale_time]); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + foreach ($rows as $r) { + $r['user_id'] = (int)$r['user_id']; + $r['last_seen'] = (int)$r['last_seen']; + $r['is_muted'] = (int)$r['is_muted']; + $r['is_deafened'] = (int)$r['is_deafened']; + $ps[$r['id']] = $r; } + } catch (Exception $e) { + error_log("get_room_participants error: " . $e->getMessage()); } - fclose($fp); - return $lines; + return $ps; } // Logic for signaling @@ -98,69 +66,49 @@ $my_id = $_REQUEST["peer_id"] ?? ""; if ($action === "join") { $name = $_REQUEST["name"] ?? "User"; - $p_file = room_participants_file($room); - $ps = read_json_file($p_file); - - // Cleanup old participants (> 10s) - $stale_time = now_ms() - 10000; - foreach ($ps as $id => $p) { - if (($p["last_seen"] ?? 0) < $stale_time) unset($ps[$id]); - } - $new_id = substr($_REQUEST["peer_id"] ?: peer_id(), 0, 16); - $ps[$new_id] = [ - "id" => $new_id, - "user_id" => $current_user_id, - "name" => $name, - "avatar_url" => $user["avatar_url"] ?? "", - "last_seen" => now_ms() - ]; - write_json_file($p_file, $ps); - // DB Integration for sidebar + // DB Integration for sidebar and participation if ($current_user_id > 0) { try { $stmt = db()->prepare("INSERT INTO voice_sessions (user_id, channel_id, last_seen, peer_id, name) VALUES (?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE channel_id = ?, last_seen = ?, peer_id = ?, name = ?"); - $res = $stmt->execute([$current_user_id, $room, now_ms(), $new_id, $name, $room, now_ms(), $new_id, $name]); - if (!$res) { - error_log("Failed to insert voice session for user $current_user_id in room $room"); - } + $stmt->execute([$current_user_id, $room, now_ms(), $new_id, $name, $room, now_ms(), $new_id, $name]); } catch (Exception $e) { error_log("Voice session DB error: " . $e->getMessage()); } } - json_out(["success" => true, "peer_id" => $new_id, "participants" => $ps]); + $ps = get_room_participants($room); + + json_out(["success" => true, "peer_id" => $new_id, "participants" => $ps, "can_speak" => Permissions::canDoInChannel($current_user_id, (int)$room, Permissions::SPEAK)]); } if ($action === "poll") { if (!$my_id) json_out(["error" => "Missing peer_id"], 400); - $p_file = room_participants_file($room); - $ps = read_json_file($p_file); $is_muted = isset($_REQUEST["is_muted"]) ? (int)$_REQUEST["is_muted"] : 0; $is_deafened = isset($_REQUEST["is_deafened"]) ? (int)$_REQUEST["is_deafened"] : 0; - if (isset($ps[$my_id])) { - $ps[$my_id]["last_seen"] = now_ms(); - $ps[$my_id]["is_muted"] = $is_muted; - $ps[$my_id]["is_deafened"] = $is_deafened; - } - - $stale_time = now_ms() - 10000; - foreach ($ps as $id => $p) { - if (($p["last_seen"] ?? 0) < $stale_time) unset($ps[$id]); - } - write_json_file($p_file, $ps); + $can_speak = Permissions::canDoInChannel($current_user_id, (int)$room, Permissions::SPEAK); + if (!$can_speak) $is_muted = 1; // Update DB last_seen if ($current_user_id > 0) { try { - $stmt = db()->prepare("UPDATE voice_sessions SET last_seen = ?, is_muted = ?, is_deafened = ? WHERE user_id = ?"); - $stmt->execute([now_ms(), $is_muted, $is_deafened, $current_user_id]); + $stmt = db()->prepare("UPDATE voice_sessions SET last_seen = ?, is_muted = ?, is_deafened = ?, channel_id = ?, peer_id = ?, name = ? WHERE user_id = ?"); + $name = $_REQUEST["name"] ?? ($user["display_name"] ?: $user["username"] ?: "User"); + $stmt->execute([now_ms(), $is_muted, $is_deafened, $room, $my_id, $name, $current_user_id]); + + // If update failed (no rows affected because session was deleted or user_id mismatch), re-insert + if ($stmt->rowCount() === 0) { + $stmt = db()->prepare("INSERT INTO voice_sessions (user_id, channel_id, last_seen, peer_id, name, is_muted, is_deafened) VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE channel_id = ?, last_seen = ?, peer_id = ?, name = ?, is_muted = ?, is_deafened = ?"); + $stmt->execute([$current_user_id, $room, now_ms(), $my_id, $name, $is_muted, $is_deafened, $room, now_ms(), $my_id, $name, $is_muted, $is_deafened]); + } } catch (Exception $e) {} } + $ps = get_room_participants($room); + // Read signals from DB $signals = []; try { @@ -193,7 +141,12 @@ if ($action === "poll") { error_log("Signal poll error: " . $e->getMessage()); } - json_out(["success" => true, "participants" => $ps, "signals" => $signals]); + json_out([ + "success" => true, + "participants" => $ps, + "signals" => $signals, + "can_speak" => $can_speak + ]); } if ($action === "signal") { @@ -243,12 +196,6 @@ if ($action === "list_all") { } if ($action === "leave") { - if ($my_id) { - $p_file = room_participants_file($room); - $ps = read_json_file($p_file); - unset($ps[$my_id]); - write_json_file($p_file, $ps); - } if ($current_user_id > 0) { try { $stmt = db()->prepare("DELETE FROM voice_sessions WHERE user_id = ?"); diff --git a/assets/js/voice.js b/assets/js/voice.js index 1263dfb..610337a 100644 --- a/assets/js/voice.js +++ b/assets/js/voice.js @@ -22,6 +22,7 @@ class VoiceChannel { this.currentChannelId = null; this.myPeerId = null; this.pollInterval = null; + this.canSpeak = true; this.remoteAudios = {}; // userId -> Audio element this.isMuted = false; this.isDeafened = false; @@ -138,6 +139,7 @@ class VoiceChannel { if (data.success) { this.myPeerId = data.peer_id; + this.canSpeak = data.can_speak !== false; sessionStorage.setItem('activeVoicePeerId', this.myPeerId); console.log('Joined room with peer_id:', this.myPeerId); @@ -168,6 +170,7 @@ class VoiceChannel { const data = await resp.json(); if (data.success) { + this.canSpeak = data.can_speak !== false; // Update participants const oldPs = Object.keys(this.participants); this.participants = data.participants; @@ -413,7 +416,12 @@ class VoiceChannel { updateMuteState() { if (!this.currentChannelId || !this.localStream) return; let shouldTalk = (this.settings.mode === 'ptt') ? this.pttPressed : this.voxActive; - console.log('updateMuteState: shouldTalk =', shouldTalk, 'mode =', this.settings.mode); + + if (this.canSpeak === false) { + shouldTalk = false; + } + + console.log('updateMuteState: shouldTalk =', shouldTalk, 'mode =', this.settings.mode, 'canSpeak =', this.canSpeak); if (this.isTalking !== shouldTalk) { this.isTalking = shouldTalk; this.setMute(!shouldTalk); @@ -442,6 +450,7 @@ class VoiceChannel { } toggleMute() { + if (this.canSpeak === false) return; this.setMute(!this.isMuted); } @@ -551,12 +560,25 @@ class VoiceChannel { const btnMute = document.getElementById('btn-panel-mute'); const btnDeafen = document.getElementById('btn-panel-deafen'); + let displayMuted = this.isMuted; + if (this.canSpeak === false) { + displayMuted = true; + } + if (btnMute) { - btnMute.classList.toggle('active', this.isMuted); - btnMute.style.color = this.isMuted ? '#f23f43' : 'var(--text-muted)'; - btnMute.innerHTML = this.isMuted ? + btnMute.classList.toggle('active', displayMuted); + btnMute.style.color = displayMuted ? '#f23f43' : 'var(--text-muted)'; + btnMute.innerHTML = displayMuted ? '' : ''; + + if (this.canSpeak === false) { + btnMute.title = "You do not have permission to speak in this channel"; + btnMute.style.opacity = '0.5'; + } else { + btnMute.title = "Mute"; + btnMute.style.opacity = '1'; + } } if (btnDeafen) { diff --git a/auth/logout.php b/auth/logout.php index 9dedbd2..5717527 100644 --- a/auth/logout.php +++ b/auth/logout.php @@ -4,42 +4,6 @@ require_once __DIR__ . '/session.php'; $user = getCurrentUser(); if ($user) { try { - // Find which channel and peer they were in to clean up files too - $stmt = db()->prepare("SELECT channel_id, peer_id FROM voice_sessions WHERE user_id = ?"); - $stmt->execute([$user['id']]); - $sess = $stmt->fetch(); - - if ($sess) { - $room = $sess['channel_id']; - $peerId = $sess['peer_id']; - - // Clean up file-based participants - $p_file = __DIR__ . "/../data/" . $room . ".participants.json"; - if (file_exists($p_file)) { - $raw = @file_get_contents($p_file); - if ($raw) { - $ps = json_decode($raw, true); - if (is_array($ps)) { - $found = false; - if (isset($ps[$peerId])) { - unset($ps[$peerId]); - $found = true; - } - // Also cleanup by user_id just in case - foreach ($ps as $id => $p) { - if (($p['user_id'] ?? 0) == $user['id']) { - unset($ps[$id]); - $found = true; - } - } - if ($found) { - file_put_contents($p_file, json_encode($ps), LOCK_EX); - } - } - } - } - } - // Clean up DB session db()->prepare("DELETE FROM voice_sessions WHERE user_id = ?")->execute([$user['id']]); } catch (Exception $e) { diff --git a/data/22.log b/data/22.log deleted file mode 100644 index e69de29..0000000 diff --git a/data/22.participants.json b/data/22.participants.json deleted file mode 100644 index 0637a08..0000000 --- a/data/22.participants.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/data/3.log b/data/3.log deleted file mode 100644 index e69de29..0000000 diff --git a/data/3.participants.json b/data/3.participants.json deleted file mode 100644 index 0637a08..0000000 --- a/data/3.participants.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/data/6.log b/data/6.log deleted file mode 100644 index e9bcc14..0000000 --- a/data/6.log +++ /dev/null @@ -1,10 +0,0 @@ -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"offer","offer":{"type":"offer","sdp":"v=0\r\no=mozilla...THIS_IS_SDPARTA-99.0 1705174900585877835 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=sendrecv\r\na=fingerprint:sha-256 AA:37:B9:FA:14:15:DC:34:29:97:DC:55:77:28:8E:74:C0:94:15:08:DF:5B:E9:CC:36:81:E5:D9:5C:49:FB:46\r\na=group:BUNDLE 0\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=audio 9 UDP\/TLS\/RTP\/SAVPF 109 9 0 8 101\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2\/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level\r\na=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap-allow-mixed\r\na=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1\r\na=fmtp:101 0-15\r\na=ice-pwd:075627a25c9f07d3908305504803057d\r\na=ice-ufrag:03d0add1\r\na=mid:0\r\na=msid:{7a2c5afc-d053-43fd-9196-3caf4510feb3} {8439b857-ead8-4cb1-8111-cb3400348461}\r\na=rtcp-mux\r\na=rtpmap:109 opus\/48000\/2\r\na=rtpmap:9 G722\/8000\/1\r\na=rtpmap:0 PCMU\/8000\r\na=rtpmap:8 PCMA\/8000\r\na=rtpmap:101 telephone-event\/8000\r\na=setup:actpass\r\na=ssrc:1663488241 cname:{7dcb8038-2b50-4e42-827c-c4617a225c01}\r\n"}},"time":1771336456644} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:0 1 UDP 2122252543 192.168.26.26 62572 typ host","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456645} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:2 1 TCP 2105524479 192.168.26.26 9 typ host tcptype active","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456647} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:2 2 TCP 2105524478 192.168.26.26 9 typ host tcptype active","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456652} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:0 2 UDP 2122252542 192.168.26.26 62573 typ host","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456654} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:1 1 UDP 1686052351 78.246.210.10 31184 typ srflx raddr 192.168.26.26 rport 62572","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456720} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:1 2 UDP 1686052350 78.246.210.10 31185 typ srflx raddr 192.168.26.26 rport 62573","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456757} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:1 1 UDP 1686052863 78.246.210.10 31184 typ srflx raddr 192.168.26.26 rport 62572","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456776} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"candidate:1 2 UDP 1686052862 78.246.210.10 31185 typ srflx raddr 192.168.26.26 rport 62573","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456802} -{"from":"75b3938d276e81e1","to":"0cce3619c0f299fa","data":{"type":"ice_candidate","candidate":{"candidate":"","sdpMLineIndex":0,"sdpMid":"0","usernameFragment":"03d0add1"}},"time":1771336456805} diff --git a/data/6.participants.json b/data/6.participants.json deleted file mode 100644 index 2879778..0000000 --- a/data/6.participants.json +++ /dev/null @@ -1 +0,0 @@ -{"0cce3619c0f299fa":{"id":"0cce3619c0f299fa","user_id":2,"name":"swefpifh ᵇʰᶠʳ","avatar_url":"","last_seen":1771336452806},"75b3938d276e81e1":{"id":"75b3938d276e81e1","user_id":2,"name":"swefpifh ᵇʰᶠʳ","avatar_url":"","last_seen":1771336462293}} \ No newline at end of file diff --git a/data/test.participants.json b/data/test.participants.json deleted file mode 100644 index f1d0f40..0000000 --- a/data/test.participants.json +++ /dev/null @@ -1 +0,0 @@ -{"0fbf720bc2f110c0":{"id":"0fbf720bc2f110c0","name":"AI","last_seen":1771336229774}} \ No newline at end of file diff --git a/debug_reorder.log b/debug_reorder.log deleted file mode 100644 index 5704b73..0000000 --- a/debug_reorder.log +++ /dev/null @@ -1,19 +0,0 @@ -2026-02-15 23:32:05 - Server: 1 - Orders: [{"id":"1","position":0,"category_id":null},{"id":"6","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"2","position":3,"category_id":null},{"id":"9","position":4,"category_id":null},{"id":"3","position":5,"category_id":null}] -2026-02-15 23:35:48 - Server: 1 - Orders: [{"id":"10","position":0,"category_id":null},{"id":"1","position":1,"category_id":null},{"id":"6","position":2,"category_id":null},{"id":"2","position":3,"category_id":null},{"id":"9","position":4,"category_id":null},{"id":"3","position":5,"category_id":null}] -2026-02-15 23:36:25 - Server: 1 - Orders: [{"id":"10","position":0,"category_id":null},{"id":"1","position":1,"category_id":"10"},{"id":"6","position":2,"category_id":"10"},{"id":"2","position":3,"category_id":null},{"id":"9","position":4,"category_id":null},{"id":"3","position":5,"category_id":null}] -2026-02-15 23:36:28 - Server: 1 - Orders: [{"id":"10","position":0,"category_id":null},{"id":"1","position":1,"category_id":"10"},{"id":"6","position":2,"category_id":"10"},{"id":"2","position":3,"category_id":"10"},{"id":"9","position":4,"category_id":null},{"id":"3","position":5,"category_id":null}] -2026-02-15 23:39:25 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"10","position":1,"category_id":null},{"id":"1","position":2,"category_id":"10"},{"id":"6","position":3,"category_id":"10"},{"id":"2","position":4,"category_id":"10"},{"id":"9","position":5,"category_id":null},{"id":"3","position":6,"category_id":null}] -2026-02-15 23:39:45 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"2","position":5,"category_id":"10"},{"id":"9","position":6,"category_id":null},{"id":"3","position":7,"category_id":null}] -2026-02-15 23:40:11 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"2","position":5,"category_id":"10"},{"id":"13","position":6,"category_id":null},{"id":"9","position":7,"category_id":null},{"id":"3","position":8,"category_id":null}] -2026-02-15 23:40:20 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"2","position":5,"category_id":"10"},{"id":"14","position":6,"category_id":null},{"id":"13","position":7,"category_id":null},{"id":"9","position":8,"category_id":null},{"id":"3","position":9,"category_id":null}] -2026-02-16 00:15:14 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"15","position":5,"category_id":"10"},{"id":"2","position":6,"category_id":"10"},{"id":"14","position":7,"category_id":null},{"id":"13","position":8,"category_id":null},{"id":"9","position":9,"category_id":null},{"id":"3","position":10,"category_id":null}] -2026-02-16 00:17:23 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"15","position":5,"category_id":"10"},{"id":"2","position":6,"category_id":"10"},{"id":"14","position":7,"category_id":null},{"id":"13","position":8,"category_id":null},{"id":"9","position":9,"category_id":null},{"id":"3","position":10,"category_id":null}] -2026-02-16 00:17:31 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"10","position":2,"category_id":null},{"id":"1","position":3,"category_id":"10"},{"id":"6","position":4,"category_id":"10"},{"id":"15","position":5,"category_id":"10"},{"id":"2","position":6,"category_id":"10"},{"id":"14","position":7,"category_id":null},{"id":"13","position":8,"category_id":null},{"id":"9","position":9,"category_id":null},{"id":"3","position":10,"category_id":null}] -2026-02-16 03:07:52 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"16","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"10","position":3,"category_id":null},{"id":"1","position":4,"category_id":"10"},{"id":"6","position":5,"category_id":"10"},{"id":"15","position":6,"category_id":"10"},{"id":"2","position":7,"category_id":"10"},{"id":"14","position":8,"category_id":null},{"id":"13","position":9,"category_id":null},{"id":"9","position":10,"category_id":null},{"id":"3","position":11,"category_id":null}] -2026-02-16 03:08:33 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"10","position":3,"category_id":null},{"id":"1","position":4,"category_id":"10"},{"id":"6","position":5,"category_id":"10"},{"id":"15","position":6,"category_id":"10"},{"id":"2","position":7,"category_id":"10"},{"id":"14","position":8,"category_id":null},{"id":"13","position":9,"category_id":null},{"id":"9","position":10,"category_id":null},{"id":"3","position":11,"category_id":null}] -2026-02-16 03:09:18 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"10","position":3,"category_id":null},{"id":"1","position":4,"category_id":"10"},{"id":"6","position":5,"category_id":"10"},{"id":"15","position":6,"category_id":"10"},{"id":"2","position":7,"category_id":"10"},{"id":"18","position":8,"category_id":"10"},{"id":"14","position":9,"category_id":null},{"id":"13","position":10,"category_id":null},{"id":"9","position":11,"category_id":null},{"id":"3","position":12,"category_id":null}] -2026-02-16 18:43:44 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"19","position":3,"category_id":null},{"id":"10","position":4,"category_id":null},{"id":"1","position":5,"category_id":"10"},{"id":"6","position":6,"category_id":"10"},{"id":"15","position":7,"category_id":"10"},{"id":"2","position":8,"category_id":"10"},{"id":"18","position":9,"category_id":"10"},{"id":"14","position":10,"category_id":null},{"id":"13","position":11,"category_id":null},{"id":"9","position":12,"category_id":null},{"id":"3","position":13,"category_id":null}] -2026-02-16 23:37:00 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"12","position":1,"category_id":null},{"id":"17","position":2,"category_id":null},{"id":"19","position":3,"category_id":null},{"id":"10","position":4,"category_id":null},{"id":"1","position":5,"category_id":"10"},{"id":"6","position":6,"category_id":"10"},{"id":"15","position":7,"category_id":"10"},{"id":"2","position":8,"category_id":"10"},{"id":"18","position":9,"category_id":"10"},{"id":"14","position":10,"category_id":null},{"id":"13","position":11,"category_id":null},{"id":"9","position":12,"category_id":null},{"id":"3","position":13,"category_id":null}] -2026-02-16 23:37:02 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"19","position":3,"category_id":null},{"id":"10","position":4,"category_id":null},{"id":"1","position":5,"category_id":"10"},{"id":"6","position":6,"category_id":"10"},{"id":"15","position":7,"category_id":"10"},{"id":"2","position":8,"category_id":"10"},{"id":"18","position":9,"category_id":"10"},{"id":"14","position":10,"category_id":null},{"id":"13","position":11,"category_id":null},{"id":"9","position":12,"category_id":null},{"id":"3","position":13,"category_id":null}] -2026-02-17 00:31:00 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"12","position":2,"category_id":null},{"id":"20","position":3,"category_id":null},{"id":"19","position":4,"category_id":null},{"id":"10","position":5,"category_id":null},{"id":"1","position":6,"category_id":"10"},{"id":"6","position":7,"category_id":"10"},{"id":"15","position":8,"category_id":"10"},{"id":"2","position":9,"category_id":"10"},{"id":"18","position":10,"category_id":"10"},{"id":"14","position":11,"category_id":null},{"id":"13","position":12,"category_id":null},{"id":"9","position":13,"category_id":null},{"id":"3","position":14,"category_id":null}] -2026-02-17 08:19:05 - Server: 1 - Orders: [{"id":"11","position":0,"category_id":null},{"id":"17","position":1,"category_id":null},{"id":"20","position":2,"category_id":null},{"id":"21","position":3,"category_id":null},{"id":"19","position":4,"category_id":null},{"id":"10","position":5,"category_id":null},{"id":"1","position":6,"category_id":"10"},{"id":"6","position":7,"category_id":"10"},{"id":"15","position":8,"category_id":"10"},{"id":"2","position":9,"category_id":"10"},{"id":"18","position":10,"category_id":"10"},{"id":"14","position":11,"category_id":null},{"id":"13","position":12,"category_id":null},{"id":"9","position":13,"category_id":null},{"id":"3","position":14,"category_id":null}] diff --git a/includes/permissions.php b/includes/permissions.php index ea5a9ca..089a231 100644 --- a/includes/permissions.php +++ b/includes/permissions.php @@ -12,6 +12,7 @@ class Permissions { const PIN_THREADS = 256; const LOCK_THREADS = 512; const SEND_MESSAGES_IN_THREADS = 1024; + const SPEAK = 2048; public static function hasPermission($user_id, $server_id, $permission) { $stmt = db()->prepare("SELECT is_admin FROM users WHERE id = ?"); diff --git a/index.php b/index.php index 1f226b3..a2bc25e 100644 --- a/index.php +++ b/index.php @@ -1,6 +1,4 @@ - + +
+
+
+
Speak
+
Allows members to speak in this vocal channel.
+
+
+ + + + + + +
+
+
+ diff --git a/requests.log b/requests.log deleted file mode 100644 index 1815bf2..0000000 --- a/requests.log +++ /dev/null @@ -1,920 +0,0 @@ -2026-02-15 23:22:04 - GET /?fl_project=38443 - POST: [] -2026-02-15 23:27:59 - GET / - POST: [] -2026-02-15 23:28:03 - HEAD / - POST: [] -2026-02-15 23:28:16 - GET /?fl_project=38443 - POST: [] -2026-02-15 23:31:59 - GET /index.php?server_id=1&channel_id=10 - POST: [] -2026-02-15 23:32:07 - GET /index.php?server_id=1&channel_id=10 - POST: [] -2026-02-15 23:32:12 - GET /index.php?server_id=1&channel_id=10 - POST: [] -2026-02-15 23:36:00 - GET /index.php?server_id=1&channel_id=10 - POST: [] -2026-02-15 23:36:17 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-15 23:36:35 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:38:20 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:38:22 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-15 23:39:19 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:39:43 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-15 23:39:49 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-15 23:40:05 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-15 23:40:17 - GET /index.php?server_id=1&channel_id=14 - POST: [] -2026-02-15 23:40:21 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-15 23:40:49 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:42:44 - GET /?fl_project=38443 - POST: [] -2026-02-15 23:42:55 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:43:28 - GET /index.php - POST: [] -2026-02-15 23:44:37 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:44:49 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-15 23:44:52 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:44:58 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-15 23:45:04 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:45:05 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:45:11 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:45:12 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:45:13 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-15 23:45:17 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:45:41 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:46:38 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-15 23:46:40 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:46:42 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:46:50 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:47:06 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:47:16 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:47:23 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:47:45 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:48:03 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:49:16 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:52:12 - GET /?fl_project=38443 - POST: [] -2026-02-15 23:52:32 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:52:37 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-15 23:52:45 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:52:53 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:52:56 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:53:22 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:54:12 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:55:22 - GET /?fl_project=38443 - POST: [] -2026-02-15 23:55:42 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:55:45 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:56:14 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:56:41 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:57:05 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:57:30 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:57:46 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-15 23:57:49 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-15 23:59:43 - GET /?fl_project=38443 - POST: [] -2026-02-16 00:02:15 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:02:20 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:06:51 - GET /?fl_project=38443 - POST: [] -2026-02-16 00:11:43 - GET /?fl_project=38443 - POST: [] -2026-02-16 00:13:38 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:13:47 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:13:53 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:14:45 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:15:11 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:15:42 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:15:56 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:16:00 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:16:00 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:17:19 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:17:27 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:17:35 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 00:17:46 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:17:58 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 00:18:04 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:18:12 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 00:18:15 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 00:18:17 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:18:19 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-16 00:18:25 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 00:18:27 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:19:28 - GET /?fl_project=38443 - POST: [] -2026-02-16 00:23:03 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:23:08 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:23:14 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:23:19 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 00:24:37 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 00:24:58 - GET /index.php?server_id=1&channel_id=1 - POST: [] -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: [] -2026-02-16 00:36:39 - GET /index.php?server_id=dms - POST: [] -2026-02-16 00:36:43 - GET /index.php?server_id=dms&channel_id=7 - POST: [] -2026-02-16 00:36:46 - GET /index.php?server_id=dms&channel_id=7 - POST: [] -2026-02-16 00:36:48 - GET /index.php?server_id=1 - POST: [] -2026-02-16 00:36:56 - GET /index.php?server_id=1 - POST: [] -2026-02-16 00:37:04 - GET /index.php?server_id=dms - POST: [] -2026-02-16 00:37:05 - GET /index.php?server_id=1 - POST: [] -2026-02-16 00:38:00 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 00:39:58 - GET /index.php?server_id=1 - POST: [] -2026-02-16 02:38:56 - GET / - POST: [] -2026-02-16 02:54:58 - GET /?fl_project=38443 - POST: [] -2026-02-16 02:56:39 - GET /index.php?server_id=1 - POST: [] -2026-02-16 02:57:05 - GET /index.php?server_id=1 - POST: [] -2026-02-16 02:57:17 - GET /index.php?server_id=1 - POST: [] -2026-02-16 02:58:22 - GET /?fl_project=38443 - POST: [] -2026-02-16 02:59:03 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:05:28 - GET / - POST: [] -2026-02-16 03:06:27 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:07:23 - GET /index.php?server_id=1 - POST: [] -2026-02-16 03:07:43 - GET /index.php?server_id=1&channel_id=16 - POST: [] -2026-02-16 03:08:00 - GET /index.php?server_id=1&channel_id=16 - POST: [] -2026-02-16 03:08:21 - GET /index.php?server_id=1 - POST: [] -2026-02-16 03:08:30 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:09:15 - GET /index.php?server_id=1&channel_id=18 - POST: [] -2026-02-16 03:09:47 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 03:09:51 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:09:54 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:10:22 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:10:27 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:10:35 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:10:58 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:15:47 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:16:11 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:16:19 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:16:26 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:17:11 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:20:43 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:21:26 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:21:33 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:21:35 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:21:38 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:26:28 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:26:35 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:28:36 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:30:31 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 03:30:36 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 03:30:41 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:32:55 - GET / - POST: [] -2026-02-16 03:32:59 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:33:09 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:33:11 - GET /?fl_project=38443 - POST: [] -2026-02-16 03:33:12 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:33:14 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:33:34 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:33:37 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 03:35:52 - GET /?fl_project=38443 - POST: [] -2026-02-16 08:35:40 - GET /?fl_project=38443 - POST: [] -2026-02-16 08:37:05 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 08:54:29 - GET / - POST: [] -2026-02-16 08:54:39 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:42:27 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:47:00 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 12:47:29 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 12:47:34 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 12:48:16 - GET / - POST: [] -2026-02-16 12:48:18 - HEAD / - POST: [] -2026-02-16 12:48:24 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:48:45 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:51:34 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:53:59 - GET / - POST: [] -2026-02-16 12:54:11 - GET /?fl_project=38443 - POST: [] -2026-02-16 12:54:33 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 12:54:52 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 12:56:37 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 12:56:38 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 13:01:21 - GET / - POST: [] -2026-02-16 13:01:28 - GET /?fl_project=38443 - POST: [] -2026-02-16 13:03:56 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 13:06:06 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:06:15 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:06:20 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:06:25 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 13:06:41 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 13:06:43 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 13:06:45 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:11:31 - GET /?fl_project=38443 - POST: [] -2026-02-16 13:13:37 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:18:51 - GET /?fl_project=38443 - POST: [] -2026-02-16 13:19:22 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:25:42 - GET /?fl_project=38443 - POST: [] -2026-02-16 13:38:52 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 13:44:04 - GET /?fl_project=38443 - POST: [] -2026-02-16 14:10:45 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 14:10:52 - GET /index.php - POST: [] -2026-02-16 14:10:57 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 14:11:06 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 14:13:29 - GET /?fl_project=38443 - POST: [] -2026-02-16 16:20:04 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:20:11 - GET /index.php - POST: [] -2026-02-16 16:20:31 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:20:47 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:23:59 - GET / - POST: [] -2026-02-16 16:24:07 - GET /?fl_project=38443 - POST: [] -2026-02-16 16:24:48 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:24:51 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:25:36 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:32:41 - GET / - POST: [] -2026-02-16 16:32:49 - GET /?fl_project=38443 - POST: [] -2026-02-16 16:32:51 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:33:28 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:38:10 - GET / - POST: [] -2026-02-16 16:38:17 - GET /?fl_project=38443 - POST: [] -2026-02-16 16:58:08 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 16:58:15 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:01:50 - GET /?fl_project=38443 - POST: [] -2026-02-16 17:03:56 - GET / - POST: [] -2026-02-16 17:04:02 - GET /?fl_project=38443 - POST: [] -2026-02-16 17:08:30 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:29 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:33 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:34 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:38 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:50 - GET /index.php - POST: [] -2026-02-16 17:09:55 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:57 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:09:59 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 17:41:16 - GET / - POST: [] -2026-02-16 17:41:28 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:00:22 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:03:21 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:23:09 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:29:00 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 18:39:35 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:39:37 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:39:39 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:39:40 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 18:40:37 - GET /index.php?server_id=1&channel_id=18 - POST: [] -2026-02-16 18:40:39 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 18:41:42 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 18:41:48 - GET /index.php?server_id=1&channel_id=2 - POST: [] -2026-02-16 18:41:51 - GET /index.php?server_id=1&channel_id=18 - POST: [] -2026-02-16 18:42:47 - GET /index.php?server_id=1 - POST: [] -2026-02-16 18:42:50 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:43:03 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:43:06 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 18:43:30 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:43:38 - GET /index.php?server_id=1&channel_id=19 - POST: [] -2026-02-16 18:47:12 - GET / - POST: [] -2026-02-16 18:47:41 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:48:13 - GET /index.php?server_id=1&channel_id=19 - POST: [] -2026-02-16 18:48:31 - GET /index.php?server_id=1&channel_id=19 - POST: [] -2026-02-16 18:48:34 - GET /index.php?server_id=1&channel_id=19 - POST: [] -2026-02-16 18:48:39 - GET /index.php?server_id=1&channel_id=19 - POST: [] -2026-02-16 18:50:31 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:50:41 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:51:08 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:54:57 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:54:58 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 18:55:39 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 18:56:06 - GET /?fl_project=38443 - POST: [] -2026-02-16 18:56:52 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:05:49 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:06:59 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:09:05 - GET / - POST: [] -2026-02-16 19:09:11 - GET /?fl_project=38443 - POST: [] -2026-02-16 19:09:19 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:09:23 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:11:40 - GET /?fl_project=38443 - POST: [] -2026-02-16 19:15:47 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:15:54 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:16:02 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 19:19:15 - GET /?fl_project=38443 - POST: [] -2026-02-16 20:15:59 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 20:16:11 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 20:18:56 - GET /?fl_project=38443 - POST: [] -2026-02-16 20:29:33 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 20:29:40 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 20:35:04 - GET /?fl_project=38443 - POST: [] -2026-02-16 20:49:01 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:20:57 - GET /?fl_project=38443 - POST: [] -2026-02-16 21:30:31 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:30:38 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:31:19 - GET /?fl_project=38443 - POST: [] -2026-02-16 21:33:59 - GET /?fl_project=38443 - POST: [] -2026-02-16 21:35:15 - GET /?fl_project=38443 - POST: [] -2026-02-16 21:46:25 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:46:33 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:48:54 - api_v1_user.php - - POST: {"username":"testuser","theme":"light"} -2026-02-16 21:48:58 - api_v1_user.php - POST - POST: {"username":"testuser","theme":"light"} -2026-02-16 21:53:22 - GET /?fl_project=38443 - POST: [] -2026-02-16 21:56:55 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:57:11 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:57:15 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 21:57:23 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-16 22:01:01","method":"POST","post":{"username":"DebugUser","theme":"light"},"session":{"user_id":1},"user_id":1,"db_success":true} -2026-02-16 22:01:28 - GET /?fl_project=38443 - POST: [] -2026-02-16 22:01:51 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 22:01:56 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 22:02:03 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-16 22:02:07","method":"POST","post":{"avatar_url":"","username":"swefpifh","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2,"username":"swefpifh"},"user_id":2,"db_success":true} -2026-02-16 22:02:08 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 22:02:09 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 22:02:28 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 22:02:30 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:02:33 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-16 22:02:52 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:03:17 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:03:19 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:08:26 - GET /?fl_project=38443 - POST: [] -2026-02-16 22:08:27 - GET /index.php?server_id=1&channel_id=17 - POST: [] -{"date":"2026-02-16 22:08:44","method":"POST","post":{"avatar_url":"","username":"swefpifh","dnd_mode":"1","sound_notifications":"1","theme":"light"},"session":{"user_id":2,"username":"swefpifh"},"user_id":2,"db_success":true} -2026-02-16 22:08:45 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:08:46 - GET /index.php?server_id=1&channel_id=17 - POST: [] -{"date":"2026-02-16 22:08:52","method":"POST","post":{"avatar_url":"","username":"swefpifh","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2,"username":"swefpifh"},"user_id":2,"db_success":true} -2026-02-16 22:08:52 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:09:17 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:53:00 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 22:53:02 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 22:53:49 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:54:14 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:57:26 - GET / - POST: [] -2026-02-16 22:57:44 - GET /?fl_project=38443 - POST: [] -2026-02-16 22:58:55 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 22:59:59 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:00:03 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:08 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:09 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:18 - GET /index.php - POST: [] -2026-02-16 23:00:20 - GET /index.php - POST: [] -2026-02-16 23:00:24 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:26 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:28 - GET /index.php?server_id=1&channel_id=17 - POST: [] -{"date":"2026-02-16 23:00:56","method":"POST","post":{"avatar_url":"","username":"swef","theme":"light","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-16 23:00:57 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:00:59 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:01:02 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:01:08 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 23:01:09 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 23:01:23 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 23:04:26 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:05:06 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:05:13 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-16 23:05:15 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 23:05:29 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-16 23:13:30 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:18:05 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:18:47 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:26:02 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:26:50 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:27:48 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:28:42 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:28:44 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:30:14 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:30:27 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:31:15 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:31:17 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:31:45 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:31:46 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:32:05 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:32:07 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:32:49 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 23:32:53 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:33:23 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:33:24 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:33:50 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:34:25 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:34:50 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:34:54 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:35:43 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:35:58 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:36:07 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:36:08 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:36:54 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:37:08 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:37:26 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:39:35 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:39:49 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:39:52 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-16 23:39:53 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:40:18 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:40:19 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:44:06 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:45:42 - GET /?fl_project=38443 - POST: [] -2026-02-16 23:45:45 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-16 23:45:46 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:46:19 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:46:41 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:47:02 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-16 23:48:40 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:21:52 - GET /?fl_project=38443 - POST: [] -2026-02-17 00:22:06 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:22:15 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:22:19 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:30:57 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 00:32:51 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:33:04 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:34:28 - GET /index.php?server_id=1&channel_id=12 - POST: [] -2026-02-17 00:34:40 - GET /index.php?server_id=1 - POST: [] -2026-02-17 00:34:45 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 00:35:23 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 00:43:23 - - POST: [] -2026-02-17 00:44:01 - GET /index.php - POST: [] -2026-02-17 00:44:15 - GET /?fl_project=38443 - POST: [] -2026-02-17 00:45:12 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 00:45:14 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 00:45:21 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-17 00:45:23 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 00:48:04 - GET / - POST: [] -2026-02-17 00:48:39 - GET /?fl_project=38443 - POST: [] -2026-02-17 00:48:50 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 00:57:46 - GET / - POST: [] -2026-02-17 00:58:08 - GET /?fl_project=38443 - POST: [] -2026-02-17 00:58:11 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 00:58:14 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 01:02:05 - GET / - POST: [] -2026-02-17 01:02:20 - GET /?fl_project=38443 - POST: [] -2026-02-17 01:02:36 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 08:06:32 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 08:06:36 - GET /index.php - POST: [] -2026-02-17 08:06:39 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 08:10:08 - GET /?fl_project=38443 - POST: [] -2026-02-17 08:15:51 - GET /?fl_project=38443 - POST: [] -2026-02-17 08:17:13 - GET /?fl_project=38443 - POST: [] -2026-02-17 08:18:43 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 08:19:02 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-17 08:19:06 - GET /index.php?server_id=1&channel_id=20 - POST: [] -2026-02-17 08:19:16 - GET /index.php?server_id=1 - POST: [] -2026-02-17 08:19:29 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-17 08:20:44 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-17 08:20:46 - GET /index.php?server_id=1&channel_id=11 - POST: [] -2026-02-17 08:20:48 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-17 08:27:06 - GET /?fl_project=38443 - POST: [] -2026-02-17 08:31:06 - GET / - POST: [] -2026-02-17 08:31:24 - GET /?fl_project=38443 - POST: [] -2026-02-17 08:46:59 - GET /index.php?server_id=1&channel_id=21 - POST: [] -{"date":"2026-02-17 08:47:14","method":"POST","post":{"avatar_url":"","display_name":"swefpifh\u00b2","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 08:47:14 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-17 08:47:19 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:19:30 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:19:32 - GET /index.php - POST: [] -{"date":"2026-02-17 09:20:03","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-17 09:20:03 - GET /index.php - POST: [] -{"date":"2026-02-17 09:20:46","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 09:20:47 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-17 09:21:25","method":"POST","post":{"avatar_url":"","display_name":"\u1d47\u02b0\u1da0\u02b3 swefpifh","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 09:21:25 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-17 09:22:02","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","dnd_mode":"1","sound_notifications":"1","theme":"dark"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 09:22:02 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:22:13 - GET /index.php - POST: [] -2026-02-17 09:22:18 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 09:22:20 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:22:25 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-17 09:22:29 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:36:55 - GET /?fl_project=38443 - POST: [] -2026-02-17 09:48:03 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 09:56:28 - GET /?fl_project=38443 - POST: [] -2026-02-17 09:57:00 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 11:37:20 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-17 11:43:18 - GET /?fl_project=38443 - POST: [] -2026-02-17 11:43:46 - GET /?fl_project=38443 - POST: [] -2026-02-17 11:46:49 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 11:46:58 - GET /index.php?server_id=1&channel_id=3 - POST: [] -2026-02-17 11:49:14 - GET /?fl_project=38443 - POST: [] -2026-02-17 11:56:37 - GET /?fl_project=38443 - POST: [] -2026-02-17 11:56:49 - GET /index.php?server_id=1&channel_id=3 - POST: [] -2026-02-17 11:56:58 - GET /index.php?server_id=1&channel_id=3 - POST: [] -2026-02-17 11:57:08 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 11:57:14 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:01:03 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:08:31 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:08:36 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-17 12:09:05","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 12:09:05 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:14:02 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:14:47 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:15:05 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:18:43 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:22:00 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:23:42 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:24:23 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:25:06 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:25:50 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:27:17 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:28:56 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:32:39 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:34:47 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:38:46 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:44:53 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:45:22 - GET /?fl_project=38443 - POST: [] -2026-02-17 12:50:07 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 12:51:03 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:29:32 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:34:34 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 13:35:23 - - POST: [] -2026-02-17 13:35:28 - GET / - POST: [] -2026-02-17 13:44:18 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:44:19 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 13:44:44 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:46:48 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:47:13 - GET /index.php - POST: [] -2026-02-17 13:47:48 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:47:48 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:49:26 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:52:42 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:30 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:31 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:33 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:34 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:44 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:53:50 - GET /index.php - POST: [] -2026-02-17 13:53:52 - GET /index.php - POST: [] -2026-02-17 13:54:13 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-17 13:54:23 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 13:54:34 - GET /index.php?server_id=1&channel_id=3 - POST: [] -2026-02-17 13:54:40 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 13:54:53","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 13:54:54 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 13:55:35 - GET /index.php?server_id=1&channel_id=6 - POST: [] -{"date":"2026-02-17 13:56:01","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-17 13:56:02 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-17 13:56:22 - GET /?fl_project=38443 - POST: [] -2026-02-17 13:56:32 - GET /index.php - POST: [] -2026-02-17 14:03:44 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:03:45 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:04:57 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:05:10 - GET /index.php - POST: [] -2026-02-17 14:05:34 - GET /index.php - POST: [] -2026-02-17 14:05:36 - GET /index.php - POST: [] -2026-02-17 14:12:18 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:12:41","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:12:42 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:12:48 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:12:58","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:12:59 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:23:18 - GET / - POST: [] -2026-02-17 14:23:53 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:23:54 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:34:38 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:34:58 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:35:14 - GET /index.php - POST: [] -{"date":"2026-02-17 14:36:59","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:37:00 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:42:23 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:42:24 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:43:06 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:43:18","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:43:19 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:43:51 - GET /index.php - POST: [] -{"date":"2026-02-17 14:44:07","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.1","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-17 14:44:07 - GET /index.php - POST: [] -{"date":"2026-02-17 14:44:43","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:44:43 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:45:25","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:45:26 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:46:17","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:46:17 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:46:39","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:46:40 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:48:43","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:48:44 - GET /index.php?server_id=1&channel_id=22 - POST: [] -{"date":"2026-02-17 14:48:59","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"1","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 14:48:59 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 14:59:20 - GET / - POST: [] -2026-02-17 14:59:50 - GET /?fl_project=38443 - POST: [] -2026-02-17 14:59:50 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:02:24 - GET /index.php?server_id=1&channel_id=22 - POST: [] -2026-02-17 15:02:30 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:02:45","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 15:02:57 - GET /index.php - POST: [] -2026-02-17 15:03:02 - GET /index.php - POST: [] -{"date":"2026-02-17 15:03:19","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-17 15:03:33 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:03:41","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.01","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:03:44","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.01","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:04:13","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.38","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-17 15:04:30 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:04:48","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 15:04:52 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:05:02","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:05:57","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 15:06:05 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:06:09 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:07:56","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:08:11","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 15:14:44 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:14:44 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:18:05 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:18:05 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:19:12 - GET /index.php?server_id=1&channel_id=1 - POST: [] -{"date":"2026-02-17 15:19:29","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"0","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:19:34","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"0","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:19:53","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"0","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-17 15:19:56 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:20:01 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:23:33 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:23:33 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:32:11 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:32:29 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:33:22 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:35:42 - GET / - POST: [] -2026-02-17 15:36:35 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:36:35 - GET /?fl_project=38443 - POST: [] -2026-02-17 15:46:33 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-17 15:46:36 - GET /index.php - POST: [] -{"date":"2026-02-17 15:47:00","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -{"date":"2026-02-17 15:47:36","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"ptt","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-17 15:48:00","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -{"date":"2026-02-17 15:48:41","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-18 16:03:28 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:03:33 - GET / - POST: [] -2026-02-18 16:03:54 - GET /index.php?server_id=1&channel_id=3 - POST: [] -2026-02-18 16:04:41 - GET /?server_id=1&channel_id=18 - POST: [] -2026-02-18 16:04:48 - GET /?server_id=1&channel_id=18 - POST: [] -2026-02-18 16:12:25 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:14:55 - GET /?server_id=1&channel_id=18 - POST: [] -2026-02-18 16:17:10 - GET / - POST: [] -2026-02-18 16:20:19 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:21:39 - GET /index.php - POST: [] -2026-02-18 16:27:32 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:32:55 - GET / - POST: [] -2026-02-18 16:33:31 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:33:40 - GET /index.php - POST: [] -2026-02-18 16:37:19 - GET / - POST: [] -2026-02-18 16:37:47 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:39:21 - GET /index.php - POST: [] -2026-02-18 16:40:32 - GET /index.php - POST: [] -2026-02-18 16:43:32 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:45:36 - GET / - POST: [] -2026-02-18 16:45:55 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:47:17 - GET /index.php - POST: [] -2026-02-18 16:56:38 - GET /index.php - POST: [] -2026-02-18 16:57:15 - GET /?fl_project=38443 - POST: [] -2026-02-18 16:57:23 - GET /index.php - POST: [] -2026-02-18 17:00:18 - GET /?fl_project=38443 - POST: [] -2026-02-18 18:08:55 - GET /index.php - POST: [] -2026-02-18 18:09:11 - GET /index.php - POST: [] -2026-02-18 18:09:30 - GET /index.php - POST: [] -2026-02-18 18:09:31 - GET /index.php - POST: [] -2026-02-18 18:10:17 - GET /index.php - POST: [] -2026-02-18 18:16:02 - GET /?fl_project=38443 - POST: [] -2026-02-18 18:24:35 - GET /index.php - POST: [] -2026-02-18 18:24:40 - GET /index.php - POST: [] -2026-02-18 18:24:50 - GET /index.php - POST: [] -2026-02-18 18:25:18 - GET /index.php - POST: [] -2026-02-18 18:25:21 - GET /index.php - POST: [] -2026-02-18 18:28:00 - GET /?fl_project=38443 - POST: [] -2026-02-18 18:39:54 - GET /?fl_project=38443 - POST: [] -2026-02-18 18:43:31 - GET / - POST: [] -2026-02-18 18:44:03 - GET /?fl_project=38443 - POST: [] -2026-02-18 19:06:59 - GET /index.php - POST: [] -2026-02-18 19:07:22 - GET /index.php - POST: [] -2026-02-18 19:08:00 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-18 19:11:46 - GET /index.php - POST: [] -2026-02-18 19:13:10 - GET /?fl_project=38443 - POST: [] -2026-02-18 19:14:15 - GET /index.php - POST: [] -2026-02-18 19:14:22 - GET /index.php - POST: [] -2026-02-18 19:14:31 - GET /index.php - POST: [] -2026-02-18 19:15:26 - GET /index.php - POST: [] -2026-02-18 19:15:30 - GET /index.php - POST: [] -2026-02-18 19:15:31 - GET /index.php - POST: [] -2026-02-18 19:17:56 - GET /?fl_project=38443 - POST: [] -2026-02-18 19:21:05 - GET /?fl_project=38443 - POST: [] -2026-02-18 19:34:14 - GET /index.php - POST: [] -2026-02-18 19:34:43 - GET /index.php - POST: [] -2026-02-18 19:35:59 - GET /index.php?server_id=3 - POST: [] -2026-02-18 19:36:04 - GET /index.php?server_id=1 - POST: [] -2026-02-18 19:36:06 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-18 19:36:50 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 19:37:29 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-18 19:37:38 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 19:40:34 - GET /?fl_project=38443 - POST: [] -2026-02-18 19:52:03 - GET / - POST: [] -2026-02-18 19:52:24 - GET /?fl_project=38443 - POST: [] -2026-02-18 20:29:14 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 20:30:52 - GET /index.php - POST: [] -2026-02-18 20:30:56 - GET /index.php - POST: [] -2026-02-18 20:34:19 - GET /?fl_project=38443 - POST: [] -2026-02-18 20:34:24 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 20:37:05 - GET /index.php - POST: [] -2026-02-18 20:40:59 - GET / - POST: [] -2026-02-18 20:41:49 - GET /?fl_project=38443 - POST: [] -2026-02-18 20:42:02 - GET /index.php?server_id=1&channel_id=15 - POST: [] -{"date":"2026-02-18 20:42:33","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.12","dnd_mode":"1","sound_notifications":"1","voice_echo_cancellation":"0","voice_noise_suppression":"0"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-18 20:42:41","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.12","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-18 20:42:48","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.29","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-18 20:42:56","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.35","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-18 20:46:44 - GET /?fl_project=38443 - POST: [] -2026-02-18 20:57:39 - GET /?fl_project=38443 - POST: [] -2026-02-18 20:58:54 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 21:00:09 - GET /?fl_project=38443 - POST: [] -2026-02-18 21:08:02 - GET /?fl_project=38443 - POST: [] -2026-02-18 22:31:51 - GET /index.php?server_id=1&channel_id=15 - POST: [] -2026-02-18 22:32:17 - GET /index.php - POST: [] -{"date":"2026-02-18 22:32:48","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.17","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -2026-02-19 00:21:00 - GET /index.php - POST: [] -2026-02-19 11:31:34 - GET /index.php - POST: [] -2026-02-19 11:33:16 - GET /?fl_project=38443 - POST: [] -2026-02-19 11:45:34 - GET /index.php - POST: [] -2026-02-19 11:45:58 - GET /index.php?server_id=3 - POST: [] -2026-02-19 11:54:36 - GET /?fl_project=38443 - POST: [] -2026-02-19 11:58:54 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:03:16 - GET / - POST: [] -2026-02-19 12:03:36 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:03:56 - GET /index.php - POST: [] -2026-02-19 12:03:58 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:04:13 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:04:26 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:04:36 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:04:45 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:05:21 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:05:25 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:05:28 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:05:33 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:05:47 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:05:49 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:06:00 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:06:08 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:06:31 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:06:44 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:06:52 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:07:05 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:07:19 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:07:39 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:07:41 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:13:43 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:15:17 - GET / - POST: [] -2026-02-19 12:15:50 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:15:53 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:15:57 - GET /index.php?server_id=1&channel_id=13&thread_id=1 - POST: [] -2026-02-19 12:16:00 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:16:03 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:16:05 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:16:07 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:16:27 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:16:30 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:16:44 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:16:48 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:16:49 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:16:55 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:16:57 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:16:58 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:17:01 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:17:05 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:17:12 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:17:13 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:17:38 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:17:49 - GET /index.php?server_id=1&channel_id=18 - POST: [] -2026-02-19 12:17:50 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:18:00 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:18:02 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:18:04 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:18:09 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:18:11 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:18:15 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:18:29 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:18:33 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:18:58 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:19:02 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:22:26 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:35:03 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:35:49 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:40:12 - GET / - POST: [] -2026-02-19 12:40:37 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:40:45 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-19 12:40:48 - GET /index.php?server_id=1&channel_id=6 - POST: [] -2026-02-19 12:40:51 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:40:54 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:40:58 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:00 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:41:02 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:03 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:41:18 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:19 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:41:22 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:23 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:41:32 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:38 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:41:41 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:42 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:41:46 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:48 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:41:52 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:41:56 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:43:11 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:43:25 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:43:45 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:44:28 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:44:41 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:52:27 - GET /?fl_project=38443 - POST: [] -2026-02-19 12:52:31 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:05 - GET /index.php - POST: [] -2026-02-19 12:53:07 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:53:11 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:22 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:31 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:37 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:43 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:53:46 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:53:51 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:53:53 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:54:03 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:54:07 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 12:54:10 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:54:12 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 12:54:22 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:54:23 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:54:30 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:54:32 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:54:35 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:54:45 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:54:51 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:54:56 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:55:11 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 12:55:21 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 12:55:23 - GET /index.php?server_id=1&channel_id=13&status=unresolved - POST: [] -2026-02-19 12:55:25 - GET /index.php?server_id=1&channel_id=13&status=resolved - POST: [] -2026-02-19 12:55:27 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 12:55:44 - GET /index.php?server_id=1&channel_id=13&thread_id=2&status=all - POST: [] -2026-02-19 12:56:08 - GET /index.php?server_id=1&channel_id=13&thread_id=2&status=all - POST: [] -2026-02-19 12:56:11 - GET /index.php?server_id=1&channel_id=13&thread_id=2&status=all - POST: [] -2026-02-19 12:56:13 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 12:56:19 - GET /index.php?server_id=1&channel_id=13&thread_id=2&status=all - POST: [] -2026-02-19 12:56:39 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 12:56:41 - GET /index.php?server_id=1&channel_id=13&thread_id=3&status=all - POST: [] -2026-02-19 12:56:49 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 12:57:00 - GET /index.php?server_id=1&channel_id=13&thread_id=3&status=all - POST: [] -2026-02-19 12:57:10 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 12:57:20 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:01:56 - GET /?fl_project=38443 - POST: [] -2026-02-19 13:03:44 - GET /?fl_project=38443 - POST: [] -2026-02-19 13:04:14 - GET /?fl_project=38443 - POST: [] -2026-02-19 13:09:42 - GET /?fl_project=38443 - POST: [] -2026-02-19 13:09:49 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:09:53 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:10:00 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:10:09 - GET /index.php?server_id=1&channel_id=13&thread_id=3&status=all - POST: [] -2026-02-19 13:10:12 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:10:17 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:10:19 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:10:34 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:10:46 - GET /index.php?server_id=1&channel_id=21 - POST: [] -2026-02-19 13:10:54 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:11:06 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:11:18 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:11:37 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:11:49 - GET /index.php?server_id=1&channel_id=13&status=all - POST: [] -2026-02-19 13:11:51 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:11:51 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:11:54 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:11:57 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:11:59 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:03 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:12:05 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:07 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:12:23 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:12:26 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:28 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:12:31 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:32 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:12:34 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:44 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:45 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:12:48 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:12:49 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:12:54 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:12:58 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:13:01 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:13:03 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:13:05 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:13:07 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:13:12 - GET /index.php?server_id=1&channel_id=13&thread_id=4 - POST: [] -2026-02-19 13:13:14 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:13:21 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:13:30 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:13:45 - GET /index.php?server_id=1&channel_id=13&thread_id=5 - POST: [] -2026-02-19 13:13:48 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:14:34 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-19 13:14:36 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-19 13:14:38 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-19 13:15:06 - GET /index.php?server_id=1&channel_id=17 - POST: [] -2026-02-19 13:15:08 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-19 13:15:12 - GET /index.php?server_id=1&channel_id=1 - POST: [] -2026-02-19 13:15:30 - GET /index.php - POST: [] -2026-02-19 13:15:33 - GET /index.php - POST: [] -2026-02-19 13:15:34 - GET /index.php - POST: [] -{"date":"2026-02-19 13:16:18","method":"POST","post":{"avatar_url":"","display_name":"swefpifh \u1d47\u02b0\u1da0\u02b3","theme":"dark","voice_input_device":"OPTIyYzx3bNI0gtW62vaTCb7SxzY5rNnwOw5G42w36M=","voice_output_device":"znHy1zh6U7iZkBs7ovKSXvb3r4k0jk0DBbg\/TtaWmwk=","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"vox","voice_ptt_key":"v","voice_vox_threshold":"0.11","dnd_mode":"1","sound_notifications":"1"},"session":{"user_id":2},"user_id":2,"db_success":true} -{"date":"2026-02-19 13:17:25","method":"POST","post":{"avatar_url":"","display_name":"swefheim","theme":"light","voice_input_device":"default","voice_output_device":"default","voice_input_volume":"1","voice_output_volume":"1","voice_echo_cancellation":"1","voice_noise_suppression":"1","voice_mode":"ptt","voice_ptt_key":"v","voice_vox_threshold":"0.06","dnd_mode":"0","sound_notifications":"0"},"session":{"user_id":3},"user_id":3,"db_success":true} -2026-02-19 13:19:38 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:19:56 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:19:59 - GET /index.php?server_id=1&channel_id=13&thread_id=2 - POST: [] -2026-02-19 13:20:01 - GET /index.php?server_id=1&channel_id=13 - POST: [] -2026-02-19 13:20:10 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:20:12 - GET /index.php?server_id=1&channel_id=13&thread_id=3 - POST: [] -2026-02-19 13:20:13 - GET /index.php?server_id=1&channel_id=13 - POST: [] diff --git a/test_reorder.php b/test_reorder.php deleted file mode 100644 index 828c8d6..0000000 --- a/test_reorder.php +++ /dev/null @@ -1,17 +0,0 @@ - 1, 'position' => 1, 'category_id' => null], - ['id' => 10, 'position' => 0, 'category_id' => null], - ['id' => 6, 'position' => 2, 'category_id' => null], - ['id' => 2, 'position' => 3, 'category_id' => null], - ['id' => 9, 'position' => 4, 'category_id' => null], - ['id' => 3, 'position' => 5, 'category_id' => null] -]; -$server_id = 1; -$stmt = db()->prepare("UPDATE channels SET position = ?, category_id = ? WHERE id = ? AND server_id = ?"); -foreach ($orders as $o) { - $stmt->execute([$o['position'], $o['category_id'], $o['id'], $server_id]); - echo "Updated ID {$o['id']} to position {$o['position']}\n"; -} -?> diff --git a/test_save.php b/test_save.php deleted file mode 100644 index 838095b..0000000 --- a/test_save.php +++ /dev/null @@ -1,7 +0,0 @@ -