false, 'error' => 'Solicitud no válida.']); exit; } // Solo para administradores if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') { echo json_encode(['success' => false, 'error' => 'Acceso denegado.']); exit; } // Obtener datos del cuerpo de la solicitud $data = json_decode(file_get_contents('php://input'), true); $langId = $data['id'] ?? null; $isActive = isset($data['is_active']) ? (int)$data['is_active'] : null; if ($langId === null || $isActive === null) { echo json_encode(['success' => false, 'error' => 'Datos incompletos.']); exit; } try { $stmt = $pdo->prepare("UPDATE supported_languages SET is_active = ? WHERE id = ?"); $stmt->execute([$isActive, $langId]); if ($stmt->rowCount() > 0) { echo json_encode(['success' => true]); } else { // No se actualizó ninguna fila, podría ser que el ID no exista echo json_encode(['success' => false, 'error' => 'El idioma no fue encontrado o el estado ya era el mismo.']); } } catch (PDOException $e) { // Loguear el error real en el servidor error_log("Error en update_language_status.php: " . $e->getMessage()); echo json_encode(['success' => false, 'error' => 'Error en la base de datos.']); } ?>