<?php
include 'verifica_login.php';
include 'conexao.php';
$conn = conectar_banco();

$id_pesquisa = (int)($_POST['id_pesquisa'] ?? 0);
$acao = $_POST['acao'] ?? '';

if ($id_pesquisa <= 0 || !in_array($acao, ['liberar', 'bloquear'])) {
    header('Location: pesquisas.php?msg=error&detalhe=' . urlencode('Dados inválidos'));
    exit;
}

// Verificar se a pesquisa existe
$stmt = $conn->prepare("SELECT id FROM pesquisas WHERE id = ?");
$stmt->bind_param('i', $id_pesquisa);
$stmt->execute();
$pesquisa = $stmt->get_result()->fetch_assoc();

if (!$pesquisa) {
    header('Location: pesquisas.php?msg=error&detalhe=' . urlencode('Pesquisa não encontrada'));
    exit;
}

// Definir novo valor (liberar = 'S', bloquear = 'N')
$novo_valor = $acao === 'liberar' ? 'S' : 'N';

// Atualizar pesquisa
try {
    $conn->begin_transaction();
    
    $stmt_update = $conn->prepare("
        UPDATE pesquisas 
        SET liberado_cliente = ? 
        WHERE id = ?
    ");
    $stmt_update->bind_param('si', $novo_valor, $id_pesquisa);
    $stmt_update->execute();
    
    $conn->commit();
    
    $mensagem = $acao === 'liberar' 
        ? 'Pesquisa liberada para clientes com sucesso' 
        : 'Pesquisa bloqueada de clientes com sucesso';
    
    header('Location: visualizar_pesquisa.php?id=' . $id_pesquisa . '&msg=success&detalhe=' . urlencode($mensagem));
    exit;
    
} catch (Exception $e) {
    $conn->rollback();
    header('Location: visualizar_pesquisa.php?id=' . $id_pesquisa . '&msg=error&detalhe=' . urlencode('Erro ao atualizar pesquisa: ' . $e->getMessage()));
    exit;
}
?>
