<?php
// admin/update_language_status.php

require_once __DIR__ . '/../includes/session_check.php';
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../includes/db.php';

header('Content-Type: application/json');

// Verificar que la solicitud sea AJAX y POST
if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') !== 'xmlhttprequest' || $_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => 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.']);
}
?>
