<?php
session_start();

// Verifica se o usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    header('Location: login.php');
    exit;
}

// Verifica o token CSRF para forms POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        die('Token CSRF inválido');
    }
}

require_once 'conexao.php';

// Verifica se o ID do produto foi passado
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    $_SESSION['mensagem'] = 'ID do produto inválido!';
    header('Location: lista_produtos.php');
    exit;
}

$id_produto = (int)$_GET['id'];

// Busca o produto no banco de dados
$sql = "SELECT * FROM lista_produtos WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $id_produto);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado->num_rows === 0) {
    $_SESSION['mensagem'] = 'Produto não encontrado!';
    header('Location: lista_produtos.php');
    exit;
}

$produto = $resultado->fetch_assoc();

// Processa o formulário de atualização
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['atualizar'])) {
    $nome = trim($_POST['nome']);
    $descricao = trim($_POST['descricao']);
    $valor = str_replace(['.', ','], ['', '.'], $_POST['valor']); // Formata o valor para decimal

    // Validações básicas
    if (empty($nome)) {
        $erro = 'O nome do produto é obrigatório!';
    } elseif (!is_numeric($valor) || $valor <= 0) {
        $erro = 'O valor deve ser um número positivo!';
    } else {
        // Atualiza no banco de dados
        $sql_update = "UPDATE lista_produtos SET nome = ?, descricao = ?, valor = ? WHERE id = ?";
        $stmt_update = $conn->prepare($sql_update);
        $stmt_update->bind_param('ssdi', $nome, $descricao, $valor, $id_produto);
        
        if ($stmt_update->execute()) {
            $_SESSION['mensagem'] = 'Produto atualizado com sucesso!';
            header('Location: lista_produtos.php');
            exit;
        } else {
            $erro = 'Erro ao atualizar produto: ' . $conn->error;
        }
    }
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Editar Produto - SON</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            background: #f5f5f5;
        }

        .header-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background-color: #f5f5f5;
            padding: 15px 20px;
            z-index: 1000;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .header-fixed img {
            height: 50px;
            margin-right: 15px;
        }

        .header-fixed h2 {
            margin: 0;
            flex-grow: 1;
            text-align: center;
        }

        .content-wrapper {
            margin-top: 100px;
            padding: 20px;
        }

        .form-container {
            max-width: 600px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .form-group {
            margin-bottom: 15px;
        }

        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }

        .form-group input, 
        .form-group textarea {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
        }

        .form-group textarea {
            height: 100px;
            resize: vertical;
        }

        .btn {
            padding: 10px 15px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
            margin-right: 10px;
        }

        .btn-primary {
            background-color: #3498db;
            color: white;
        }

        .btn-danger {
            background-color: #e74c3c;
            color: white;
        }

        .btn:hover {
            opacity: 0.9;
        }

        .error-message {
            color: #e74c3c;
            margin-bottom: 15px;
            padding: 10px;
            background: #fdecea;
            border-radius: 4px;
        }
    </style>
</head>
<body>

<div class="header-fixed">
    <a href="index.php" target="_blank" rel="noopener noreferrer">
        <img src="tvitec.png" alt="Logo TVITEC">
    </a>
    <h2>Sistema de Organização de Negócios</h2>
    <div style="margin-right: 15px; font-weight: bold; color: #333; font-size: 1.1em;">
        Olá, <?php echo htmlspecialchars($_SESSION['nome_usuario'] ?? 'Usuário'); ?>
    </div>
    <a href="lista_produtos.php" class="btn btn-primary">Voltar</a>
</div>

<div class="content-wrapper">
    <div class="form-container">
        <h2>Editar Produto</h2>
        
        <?php if (isset($erro)): ?>
            <div class="error-message"><?php echo htmlspecialchars($erro); ?></div>
        <?php endif; ?>

        <form method="POST" action="">
            <input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">
            
            <div class="form-group">
                <label for="nome">Nome do Produto</label>
                <input type="text" id="nome" name="nome" value="<?php echo htmlspecialchars($produto['nome']); ?>" required>
            </div>
            
            <div class="form-group">
                <label for="descricao">Descrição</label>
                <textarea id="descricao" name="descricao"><?php echo htmlspecialchars($produto['descricao']); ?></textarea>
            </div>
            
            <div class="form-group">
                <label for="valor">Preço (R$)</label>
                <input type="text" id="valor" name="valor" value="<?php echo number_format($produto['valor'], 2, ',', '.'); ?>" required>
            </div>
            
            <div class="form-group">
                <button type="submit" name="atualizar" class="btn btn-primary">Atualizar Produto</button>
                <a href="lista_produtos.php" class="btn btn-danger">Cancelar</a>
            </div>
        </form>
    </div>
</div>

<script>
    // Formatação do campo de valor monetário
    document.getElementById('valor').addEventListener('blur', function(e) {
        let value = e.target.value.replace(/[^\d,]/g, '');
        if (value) {
            // Converte para formato brasileiro: 1.234,56
            let parts = value.split(',');
            parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, '.');
            if (parts.length > 1) {
                parts[1] = parts[1].substring(0, 2);
                value = parts[0] + ',' + parts[1];
            } else {
                value = parts[0] + ',00';
            }
            e.target.value = value;
        }
    });
</script>

</body>
</html>