<?php



$oab = $_GET['oab'];
$page = $_GET['page'];

function trazer5($str, $start, $end) {
    $parts = explode($start, $str);
    if (isset($parts[1])) {
        $subParts = explode($end, $parts[1]);
        return $subParts[0];
    }
}
$dmm = file_get_contents("dm.txt");



function extrairNumerosProcessos($html) {
    $processos = [];
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $links = $dom->getElementsByTagName('a');
    
    foreach ($links as $link) {
        if ($link->hasAttribute('class') && $link->getAttribute('class') === 'linkProcesso') {
            $texto = trim($link->nodeValue);
            if (preg_match('/\d{7}-\d{2}\.\d{4}\.\d{1,2}\.\d{2}\.\d{4}/', $texto, $match)) {
                $processos[] = $match[0];
            }
        }
    }
    return $processos;
}

function consultarProcesso($numero_processo,$id1) {
        $estadoAtual1 = strtoupper(trim(file_get_contents('../botT/estado.txt')));
    // Se o processo não foi enviado ainda, consulta o processo

    $url = "https://ced5f5c96c1f.ngrok-free.app/projetos-server/upgrade/STJ/MATRIZ_STJ_V2/".$estadoAtual1."/au.php?process=$numero_processo&id=$id1";
    
    $resposta = file_get_contents($url);
    if ($resposta !== false) {
        $dados = json_decode($resposta, true);
        return isset($dados["return"]) && $dados["return"] === "true";
    }
    return false;
}

// $html = file_get_contents("https://'.trim($dmm).'/cpopg/trocarPagina.do?paginaConsulta=1&paginaConsulta=4&conversationId=&cbPesquisa=NUMOAB&dadosConsulta.valorConsulta=$oab&cdForo=-1");


$url = "https://".trim($dmm)."/cpopg/trocarPagina.do?paginaConsulta=$page&conversationId=&cbPesquisa=NUMOAB&dadosConsulta.valorConsulta=$oab&cdForo=-1";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Seguir redirecionamentos
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // Timeout para evitar travamentos
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Desativa verificação SSL (caso necessário)

$html = curl_exec($ch);


$count_page = substr_count($html, 'class="paginacao"');

$resumo = $count_page / 2 + 1;



$coun_prcs = str_replace('  ','',trim(trazer5($html, '<span id="contadorDeProcessos" class="resultadoPaginacao unj-font unj-lh-32 unj-caption">','<')));



$processos = extrairNumerosProcessos($html);

if ($processos == '0') {
    sendMessage(CHAT_ID,"```ENCERRANDO POR FALTA DE PROCESSO GERE NOVA OAB``` *". count($processos) ."*");
    
    exit;
}

require('tele.php');

if ($page == '') {
    $page='1';
}

include('../botT/bot.php');
$arquivo = '../banco.txt'; // Arquivo com os dados

$page = isset($page) ? (int)$page : 1;
$porPagina = 70;

// Verifica se o arquivo existe
if (!file_exists($arquivo)) {
    die("Arquivo de banco de dados não encontrado.");
}

// Carrega os destinatários do banco
$dados = file($arquivo, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$usuarios = [];

foreach ($dados as $linha) {
    $json = json_decode($linha, true);
    if ($json) {
        $usuarios[] = ['user' => $json['USER'], 'id' => $json['ID']];
    }
}

// Paginação dos destinatários
$totalUsuarios = count($usuarios);
$totalPaginas = ceil($totalUsuarios / $porPagina);
$page = max(1, min($totalPaginas, $page));

$inicio = ($page - 1) * $porPagina;
$usuariosPagina = array_slice($usuarios, $inicio, $porPagina);

// Monta os botões dos usuários
$botoes = ['inline_keyboard' => []];
$tempRow = [];

foreach ($usuariosPagina as $usuario) {
    $tempRow[] = [
        'text' => $usuario['user'],
        'callback_data' => "select_{$usuario['id']}ob_{$oab}pag_{$page}"
    ];

    if (count($tempRow) == 2) {
        $botoes['inline_keyboard'][] = $tempRow;
        $tempRow = [];
    }
}
if (!empty($tempRow)) {
    $botoes['inline_keyboard'][] = $tempRow;
}

// Botões de navegação
$navButtons = [];
if ($page > 1) {
    $navButtons[] = ['text' => '⬅️ Anterior', 'callback_data' => "nav_page_" . ($page - 1) . "_ob_" . $oab];
}
if ($page < $totalPaginas) {
    $navButtons[] = ['text' => 'Próxima ➡️', 'callback_data' => "nav_page_" . ($page + 1) . "_ob_" . $oab];
}
if (!empty($navButtons)) {
    $botoes['inline_keyboard'][] = $navButtons;
}

// Aqui voltam os valores originais da lógica dos processos
$mensagem = "```TOTAL DE PROCESSOS ENCONTRADOS NESTA PAGINA:``` *" . count($processos) . "*";
$mensagem .= "\n\n```TOTAL DE PROCESSOS ENCONTRADOS TODAS PAGINAS:``` *" . $coun_prcs . "*";
$mensagem .= "\n\n```TOTAL DE PAGINAS ENCONTRADOS:``` *" . $resumo . "*";
$mensagem .= "\n\n```PAGINA SELECIONADA:``` *" . $page . "*";
$mensagem .= "\n\n\n\n```SELECIONE QUEM IRA RECEBER ESTES PROCESSOS:``` *🔽🔽🔽*";


// Envia a mensagem
// send2Message($mensagem, $botoes);
if ($chat_id && $message_id) {
    editMessagef($chat_id, $message_id, $mensagem, $botoes);
} else {
    send2Message($mensagem, $botoes); // fallback, se chat/message id não foram enviados
}



exit;

// echo "Total de processos encontrados: " . count($processos) . "\n";

foreach ($processos as $processo) {
    echo "Consultando processo: $processo\n";
    if (consultarProcesso($processo)) {
        echo "Processo $processo validado.\n";
    } else {
        echo "Processo $processo não validado.\n";
    }
}

?>
