<?php
require_once 'conexao.php';
session_start();

// Verificar se é uma requisição AJAX
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
    http_response_code(400);
    echo json_encode(['success' => false, 'message' => 'Requisição inválida']);
    exit;
}

// Verificar se o usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    http_response_code(401);
    echo json_encode(['success' => false, 'message' => 'Usuário não autenticado']);
    exit;
}

// Verificar CSRF token
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== ($_SESSION['csrf_token'] ?? '')) {
    http_response_code(403);
    echo json_encode(['success' => false, 'message' => 'Token CSRF inválido']);
    exit;
}

// Verificar se os dados necessários foram enviados
if (!isset($_POST['id']) || !isset($_POST['ativo'])) {
    http_response_code(400);
    echo json_encode(['success' => false, 'message' => 'Dados incompletos']);
    exit;
}

$id = intval($_POST['id']);
$ativo = intval($_POST['ativo']);
$tenant_id = $_SESSION['tenant_id'] ?? null;

if (!$tenant_id) {
    http_response_code(400);
    echo json_encode(['success' => false, 'message' => 'Tenant não identificado']);
    exit;
}

try {
    // Verificar se a atividade pertence ao tenant
    $sql_verifica = "SELECT id FROM lista_atividades WHERE id = ? AND tenant_id = ?";
    $stmt_verifica = $conn->prepare($sql_verifica);
    $stmt_verifica->bind_param("ii", $id, $tenant_id);
    $stmt_verifica->execute();
    $resultado = $stmt_verifica->get_result();
    
    if ($resultado->num_rows === 0) {
        http_response_code(404);
        echo json_encode(['success' => false, 'message' => 'Atividade não encontrada']);
        exit;
    }
    $stmt_verifica->close();

    // Atualizar o status da atividade
    $sql_update = "UPDATE lista_atividades SET ativo = ? WHERE id = ? AND tenant_id = ?";
    $stmt_update = $conn->prepare($sql_update);
    $stmt_update->bind_param("iii", $ativo, $id, $tenant_id);
    
    if ($stmt_update->execute()) {
        $acao = $ativo ? 'ativada' : 'inativada';
        echo json_encode([
            'success' => true, 
            'message' => "Atividade {$acao} com sucesso!"
        ]);
    } else {
        throw new Exception("Erro ao atualizar atividade: " . $conn->error);
    }
    
    $stmt_update->close();
    
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}

$conn->close();
?>