<?php
/**
 * Script para salvar cliente direto no banco de dados
 * Usado pelo painel web de retaguarda
 */

// Configurar UTF-8
// Removido header JSON pois vamos redirecionar

// Conectar ao banco
function conectarBanco() {
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_admin';
    $password = '080880Gelboy';
    
    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        ]);
        return $pdo;
    } catch (PDOException $e) {
        throw new Exception('Erro de conexão: ' . $e->getMessage());
    }
}

// Função removida - agora usamos redirecionamento

try {
    $pdo = conectarBanco();

    // Verificar se é POST
    if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
        header('Location: admin/cadastros.html?msg=Método não permitido&tipo=erro');
        exit();
    }
    
    // Pegar dados do formulário
    $acao = $_POST['acao'] ?? '';
    $id = $_POST['id'] ?? null;
    
    // Validar campos obrigatórios
    $camposObrigatorios = ['nome', 'cpf', 'telefone'];
    foreach ($camposObrigatorios as $campo) {
        if (!isset($_POST[$campo]) || empty($_POST[$campo])) {
            header('Location: admin/cadastros.html?msg=Campo obrigatório: ' . urlencode($campo) . '&tipo=erro');
            exit();
        }
    }
    
    // Preparar dados
    $dados = [
        'nome' => $_POST['nome'],
        'cpf_cnpj' => $_POST['cpf'],
        'telefone' => $_POST['telefone'],
        'email' => !empty($_POST['email']) ? $_POST['email'] : null,
        'endereco' => !empty($_POST['endereco']) ? $_POST['endereco'] : null,
        'cidade' => !empty($_POST['cidade']) ? $_POST['cidade'] : null,
        'estado' => !empty($_POST['estado']) ? $_POST['estado'] : null,
        'cep' => !empty($_POST['cep']) ? $_POST['cep'] : null,
        'observacoes' => !empty($_POST['observacoes']) ? $_POST['observacoes'] : null,
        'status' => 'ativo'
    ];
    
    if ($acao === 'editar' && $id) {
        // Atualizar cliente existente
        $sql = "UPDATE clientes SET 
            nome = ?, cpf_cnpj = ?, telefone = ?, email = ?, endereco = ?, 
            cidade = ?, estado = ?, cep = ?, observacoes = ?
            WHERE id = ?";
        
        $stmt = $pdo->prepare($sql);
        $stmt->execute([
            $dados['nome'],
            $dados['cpf_cnpj'],
            $dados['telefone'],
            $dados['email'],
            $dados['endereco'],
            $dados['cidade'],
            $dados['estado'],
            $dados['cep'],
            $dados['observacoes'],
            $id
        ]);
        
        // Redirecionar de volta para a página de cadastros
        header('Location: admin/cadastros.html?msg=Cliente atualizado com sucesso!&tipo=sucesso');
        exit();
        
    } else {
        // Cadastrar novo cliente
        $sql = "INSERT INTO clientes (nome, cpf_cnpj, telefone, email, endereco, cidade, estado, cep, observacoes, status) 
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        
        $stmt = $pdo->prepare($sql);
        $stmt->execute([
            $dados['nome'],
            $dados['cpf_cnpj'],
            $dados['telefone'],
            $dados['email'],
            $dados['endereco'],
            $dados['cidade'],
            $dados['estado'],
            $dados['cep'],
            $dados['observacoes'],
            $dados['status']
        ]);
        
        $novoId = $pdo->lastInsertId();
        // Redirecionar de volta para a página de cadastros
        header('Location: admin/cadastros.html?msg=Cliente cadastrado com sucesso!&tipo=sucesso');
        exit();
    }
    
} catch (Exception $e) {
    // Redirecionar com mensagem de erro
    header('Location: admin/cadastros.html?msg=Erro ao salvar cliente: ' . urlencode($e->getMessage()) . '&tipo=erro');
    exit();
}
?> 
