<?php
$base = '/home/brenopai/public_html/brenopaiva.com.br/sistema/application/modules/admin';
$db = mysqli_connect('localhost','brenopai_advteste','qaR2Pd751U','brenopai_advteste');
echo '<pre>';

// 1. Add cookie renewal method to diario_oficial controller
$ctrl = file_get_contents($base.'/controllers/diario_oficial.php');

if(strpos($ctrl,'config_cookies') === false) {
    // Add before last closing brace
    $ctrl = rtrim($ctrl);
    if(substr($ctrl,-1)==='}') {
        $ctrl = substr($ctrl,0,-1) . '
    public function config_cookies()
    {
        if($this->input->post(\'submitted\')) {
            $pcp  = trim($this->input->post(\'pcp_session\'));
            $xsrf = trim($this->input->post(\'xsrf_token\'));
            $exp  = $this->input->post(\'expires_at\');
            $db   = $this->db;
            $exists = $db->get(\'pje_config\')->num_rows();
            if($exists > 0) {
                $db->update(\'pje_config\',[\'pcp_session\'=>$pcp,\'xsrf_token\'=>$xsrf,\'expires_at\'=>$exp]);
            } else {
                $db->insert(\'pje_config\',[\'pcp_session\'=>$pcp,\'xsrf_token\'=>$xsrf,\'expires_at\'=>$exp]);
            }
            // Test the new cookies via Worker
            $worker = $this->db->get(\'pje_config\')->row();
            $this->session->set_flashdata(\'message\',\'Cookies atualizados! Teste o cron para verificar.\');
            redirect(\'admin/diario_oficial/config_cookies\');
        }
        $r = @$this->db->get(\'pje_config\')->row();
        $data[\'config\']     = $r;
        $data[\'page_title\'] = \'PJe — Renovar Cookies\';
        $data[\'body\']       = \'diario_oficial/config_cookies\';
        $this->load->view(\'template/main\', $data);
    }

    public function testar_cookies()
    {
        $cfg = $this->db->get(\'pje_config\')->row();
        if(!$cfg) { echo json_encode([\'success\'=>false,\'error\'=>\'Sem cookies\']); return; }

        $worker_url = \'https://pje-proxy-final.breno-augusto.workers.dev\';
        $url = $worker_url.\'?action=comunicacoes&secret=bp_advocacia_pje_2026&oab=31577&uf=PE&pagina=1&tamanho=5\'
             .\'&pcp=\'.urlencode($cfg->pcp_session).\'&xsrf=\'.urlencode($cfg->xsrf_token);

        $ch = curl_init($url);
        curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>true,CURLOPT_TIMEOUT=>20,CURLOPT_SSL_VERIFYPEER=>false]);
        $resp = curl_exec($ch);
        curl_close($ch);

        $data = json_decode($resp,true);
        echo json_encode([
            \'success\'   => $data[\'success\']??false,
            \'status\'    => $data[\'status\']??0,
            \'total\'     => $data[\'total\']??0,
            \'message\'   => $data[\'success\'] ? "✓ Cookies válidos! {$data[\'total\']} publicações encontradas." : "✗ Cookies inválidos ou expirados.",
        ]);
    }
}
';
        file_put_contents($base.'/controllers/diario_oficial.php', $ctrl);
        echo "✓ diario_oficial controller: config_cookies e testar_cookies adicionados\n";
    }
} else {
    echo "✓ config_cookies já existe\n";
}

// 2. Create the view
$view = '<?php defined(\'BASEPATH\') OR exit(\'No direct script access allowed\'); ?>
<section class="content-header">
    <h1><i class="fa fa-key"></i> PJe — Renovar Cookies de Sessão</h1>
    <ol class="breadcrumb">
        <li><a href="<?php echo site_url(\'admin/diario_oficial\')?>">Diário Oficial</a></li>
        <li class="active">Renovar Cookies</li>
    </ol>
</section>
<section class="content">
<?php if($this->session->flashdata(\'message\')): ?>
<div class="alert alert-success alert-dismissible"><button type="button" class="close" data-dismiss="alert">&times;</button><?php echo $this->session->flashdata(\'message\')?></div>
<?php endif; ?>

<div class="row">
<div class="col-md-8">
<div class="box box-warning">
    <div class="box-header with-border" style="background:#C55A11;color:#fff">
        <h3 class="box-title" style="color:#fff"><i class="fa fa-exclamation-triangle"></i> Como renovar os cookies</h3>
    </div>
    <div class="box-body">
        <ol style="line-height:2">
            <li>Abra o Chrome e acesse <a href="https://comunicaapi.pje.jus.br" target="_blank">comunicaapi.pje.jus.br</a></li>
            <li>Faça login com seu certificado digital ou gov.br</li>
            <li>Pressione <strong>F12</strong> → aba <strong>Application</strong></li>
            <li>No menu lateral: <strong>Cookies → https://comunicaapi.pje.jus.br</strong></li>
            <li>Copie o valor de <strong>pcp_session</strong> e cole abaixo</li>
            <li>Copie o valor de <strong>XSRF-TOKEN</strong> e cole abaixo</li>
            <li>Clique em <strong>Salvar e Testar</strong></li>
        </ol>
    </div>
</div>

<div class="box box-primary">
    <div class="box-header with-border"><h3 class="box-title"><i class="fa fa-cookie"></i> Cookies Atuais</h3></div>
    <div class="box-body">
        <?php if($config): ?>
        <div class="alert alert-info">
            <strong>Última atualização:</strong> <?php echo $config->updated_at?><br>
            <strong>Expira em:</strong> <span class="<?php echo strtotime($config->expires_at??\'\')<time()?\'text-danger\':\'text-success\'"?>"><?php echo $config->expires_at??\'não definido\'?></span>
        </div>
        <?php endif; ?>

        <form method="post" action="<?php echo site_url(\'admin/diario_oficial/config_cookies\')?>">
            <div class="form-group">
                <label><strong>pcp_session</strong></label>
                <textarea name="pcp_session" class="form-control" rows="3" required placeholder="eyJpdiI6..."><?php echo htmlspecialchars($config->pcp_session??\'\')?></textarea>
            </div>
            <div class="form-group">
                <label><strong>XSRF-TOKEN</strong></label>
                <textarea name="xsrf_token" class="form-control" rows="3" required placeholder="eyJpdiI6..."><?php echo htmlspecialchars($config->xsrf_token??\'\')?></textarea>
            </div>
            <div class="form-group">
                <label><strong>Data de expiração</strong> (ver no campo "Expires" do cookie)</label>
                <input type="datetime-local" name="expires_at" class="form-control" value="<?php echo $config?str_replace(\' \',\'T\',$config->expires_at??\'\'): \'\'?>">
            </div>
            <input type="hidden" name="submitted" value="1">
            <button type="submit" class="btn btn-primary btn-lg"><i class="fa fa-save"></i> Salvar Cookies</button>
            <button type="button" class="btn btn-success btn-lg" id="btn-testar"><i class="fa fa-flask"></i> Testar Conexão</button>
            <a href="<?php echo site_url(\'admin/diario_oficial\')?>" class="btn btn-default btn-lg">Cancelar</a>
        </form>

        <div id="teste-resultado" style="margin-top:15px;display:none"></div>
    </div>
</div>
</div>
<div class="col-md-4">
<div class="box box-info">
    <div class="box-header with-border"><h3 class="box-title"><i class="fa fa-info-circle"></i> Informações</h3></div>
    <div class="box-body">
        <p><strong>Por que preciso renovar?</strong><br>Os cookies de sessão do PJe expiram após algumas horas. Sem eles o sistema não consegue buscar publicações.</p>
        <hr>
        <p><strong>Com que frequência renovar?</strong><br>Quando o cron job parar de encontrar publicações ou mostrar erro.</p>
        <hr>
        <p><strong>Cron Job configurado:</strong><br><code>0 0,12 * * *</code> (2x por dia, meia-noite e meio-dia)</p>
        <hr>
        <a href="<?php echo site_url(\'admin/diario_oficial\')?>" class="btn btn-default btn-block"><i class="fa fa-newspaper-o"></i> Ver Publicações</a>
    </div>
</div>
</div>
</div>
</section>
<script>
document.getElementById(\'btn-testar\').addEventListener(\'click\', function() {
    var btn = this;
    btn.disabled = true;
    btn.innerHTML = \'<i class="fa fa-spinner fa-spin"></i> Testando...\';
    var res = document.getElementById(\'teste-resultado\');
    res.style.display = \'block\';
    res.innerHTML = \'<div class="alert alert-info">Testando conexão com o PJe...</div>\';
    fetch(\'<?php echo site_url("admin/diario_oficial/testar_cookies")?>\')
        .then(r=>r.json())
        .then(d=>{
            res.innerHTML = \'<div class="alert alert-\'+(d.success?\'success\':\'danger\')+\'"><i class="fa fa-\'+(d.success?\'check\':\'times\')+\'-circle"></i> \'+d.message+\'</div>\';
            btn.disabled = false;
            btn.innerHTML = \'<i class="fa fa-flask"></i> Testar Conexão\';
        })
        .catch(e=>{ res.innerHTML=\'<div class="alert alert-danger">Erro: \'+e+\'</div>\'; btn.disabled=false; btn.innerHTML=\'<i class="fa fa-flask"></i> Testar Conexão\'; });
});
</script>';

$vpath = $base.'/views/diario_oficial/config_cookies.php';
file_put_contents($vpath, $view);
echo "✓ View config_cookies.php criada\n";

echo "\n✓ Tudo pronto!";
echo '</pre>';
