From e3787e5b78f833a61bc800ea065a2a478364a6ed Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Mon, 16 Mar 2026 22:54:13 +0000 Subject: [PATCH] Autosave: 20260316-225413 --- api/get_profile.php | 59 ++++++++++++++++++++++++++++++++++++++++ assets/js/main.js | 65 +++++++++++++++++++++++++++++---------------- guilde.php | 2 +- 3 files changed, 102 insertions(+), 24 deletions(-) create mode 100644 api/get_profile.php diff --git a/api/get_profile.php b/api/get_profile.php new file mode 100644 index 0000000..3ec71e3 --- /dev/null +++ b/api/get_profile.php @@ -0,0 +1,59 @@ + 'Missing user_id']); + exit; +} + +$user_id = (int)$_GET['user_id']; +$stmt = $db->prepare("SELECT u.username, u.display_name, u.level_id, u.guild_id, + l.name as level_name, t.name as title_name, b.name as badge_name, b.image_url as badge_image, + g.name as guild_name, g.tag as guild_tag, + (SELECT name FROM levels WHERE id = u.level_id) as grade_name, + (SELECT image_url FROM levels WHERE id = u.level_id) as grade_image + FROM users u + LEFT JOIN levels l ON u.level_id = l.id + LEFT JOIN titles t ON u.selected_title_id = t.id + LEFT JOIN badges b ON u.selected_badge_id = b.id + LEFT JOIN guilds g ON u.guild_id = g.id + WHERE u.id = ?"); +$stmt->execute([$user_id]); +$u = $stmt->fetch(PDO::FETCH_ASSOC); + +if (!$u) { + http_response_code(404); + echo json_encode(['error' => 'User not found']); + exit; +} + +ob_start(); +?> +
+
+ " class="profile-grade-img"> + +
+ + Niveau +
+
Guilde
+
+ +
[]
+
Aucune guilde
+ +
+
+
+
Insigne Équipé
+ +
Aucun insigne +
+
+ $html]); diff --git a/assets/js/main.js b/assets/js/main.js index 892c504..7a0bc05 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -11,29 +11,48 @@ document.addEventListener('DOMContentLoaded', () => { chatMessages.scrollTop = chatMessages.scrollHeight; }; - chatForm.addEventListener('submit', async (e) => { - e.preventDefault(); - const message = chatInput.value.trim(); - if (!message) return; + if (chatForm) { + chatForm.addEventListener('submit', async (e) => { + e.preventDefault(); + const message = chatInput.value.trim(); + if (!message) return; - appendMessage(message, 'visitor'); - chatInput.value = ''; + appendMessage(message, 'visitor'); + chatInput.value = ''; - try { - const response = await fetch('api/chat.php', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ message }) - }); - const data = await response.json(); - - // Artificial delay for realism - setTimeout(() => { - appendMessage(data.reply, 'bot'); - }, 500); - } catch (error) { - console.error('Error:', error); - appendMessage("Désolé, une erreur est survenue. Veuillez réessayer.", 'bot'); - } - }); + try { + const response = await fetch('api/chat.php', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ message }) + }); + const data = await response.json(); + + // Artificial delay for realism + setTimeout(() => { + appendMessage(data.reply, 'bot'); + }, 500); + } catch (error) { + console.error('Error:', error); + appendMessage("Désolé, une erreur est survenue. Veuillez réessayer.", 'bot'); + } + }); + } }); + +async function loadProfile(userId) { + const modal = document.getElementById('profileModal'); + const content = document.getElementById('profileModalContent'); + if (!modal || !content) return; + + try { + const response = await fetch('api/get_profile.php?user_id=' + userId); + const data = await response.json(); + if (data.html) { + content.innerHTML = data.html; + modal.style.display = 'flex'; + } + } catch (error) { + console.error('Error loading profile:', error); + } +} \ No newline at end of file diff --git a/guilde.php b/guilde.php index a7367dd..8002f95 100644 --- a/guilde.php +++ b/guilde.php @@ -223,7 +223,7 @@ if ($in_guild) { - @ + )">@ Quitter