Update chat_window.php
This commit is contained in:
+5
-6
@@ -612,11 +612,10 @@ if (empty($user_id)) {
|
|||||||
thumbUrl = `/${msg.local_thumb}`;
|
thumbUrl = `/${msg.local_thumb}`;
|
||||||
} else if (isValidMediaUrl(msg.local_file)) {
|
} else if (isValidMediaUrl(msg.local_file)) {
|
||||||
thumbUrl = `/${msg.local_file}`;
|
thumbUrl = `/${msg.local_file}`;
|
||||||
} else if (isValidMediaUrl(msg.media_url_external)) {
|
} else if (isValidMediaUrl(msg.effective_media) || isValidMediaUrl(msg.media_url_external)) {
|
||||||
// Si es una URL externa de Facebook/lookaside, usar el proxy para incluir Authorization
|
// Priorizar effective_media si existe; usar proxy para Facebook/lookaside
|
||||||
const external = msg.media_url_external;
|
const external = isValidMediaUrl(msg.effective_media) ? msg.effective_media : msg.media_url_external;
|
||||||
if (/lookaside\.fbsbx\.com|graph\.facebook\.com|facebook\.com/i.test(external)) {
|
if (/lookaside\.fbsbx\.com|graph\.facebook\.com|facebook\.com/i.test(external)) {
|
||||||
// Intentar extraer mid del query string para usar ?id=
|
|
||||||
const midMatch = external.match(/[?&]mid=([^&]+)/i);
|
const midMatch = external.match(/[?&]mid=([^&]+)/i);
|
||||||
if (midMatch && midMatch[1]) {
|
if (midMatch && midMatch[1]) {
|
||||||
const mid = decodeURIComponent(midMatch[1]);
|
const mid = decodeURIComponent(midMatch[1]);
|
||||||
@@ -693,8 +692,8 @@ if (empty($user_id)) {
|
|||||||
case 'document':
|
case 'document':
|
||||||
const filename = msg.filename || msg.content || 'Documento';
|
const filename = msg.filename || msg.content || 'Documento';
|
||||||
const fileIcon = getFileIcon(filename);
|
const fileIcon = getFileIcon(filename);
|
||||||
// Construir URL de descarga usando media_url_external o archivo local (validar fuentes)
|
// Construir URL de descarga usando effective_media o archivo local (validar fuentes)
|
||||||
let docSource = isValidMediaUrl(msg.media_url_external) ? msg.media_url_external : (isValidMediaUrl(msg.local_file) ? msg.local_file : null);
|
let docSource = isValidMediaUrl(msg.effective_media) ? msg.effective_media : (isValidMediaUrl(msg.media_url_external) ? msg.media_url_external : (isValidMediaUrl(msg.local_file) ? msg.local_file : null));
|
||||||
let docUrl = null;
|
let docUrl = null;
|
||||||
if (docSource && docSource.indexOf && docSource.indexOf('api/get_media.php?id=') !== -1) {
|
if (docSource && docSource.indexOf && docSource.indexOf('api/get_media.php?id=') !== -1) {
|
||||||
const parts = docSource.split('id=');
|
const parts = docSource.split('id=');
|
||||||
|
|||||||
Reference in New Issue
Block a user