diff --git a/api/get_profile.php b/api/get_profile.php index 3ec71e3..967f3ee 100644 --- a/api/get_profile.php +++ b/api/get_profile.php @@ -10,11 +10,9 @@ if (!isset($_GET['user_id'])) { } $user_id = (int)$_GET['user_id']; -$stmt = $db->prepare("SELECT u.username, u.display_name, u.level_id, u.guild_id, +$stmt = $db->prepare("SELECT u.username, u.display_name, u.level_id, u.guild_id, u.role, 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 + g.name as guild_name, g.tag as guild_tag FROM users u LEFT JOIN levels l ON u.level_id = l.id LEFT JOIN titles t ON u.selected_title_id = t.id @@ -30,12 +28,27 @@ if (!$u) { exit; } +// Fetch grade +$grade_type = ($u['role'] === 'admin') ? 'admin' : 'utilisateur'; +$level_num = (int)filter_var($u['level_name'] ?? '1', FILTER_SANITIZE_NUMBER_INT); + +$g_stmt = $db->prepare("SELECT name, image_url FROM grades + WHERE user_type = ? + AND (min_level <= ? OR min_level IS NULL) + AND (max_level >= ? OR max_level IS NULL) + LIMIT 1"); +$g_stmt->execute([$grade_type, $level_num, $level_num]); +$grade_data = $g_stmt->fetch(PDO::FETCH_ASSOC); + +$grade_name = $grade_data['name'] ?? "Recrue"; +$grade_image = $grade_data['image_url'] ?? "assets/images/placeholder_grade.png"; + ob_start(); ?>