Files
sistema_funcionando_lastwar/admin/update_language_status.php

50 lines
1.7 KiB
PHP
Executable File

<?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.']);
}
?>