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

echo "<h1>🔍 TESTE PASSO A PASSO</h1>";

// Passo 1: Iniciar sessão
echo "<h3>Passo 1: Iniciando sessão</h3>";
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}
echo "✅ Sessão iniciada<br>";
echo "Session ID: " . session_id() . "<br>";

// Passo 2: Incluir conexão
echo "<h3>Passo 2: Incluindo conexao.php</h3>";
require_once 'conexao.php';
echo "✅ Conexão incluída<br>";

// Passo 3: Forçar valores de teste
echo "<h3>Passo 3: Configurando variáveis de teste</h3>";
$_SESSION['usuario_id'] = 100;
$_SESSION['tenant_id'] = 17;
echo "✅ usuario_id: 100<br>";
echo "✅ tenant_id: 17<br>";

// Passo 4: Buscar bina do usuário
echo "<h3>Passo 4: Buscando bina do usuário</h3>";

$usuario_id = $_SESSION['usuario_id'];
$tenant_id = $_SESSION['tenant_id'];

$stmt = $conn->prepare("SELECT bina_padrao FROM config_webphone WHERE usuario_id = ? AND tenant_id = ?");
if (!$stmt) {
    echo "❌ Erro no prepare: " . $conn->error . "<br>";
    exit;
}

$stmt->bind_param("ii", $usuario_id, $tenant_id);
$stmt->execute();
$result = $stmt->get_result();

if ($row = $result->fetch_assoc()) {
    $bina = $row['bina_padrao'];
    echo "✅ Bina encontrada: $bina<br>";
} else {
    echo "⚠️ Nenhuma bina encontrada. Usando padrão.<br>";
    $bina = '+5548998298300';
}

// Passo 5: Inserir chamada de teste
echo "<h3>Passo 5: Inserindo chamada de teste</h3>";

$numero_destino = '+5511999999999';
$duracao = 30;
$status = 'realizada';
$custo = ($duracao / 60) * 0.10;

echo "Número destino: $numero_destino<br>";
echo "Duração: $duracao segundos<br>";
echo "Custo: R$ " . number_format($custo, 2, ',', '.') . "<br>";
echo "Bina origem: $bina<br>";

$insert = $conn->prepare("
    INSERT INTO chamadas_telefonicas 
    (tenant_id, usuario_id, numero_origem, numero_destino, duracao, status, custo, data_hora_inicio)
    VALUES (?, ?, ?, ?, ?, ?, ?, NOW())
");

if (!$insert) {
    echo "❌ Erro no prepare do INSERT: " . $conn->error . "<br>";
    exit;
}

$insert->bind_param("iissids", 
    $tenant_id,
    $usuario_id,
    $bina,
    $numero_destino,
    $duracao,
    $status,
    $custo
);

if ($insert->execute()) {
    $chamada_id = $conn->insert_id;
    echo "<h4 style='color:green'>✅ CHAMADA REGISTRADA! ID: $chamada_id</h4>";
} else {
    echo "<h4 style='color:red'>❌ ERRO: " . $insert->error . "</h4>";
}

// Passo 6: Mostrar últimas chamadas
echo "<h3>Passo 6: Últimas chamadas</h3>";

$select = $conn->query("
    SELECT id, data_hora_inicio, numero_destino, duracao, custo 
    FROM chamadas_telefonicas 
    WHERE tenant_id = $tenant_id 
    ORDER BY id DESC 
    LIMIT 5
");

if ($select && $select->num_rows > 0) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID</th><th>Data</th><th>Número</th><th>Duração</th><th>Custo</th></tr>";
    while ($row = $select->fetch_assoc()) {
        echo "<tr>";
        echo "<td>{$row['id']}</td>";
        echo "<td>{$row['data_hora_inicio']}</td>";
        echo "<td>{$row['numero_destino']}</td>";
        echo "<td>{$row['duracao']}s</td>";
        echo "<td>R$ " . number_format($row['custo'], 2) . "</td>";
        echo "</tr>";
    }
    echo "</table>";
} else {
    echo "Nenhuma chamada encontrada.<br>";
}

echo "<h3>✅ TESTE CONCLUÍDO</h3>";
?>