This commit completes the merge process, incorporating remote changes that conflicted with local modifications. It also stages and commits all remaining modified and untracked files as per the user's instruction to 'upload everything without exception'.
55 lines
1.9 KiB
PHP
Executable File
55 lines
1.9 KiB
PHP
Executable File
<?php
|
|
require_once __DIR__ . '/includes/session_check.php';
|
|
require_once __DIR__ . '/includes/db.php';
|
|
require_once __DIR__ . '/src/Translate.php';
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
// Solo para administradores
|
|
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
|
echo json_encode(['success' => false, 'error' => 'Acceso denegado.']);
|
|
exit;
|
|
}
|
|
|
|
$messageId = $_GET['message_id'] ?? null;
|
|
|
|
if (!$messageId) {
|
|
echo json_encode(['success' => false, 'error' => 'ID de mensaje no proporcionado.']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
// Obtener el mensaje original de la base de datos
|
|
$stmt = $pdo->prepare("SELECT message_text, language_code FROM telegram_interactions WHERE id = ?");
|
|
$stmt->execute([$messageId]);
|
|
$messageData = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$messageData) {
|
|
echo json_encode(['success' => false, 'error' => 'Mensaje no encontrado.']);
|
|
exit;
|
|
}
|
|
|
|
$originalText = $messageData['message_text'];
|
|
$sourceLang = $messageData['language_code'] ?? 'es'; // Asumir 'es' si no hay código de idioma
|
|
$targetLang = 'es'; // Traducir siempre al español para el administrador
|
|
|
|
// Si el idioma de origen ya es español, no es necesario traducir
|
|
if ($sourceLang === $targetLang) {
|
|
echo json_encode(['success' => true, 'translated_text' => $originalText, 'info' => 'Ya está en español.']);
|
|
exit;
|
|
}
|
|
|
|
$translator = new Translate(LIBRETRANSLATE_URL);
|
|
$translatedText = $translator->translateHtml($originalText, $sourceLang, $targetLang);
|
|
|
|
if ($translatedText) {
|
|
echo json_encode(['success' => true, 'translated_text' => $translatedText]);
|
|
} else {
|
|
echo json_encode(['success' => false, 'error' => 'Error al traducir el mensaje.']);
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
error_log("Error en translate_message.php: " . $e->getMessage());
|
|
echo json_encode(['success' => false, 'error' => 'Error interno del servidor.']);
|
|
}
|