<?php
$valid = true;
$vereadoresDao = new \Dao\Vereadores();

try {
    $id = filter_input(INPUT_POST, 'id');
    $id = $conecta->real_escape_string($id);
    $vereadoresDao->getVereadorPorId($conecta, $id);

    // Verifica se o vereador foi encontrado antes de atualizar as propriedades
    if ($vereadoresDao->id !== null) {
        $nome = $conecta->real_escape_string(filter_input(INPUT_POST, 'nome'));
        $rg = $conecta->real_escape_string(filter_input(INPUT_POST, 'rg'));
        $telefone = $conecta->real_escape_string(filter_input(INPUT_POST, 'telefone'));
        $status = $conecta->real_escape_string(filter_input(INPUT_POST, 'status'));
        $senha = $conecta->real_escape_string(md5(filter_input(INPUT_POST, 'senha')));
        $permissoes = $conecta->real_escape_string(filter_input(INPUT_POST, 'permissoes'));

        // Prepara a consulta SQL
        $stmt = $conecta->prepare("UPDATE vereadores SET nome=?, rg=?, telefone=?, status=?, senha=?, permissoes=?, ultimo_acesso=?, data_alteracao=?, usuario_alterou=? WHERE id=?");

        // Verifica se a preparação foi bem-sucedida
        if ($stmt) {
            $dataAtual = date('Y-m-d H:i:s');
            
            // Vincula os parâmetros
            $stmt->bind_param("sssssssssi", $nome, $rg, $telefone, $status, $senha, $permissoes, $dataAtual, $dataAtual, $_SESSION['id_usuario'], $vereadoresDao->id);

            // Executa a consulta
            $stmt->execute();

            // Fecha o statement
            $stmt->close();

            \Dao\Funcoes::displayMessage('Confirmação', 'Vereador atualizado com sucesso.', 'vereadores.php');
        } else {
            // Lógica para lidar com a falha na preparação da consulta
            \Dao\Funcoes::displayMessage('Erro', 'Falha na preparação da consulta.', 'vereadores.php', 'red');
        }
    } else {
        // Lógica para lidar com vereador não encontrado
        \Dao\Funcoes::displayMessage('Erro', 'Vereador não encontrado.', 'vereadores.php', 'red');
    }
} catch (\Exception $e) {
    // Tratar exceção (por exemplo, exibir mensagem de erro)
    \Dao\Funcoes::displayMessage('Erro', 'Erro durante a execução: ' . $e->getMessage(), 'vereadores.php', 'red');
}
?>
