prepare(" SELECT SUM(r.permissions) as total_perms FROM roles r JOIN user_roles ur ON r.id = ur.role_id WHERE ur.user_id = ? AND r.server_id = ? "); $stmt->execute([$user_id, $server_id]); $row = $stmt->fetch(); $perms = (int)($row['total_perms'] ?? 0); if ($perms & self::ADMINISTRATOR) return true; return ($perms & $permission) === $permission; } }