<?php
require 'conexao.php';


// Recebe os dados do formulário
$user = $_POST['user'];
$email = $_POST['email'];
$senhap = $_POST['senha'];
$confirmarSenha = $_POST['confirmar_senha'];
$pinp = $_POST['pin'];
$confirmarPin = $_POST['confirmar_pin'];
$frasep = $_POST['frase'];
$fatoresp = $_POST['2fatores'];

// Gerar carteira
function generateWallet() {
    $length = 50;
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $wallet = '';
    $maxIndex = strlen($characters) - 1;
    for ($i = 0; $i < $length; $i++) {
        $randomIndex = random_int(0, $maxIndex);
        $wallet .= $characters[$randomIndex];
    }
    return $wallet;
}
$wallet = generateWallet();




// Verifica se o usuário ou email já estão cadastrados
$stmt = $pdo->prepare("SELECT * FROM usersblock WHERE email = ?");
$stmt->execute([$email]);
if ($stmt->rowCount() > 0) {
    // O usuário ou email já está cadastrado
    header('Location: cadastro.php?erro=usuario_email_cadastrado');
    exit;
}

// Verifica se os pins coincidem
if ($pinp !== $confirmarPin) {
    // Os pins não correspondem
    header('Location: cadastro.php?erro=pins_diferentes');
    exit;
}

// Verifica se as senhas coincidem
if ($senhap !== $confirmarSenha) {
    // As senhas não correspondem
    header('Location: cadastro.php?erro=senhas_diferentes');
    exit;
}

// Criptografa pin
$pin = password_hash($pinp, PASSWORD_DEFAULT);

// Criptografa a senha
$senha = password_hash($senhap, PASSWORD_DEFAULT);

// Criptografa frase
$frase = password_hash($frasep, PASSWORD_DEFAULT);


$stmt = $pdo->prepare("INSERT INTO usersblock (user, email, wallet, pin, password, words, altemail) VALUES (?, ?, ?, ?, ?, ?, ?)");
$stmt->execute([$user, $email, $wallet, $pin, $senha, $frase, $fatoresp]);


header('Location: cadastro.php?cadastrado=true');
exit;
?>
