<?php
/**
 * Script para salvar motorista 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', 'matricula', 'cpf', 'telefone', 'usuario'];
    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'],
        'matricula' => $_POST['matricula'],
        'cpf' => $_POST['cpf'],
        'telefone' => $_POST['telefone'],
        'data_nascimento' => !empty($_POST['data_nascimento']) ? $_POST['data_nascimento'] : null,
        'cnh_numero' => !empty($_POST['cnh_numero']) ? $_POST['cnh_numero'] : null,
        'cnh_categoria' => !empty($_POST['cnh_categoria']) ? $_POST['cnh_categoria'] : null,
        'usuario' => $_POST['usuario'],
        'senha' => !empty($_POST['senha']) ? $_POST['senha'] : '123456',
        'status' => 'ativo'
    ];
    
    if ($acao === 'editar' && $id) {
        // Atualizar motorista existente
        $sql = "UPDATE motoristas SET 
            nome = ?, matricula = ?, cpf = ?, telefone = ?, 
            data_nascimento = ?, cnh_numero = ?, cnh_categoria = ?,
            usuario = ?, senha = ?, status = ?
            WHERE id = ?";
        
        $stmt = $pdo->prepare($sql);
        $stmt->execute([
            $dados['nome'],
            $dados['matricula'],
            $dados['cpf'],
            $dados['telefone'],
            $dados['data_nascimento'],
            $dados['cnh_numero'],
            $dados['cnh_categoria'],
            $dados['usuario'],
            $dados['senha'],
            $dados['status'],
            $id
        ]);
        
        // Redirecionar de volta para a página de cadastros
        header('Location: admin/cadastros.html?msg=Motorista atualizado com sucesso!&tipo=sucesso');
        exit();
        
    } else {
        // Cadastrar novo motorista
        $sql = "INSERT INTO motoristas (
            nome, matricula, cpf, telefone, data_nascimento, cnh_numero, cnh_categoria,
            usuario, senha, status
        ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        
        $stmt = $pdo->prepare($sql);
        $stmt->execute([
            $dados['nome'],
            $dados['matricula'],
            $dados['cpf'],
            $dados['telefone'],
            $dados['data_nascimento'],
            $dados['cnh_numero'],
            $dados['cnh_categoria'],
            $dados['usuario'],
            $dados['senha'],
            $dados['status']
        ]);
        
        $novoId = $pdo->lastInsertId();
        // Redirecionar de volta para a página de cadastros
        header('Location: admin/cadastros.html?msg=Motorista cadastrado com sucesso!&tipo=sucesso');
        exit();
    }
    
} catch (Exception $e) {
    // Redirecionar com mensagem de erro
    header('Location: admin/cadastros.html?msg=Erro ao salvar motorista: ' . urlencode($e->getMessage()) . '&tipo=erro');
    exit();
}
?> 
