<?php
// 1. ATIVAÇÃO DE ERROS (Remover após consertar)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

session_start();
require_once '../config.php';
$db = $conn; 

// Teste de Conexão
if (!$db) {
    die("Erro: A variável de conexão \$conn não foi definida no config.php");
}
if ($db->connect_error) {
    die("Falha na conexão: " . $db->connect_error);
}

include '../header.php';

// 2. Captura dos dados do site
$url = "https://www.ojogodobicho.com/deu_no_poste.htm";
$options = ['http' => ['method' => "GET", 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\r\n"]];
$context = stream_context_create($options);
$html = @file_get_contents($url, false, $context);

if ($html === FALSE) {
    echo "<div class='alert alert-danger'>Erro ao capturar dados externos.</div>";
} else {
    $dom = new DOMDocument();
    @$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
    $xpath = new DOMXPath($dom);
    $tables = $xpath->query("//table");
    $hoje = date('Y-m-d');
    $colunasHorarios = [1 => 'PPT', 2 => 'PTM', 3 => 'PT', 4 => 'PTV', 5 => 'PTN', 6 => 'COR'];

    foreach ($tables as $table) {
        $rows = $xpath->query(".//tr", $table);
        $tabelaContemResultados = false;

        foreach ($rows as $row) {
            $cols = $xpath->query(".//td", $row);
            if ($cols->length >= 2) {
                $pTxt = trim($cols->item(0)->nodeValue);
                
                if (preg_match('/^[1-7]/', $pTxt)) {
                    $tabelaContemResultados = true;
                    $posicaoDB = (strpos($pTxt, '1') === 0) ? 'primeiro' : 'geral';

                    foreach ($colunasHorarios as $idx => $nomeH) {
                        $val = $cols->item($idx) ? trim($cols->item($idx)->nodeValue) : '';
                        
                        if (strpos($val, '-') !== false) {
                            // Verifica se a tabela 'processados' existe antes de consultar
                            $check = $db->query("SELECT data FROM processados WHERE data='$hoje' AND horario='$nomeH' AND premio='$pTxt'");
                            
                            if ($check && $check->num_rows == 0) {
                                $parts = explode('-', $val);
                                $m = trim($parts[0]); 
                                $g = trim($parts[1]);
                                
                                $invalidos = ['', '0', '00', '000', '0000', '0000-0'];
                                if (!in_array($m, $invalidos) && !in_array($g, $invalidos)) {
                                    $db->query("INSERT INTO ranking_bicho (tipo, valor, posicao, total) VALUES ('milhar', '$m', '$posicaoDB', 1) ON DUPLICATE KEY UPDATE total = total + 1");
                                    $db->query("INSERT INTO ranking_bicho (tipo, valor, posicao, total) VALUES ('grupo', '$g', '$posicaoDB', 1) ON DUPLICATE KEY UPDATE total = total + 1");
                                    $db->query("INSERT INTO processados (data, horario, premio) VALUES ('$hoje', '$nomeH', '$pTxt')");
                                }
                            }
                        }
                    }
                }
            }
        }
        if ($tabelaContemResultados) break; 
    }
}

// 3. Função de exibição
function exibirRankingCompleto($db, $tipo, $posicao) {
    $sql = "SELECT valor, total FROM ranking_bicho WHERE tipo='$tipo' AND posicao='$posicao' AND valor NOT IN ('0','00','000','0000') ORDER BY total DESC";
    $res = $db->query($sql);
    
    if (!$res) {
        return "<tr><td style='color:red;'>Erro na tabela: " . $db->error . "</td></tr>";
    }

    $html = "";
    $i = 0;
    if ($res->num_rows > 0) {
        while($row = $res->fetch_assoc()) {
            $cor = definirCorPosicao($i);
            $textoValor = ($tipo == 'grupo') ? "G-" . str_pad($row['valor'], 2, "0", STR_PAD_LEFT) : $row['valor'];
            $html .= "<tr>
                        <td style='background-color: $cor; border: 1px solid #bbb; padding: 6px; font-weight: bold; font-size: 13px;'>
                            $textoValor <span class='badge-qtd'>{$row['total']}x</span>
                        </td>
                      </tr>";
            $i++;
        }
    } else {
        $html = "<tr><td style='padding:10px; color:#999; font-size:11px;'>Nenhum dado...</td></tr>";
    }
    return $html;
}

function definirCorPosicao($indice) {
    if ($indice == 0) return '#c8e6c9'; 
    if ($indice >= 1 && $indice <= 2) return '#fff9c4'; 
    return '#f9f9f9';
}
?>

<style>
    .grid-ranking { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-bottom: 20px; }
    .badge-qtd { background: rgba(0,0,0,0.1); color: #333; padding: 1px 5px; border-radius: 4px; float: right; font-size: 10px; }
    .titulo-excel { background: #217346; color: #fff; padding: 5px; margin: 0; font-size: 11px; font-weight: bold; text-align: center; }
    .tabela-excel { width: 100%; border-collapse: collapse; border: 1px solid #bbb; }
</style>

<div class="container-fluid">
    <div style="border-bottom: 2px solid #217346; margin-bottom: 15px; padding-top: 10px;">
        <h2 style="color: #217346; margin: 0; font-size: 18px;">🏆 Ranking Completo TJ</h2>
    </div>

    <div class="grid-ranking">
        <div>
            <p class="titulo-excel">Grupos (1º)</p>
            <table class="tabela-excel"><?php echo exibirRankingCompleto($db, 'grupo', 'primeiro'); ?></table>
        </div>
        <div>
            <p class="titulo-excel">Milhares (1º)</p>
            <table class="tabela-excel"><?php echo exibirRankingCompleto($db, 'milhar', 'primeiro'); ?></table>
        </div>
    </div>

    <div class="grid-ranking">
        <div>
            <p class="titulo-excel" style="background:#1976d2;">Grupos Geral</p>
            <table class="tabela-excel"><?php echo exibirRankingCompleto($db, 'grupo', 'geral'); ?></table>
        </div>
        <div>
            <p class="titulo-excel" style="background:#1976d2;">Milhares Geral</p>
            <table class="tabela-excel"><?php echo exibirRankingCompleto($db, 'milhar', 'geral'); ?></table>
        </div>
    </div>
</div>