<?php
session_start();

// Verificar se o usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Não autorizado']);
    exit;
}

// Verificar CSRF token
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Token CSRF inválido']);
    exit;
}

// Verificar se os dados foram enviados
if (!isset($_POST['cliente_id']) || !isset($_POST['formulario_ids'])) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Dados insuficientes']);
    exit;
}

require_once 'conexao.php';

$cliente_id = intval($_POST['cliente_id']);
$formulario_ids_json = $_POST['formulario_ids'];

// Decodificar os IDs dos formulários
$formulario_ids = json_decode($formulario_ids_json, true);

if (!is_array($formulario_ids) || empty($formulario_ids)) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'IDs de formulário inválidos']);
    exit;
}

try {
    // Preparar a consulta para atualizar os formulários
    $placeholders = implode(',', array_fill(0, count($formulario_ids), '?'));
    $sql = "UPDATE respostas_formulario SET utilizado = 1 WHERE id IN ($placeholders) AND cliente_id = ?";
    
    $stmt = $conn->prepare($sql);
    
    if (!$stmt) {
        throw new Exception('Erro ao preparar consulta: ' . $conn->error);
    }
    
    // Adicionar os IDs dos formulários e o ID do cliente aos parâmetros
    $types = str_repeat('i', count($formulario_ids)) . 'i';
    $params = array_merge($formulario_ids, [$cliente_id]);
    
    $stmt->bind_param($types, ...$params);
    
    if ($stmt->execute()) {
        header('Content-Type: application/json');
        echo json_encode([
            'success' => true, 
            'message' => 'Formulários marcados como visualizados',
            'atualizados' => $stmt->affected_rows
        ]);
    } else {
        header('Content-Type: application/json');
        echo json_encode(['success' => false, 'message' => 'Erro ao atualizar formulários: ' . $stmt->error]);
    }
    
    $stmt->close();
} catch (Exception $e) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Erro: ' . $e->getMessage()]);
}

$conn->close();
?>