diff --git a/modules/turnero/api/save_tv_media.php b/modules/turnero/api/save_tv_media.php index 76c2051..c97b6ad 100644 --- a/modules/turnero/api/save_tv_media.php +++ b/modules/turnero/api/save_tv_media.php @@ -40,6 +40,11 @@ if ($file['error'] !== UPLOAD_ERR_OK) { UPLOAD_ERR_NO_FILE => 'No se seleccionó ningún archivo', UPLOAD_ERR_NO_TMP_DIR => 'Falta la carpeta temporal', UPLOAD_ERR_CANT_WRITE => 'Error al escribir el archivo', + // Antes estos dos caían en «error desconocido», que no le dice nada a + // quien sube: son los límites de PHP, no del código. + UPLOAD_ERR_INI_SIZE => 'El archivo supera el límite de subida del servidor (php.ini)', + UPLOAD_ERR_FORM_SIZE => 'El archivo supera el límite del formulario', + UPLOAD_ERR_PARTIAL => 'La subida se cortó a medias: intente de nuevo', ]; echo json_encode(['ok' => false, 'error' => $errores[$file['error']] ?? 'Error de subida desconocido']); exit; @@ -63,7 +68,11 @@ $mimeMap = [ $finfo = new finfo(FILEINFO_MIME_TYPE); $mime = $finfo->file($file['tmp_name']); if (!isset($mimeMap[$mime])) { - echo json_encode(['ok' => false, 'error' => 'Formato no admitido. Usa MP4, WebM, JPG, PNG o WEBP']); + // El caso más común es el video de iPhone: merece su propio mensaje + $msg = ($mime === 'video/quicktime') + ? 'Es un video de iPhone (.mov): conviértalo a MP4 antes de subirlo' + : 'Formato no admitido (' . $mime . '). Use MP4, WebM, JPG, PNG o WEBP'; + echo json_encode(['ok' => false, 'error' => $msg]); exit; } diff --git a/modules/turnero/views/configuracion.php b/modules/turnero/views/configuracion.php index a782ea1..c1e4419 100644 --- a/modules/turnero/views/configuracion.php +++ b/modules/turnero/views/configuracion.php @@ -1198,6 +1198,7 @@ $tab = $_GET['tab'] ?? 'lugares'; +