diff --git a/conversations.php b/conversations.php index 0ca3368..57bc31a 100644 --- a/conversations.php +++ b/conversations.php @@ -1357,7 +1357,25 @@ case 'image': // Usar miniatura local si existe, al abrir expandir con el archivo local completo o con media-url redirect const thumb = msg.local_thumb ? (`/${msg.local_thumb}`) : (msg.local_file ? (`/${msg.local_file}`) : (msg.media_url_external || mediaUrl)); - const full = msg.local_file ? (`/api/version/media-url.php?local=${encodeURIComponent(msg.local_file)}`) : (`/api/version/media-url.php?id=${encodeURIComponent(msg.media_url || '')}`); + let full = ''; + if (msg.local_file) { + full = `/api/version/media-url.php?local=${encodeURIComponent(msg.local_file)}`; + } else if (msg.media_url_external) { + // Si viene una ruta del tipo api/get_media.php?id=XXX extraer id + if (msg.media_url_external.indexOf('api/get_media.php?id=') !== -1) { + const parts = msg.media_url_external.split('id='); + const mid = parts[1] ? decodeURIComponent(parts[1]) : ''; + full = `/api/version/media-url.php?id=${encodeURIComponent(mid)}`; + } else if (/^https?:\/\//i.test(msg.media_url_external)) { + // URL directa + full = msg.media_url_external; + } else { + // fallback: pasar como url + full = `/api/version/media-url.php?url=${encodeURIComponent(msg.media_url_external)}`; + } + } else { + full = mediaUrl || ''; + } return `