<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$db = new SQLite3(__DIR__ . '/a/.eggziedb.db');

// Criar tabelas principais
$db->exec('CREATE TABLE IF NOT EXISTS revenda (
    id INTEGER PRIMARY KEY,
    nome TEXT,
    usuario TEXT,
    senha TEXT,
    registro TIMESTAMP,
    macs INTEGER,
    extra TEXT,
    id_ref INTEGER
)');

$db->exec('CREATE TABLE IF NOT EXISTS sub_revenda (
    id INTEGER PRIMARY KEY,
    nome TEXT,
    usuario TEXT,
    senha TEXT,
    registro TIMESTAMP,
    macs INTEGER,
    registrado_por TEXT,
    extra TEXT,
    id_ref INTEGER
)');

$admin_name = $_SESSION['admin_name'] ?? 'ADM';

// Inicializar variáveis
$show_success = false;
$success_msg = '';
$nepster_email = '';
$tipo = 'revenda';

// SE FOI SUBMETIDO O FORMULÁRIO
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit'])) {
    $usuario = trim($_POST['username']);
    $tipo = $_POST['tipo'];

    // Verificar se usuário já existe
    $count1 = $db->querySingle("SELECT COUNT(*) FROM revenda WHERE usuario = '$usuario'");
    $count2 = $db->querySingle("SELECT COUNT(*) FROM sub_revenda WHERE usuario = '$usuario'");

    if (($count1 + $count2) > 0 || $usuario === "ADM") {
        echo "<script>alert('Usuário já existe!'); history.back();</script>";
        exit;
    }

    // Dados do formulário
    $nome = trim($_POST['nome']);
    $senha = trim($_POST['password']);
    $macs = (int)$_POST['macs'];
    $descricao = trim($_POST['Descricao']);
    $registro = date('Y/m/d');

    // Gerar ID único
    $ref_id = $db->querySingle("SELECT MAX(id_ref) FROM revenda");
    if (!$ref_id) $ref_id = $db->querySingle("SELECT MAX(id_ref) FROM sub_revenda");
    $ref_id = ($ref_id ? $ref_id + 1 : 1);

    // 🔥🔥🔥 GERAR E-MAIL NEPSTER - VERSÃO DEFINITIVA
    // Remove TODOS os caracteres especiais
    $usuario_limpo = preg_replace('/[^a-zA-Z0-9]/', '', $usuario);
    
    // SEMPRE gera no formato simples primeiro
    $nepster_email = strtolower($usuario_limpo) . "@nepster.xyz";
    
    // Se ficou vazio por algum motivo, usa fallback
    if (empty($usuario_limpo)) {
        $nepster_email = "user_" . $ref_id . "@nepster.xyz";
    }

    // Inserir no banco principal
    if ($tipo === 'subrevenda') {
        $db->exec("INSERT INTO sub_revenda (nome, usuario, senha, registro, macs, registrado_por, extra, id_ref)
                   VALUES('$nome', '$usuario', '$senha', '$registro', $macs, '$admin_name', '$descricao', $ref_id)");
        $success_msg = "Subrevenda criada com sucesso!";
    } else {
        $db->exec("INSERT INTO revenda (nome, usuario, senha, registro, macs, extra, id_ref)
                   VALUES('$nome', '$usuario', '$senha', '$registro', $macs, '$descricao', $ref_id)");
        $success_msg = "Revenda criada com sucesso!";
    }

            // 🔥🔥🔥 SALVAR NO BANCO CORRETO - REVENDA OU SUB-REVENDA
    try {
        if ($tipo === 'subrevenda') {
            // 🔥 BANCO SEPARADO PARA SUB-REVENDA
            $nepster_db_path = __DIR__ . '/a/.nepster_subemails.db';
        } else {
            // 🔥 BANCO PARA REVENDA NORMAL
            $nepster_db_path = __DIR__ . '/a/.nepster_emails.db';
        }
        
        $nepster_db = new SQLite3($nepster_db_path);

        // Criar tabela com estrutura correta
        $nepster_db->exec('CREATE TABLE IF NOT EXISTS emails (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            email TEXT UNIQUE,
            tipo TEXT,
            usuario TEXT UNIQUE,
            id_ref INTEGER UNIQUE,
            criado_em TEXT,
            status TEXT DEFAULT "ativo"
        )');

        // 🔥 IMPORTANTE: Verificar se já existe registro para este usuário e DELETAR
        $nepster_db->exec("DELETE FROM emails WHERE usuario = '$usuario'");
        
        // 🔥 AGORA INSERE O NOVO EMAIL NO FORMATO CORRETO
        $stmt = $nepster_db->prepare("INSERT INTO emails (email, tipo, usuario, id_ref, criado_em)
                                      VALUES (?, ?, ?, ?, ?)");
        $stmt->bindValue(1, $nepster_email, SQLITE3_TEXT);
        $stmt->bindValue(2, $tipo, SQLITE3_TEXT);
        $stmt->bindValue(3, $usuario, SQLITE3_TEXT);
        $stmt->bindValue(4, $ref_id, SQLITE3_INTEGER);
        $stmt->bindValue(5, date('Y-m-d H:i:s'), SQLITE3_TEXT);
        $stmt->execute();
        
        $nepster_db->close();
        
    } catch (Exception $e) {
        error_log("Erro ao salvar email Nepster: " . $e->getMessage());
        // Se der erro, mantém o email que já geramos
    }

    // Copiar arquivos de configuração
    $caminho_arquivo = __DIR__ . "/a/rtx/";
    @file_put_contents($caminho_arquivo . "Setting_$usuario.json", @file_get_contents($caminho_arquivo . "Setting.json"));
    @file_put_contents(__DIR__ . "/a/note_$usuario.json", @file_get_contents(__DIR__ . "/a/note.json"));

    // Redirecionar (para evitar reenvio)
    header("Location: revenda.php?success=1&msg=" . urlencode($success_msg) . "&email=" . urlencode($nepster_email) . "&tipo=$tipo&usuario=" . urlencode($usuario));
    exit;
}

// SE VIER POR GET (depois do redirecionamento)
if (isset($_GET['success'])) {
    $show_success = true;
    $success_msg = $_GET['msg'] ?? 'Sucesso!';
    $nepster_email = $_GET['email'] ?? '';
    $tipo = $_GET['tipo'] ?? 'revenda';
    $usuario_criado = $_GET['usuario'] ?? '';
}

include 'includes/header.php';
?>



<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ULTRA IBO - Sistema de Revendas</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        :root {
            --primary: #00D4FF;
            --accent: #00FF88;
        }
        body {
            background: radial-gradient(circle at center, #0a0a0f, #000);
            font-family: "Inter", sans-serif;
            color: white;
            margin: 0;
            min-height: 100vh;
        }
        .container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            padding: 20px;
        }
        .form-container {
            background: rgba(10, 15, 28, 0.9);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 20px;
            padding: 30px;
            width: 100%;
            max-width: 1200px;
            box-shadow: 0 0 30px rgba(0, 212, 255, 0.3);
        }
        h1 {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-align: center;
            margin-bottom: 30px;
        }
        label {
            display: block;
            text-align: left;
            margin: 15px 0 5px;
            color: #ccc;
        }
        input {
            width: 100%;
            padding: 12px;
            border-radius: 10px;
            border: 1px solid rgba(255,255,255,0.2);
            background: rgba(255,255,255,0.1);
            color: white;
            margin-bottom: 10px;
        }
        .btn-submit {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border: none;
            border-radius: 10px;
            padding: 15px;
            color: white;
            font-weight: bold;
            width: 100%;
            margin-top: 20px;
            cursor: pointer;
        }
        .success-message {
            background: rgba(0, 255, 136, 0.1);
            border: 1px solid #00FF88;
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 20px;
            text-align: center;
        }
        .nav-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
        }
        .nav-tab {
            flex: 1;
            padding: 12px 10px;
            text-align: center;
            background: rgba(255,255,255,0.1);
            border-radius: 10px;
            cursor: pointer;
            display: flex;               
            align-items: center;       
            justify-content: center;    
            gap: 8px;                   
            white-space: nowrap;       
            font-size: 1rem;
        }

        .nav-tab.active {
            background: linear-gradient(135deg, var(--primary), var(--accent));
        }
        .form-section {
            display: none;
        }
        .form-section.active {
            display: block;
        }
        
        
        
    </style>
</head>
<body>
    <div class="container">
        <?php if ($show_success): ?>
        <div class="success-message">
            <h3>✅ <?php echo htmlspecialchars($success_msg); ?></h3>
            <?php if ($nepster_email): ?>
                <p>E-mail Nepster: <strong><?php echo htmlspecialchars($nepster_email); ?></strong></p>
            <?php endif; ?>
            <button onclick="window.location.href='revenda.php'" class="btn-submit">Voltar</button>
        </div>
        <?php endif; ?>

        <div class="nav-tabs">
            <div class="nav-tab active" onclick="showForm('revenda')">👨 Revenda</div>
            <div class="nav-tab" onclick="showForm('subrevenda')">👨 Subrevenda</div>
        </div>

        <!-- Formulário Revenda -->
        <div class="form-container">
            <form method="post" id="form-revenda" class="form-section active">
                <h1><i class="fas fa-store"></i> Nova Revenda</h1>
                <input type="hidden" name="tipo" value="revenda">
                
                <label>Nome da Revenda</label>
                <input type="text" name="nome" placeholder="Nome da revenda" required>
                
                <label>Número de MACs</label>
                <input type="number" name="macs" placeholder="Número de dispositivos" min="1" required>
                
                <label>Usuário</label>
                <input type="text" name="username" placeholder="Nome de usuário único" required>
                
                <label>Senha</label>
                <input type="text" name="password" placeholder="Senha segura" required>
                
                <label>Descrição</label>
                <input type="text" name="Descricao" placeholder="Descrição (opcional)">
                
                <button type="submit" name="submit" class="btn-submit">Criar Revenda</button>
            </form>

            <form method="post" id="form-subrevenda" class="form-section">
                <h1><i class="fas fa-user-plus"></i> Nova Subrevenda</h1>
                <input type="hidden" name="tipo" value="subrevenda">
                
                <label>Nome</label>
                <input type="text" name="nome" placeholder="Nome completo" required>
                
                <label>Número de MACs</label>
                <input type="number" name="macs" placeholder="Número de dispositivos" min="1" required>
                
                <label>Usuário</label>
                <input type="text" name="username" placeholder="Nome de usuário único" required>
                
                <label>Senha</label>
                <input type="text" name="password" placeholder="Senha segura" required>
                
                <label>Descrição</label>
                <input type="text" name="Descricao" placeholder="Descrição (opcional)">
                
                <button type="submit" name="submit" class="btn-submit">Criar Subrevenda</button>
            </form>
        </div>
    </div>

    <script>
        function showForm(tipo) {
            // Atualizar tabs
            document.querySelectorAll('.nav-tab').forEach(tab => tab.classList.remove('active'));
            event.target.classList.add('active');
            
            // Mostrar formulário correto
            document.querySelectorAll('.form-section').forEach(form => form.classList.remove('active'));
            document.getElementById('form-' + tipo).classList.add('active');
        }

        // Prevenir reenvio do formulário
        if (window.history.replaceState) {
            window.history.replaceState(null, null, window.location.href);
        }

        // Limpar URL se veio com parâmetros de sucesso
        if (window.location.search.includes('success')) {
            setTimeout(() => {
                window.history.replaceState({}, document.title, window.location.pathname);
            }, 1000);
        }
    </script>
</body>
</html>