<?php 
// Headers específicos para LiteSpeed Cache
header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');

// Headers específicos para LiteSpeed
if (function_exists('litespeed_purge_all')) {
    header('X-LiteSpeed-Cache-Control: no-cache');
}

// Desabilitar cache do WordPress para este arquivo
if (!defined('DONOTCACHEPAGE')) {
    define('DONOTCACHEPAGE', true);
}
if (!defined('DONOTCACHEOBJECT')) {
    define('DONOTCACHEOBJECT', true);
}
if (!defined('DONOTCACHEDB')) {
    define('DONOTCACHEDB', true);
}

// Verificar se existe um parâmetro para forçar atualização do cookie
$force_refresh = isset($_GET['refresh_user']) || isset($_POST['refresh_user']);

// Tentar obter o cookie de diferentes formas
$idpessoacode = null;

// Método 1: Cookie tradicional
if (isset($_COOKIE['idpessoacode']) && !empty($_COOKIE['idpessoacode'])) {
    $idpessoacode = sanitize_text_field($_COOKIE['idpessoacode']);
}

// Método 2: Verificar via JavaScript se o cookie não foi encontrado
if (empty($idpessoacode)) {
    echo '<script>
        // Tentar obter cookie via JavaScript
        function getCookie(name) {
            let value = "; " + document.cookie;
            let parts = value.split("; " + name + "=");
            if (parts.length == 2) return parts.pop().split(";").shift();
            return null;
        }
        
        let cookieValue = getCookie("idpessoacode");
        if (cookieValue && cookieValue !== "") {
            // Reenviar via POST se encontrou cookie no JS
            let form = document.createElement("form");
            form.method = "POST";
            form.style.display = "none";
            
            let input = document.createElement("input");
            input.name = "js_cookie_value";
            input.value = cookieValue;
            form.appendChild(input);
            
            let refresh = document.createElement("input");
            refresh.name = "refresh_user";
            refresh.value = "1";
            form.appendChild(refresh);
            
            document.body.appendChild(form);
            form.submit();
        }
    </script>';
}

// Método 3: Verificar se foi enviado via POST do JavaScript
if (empty($idpessoacode) && isset($_POST['js_cookie_value']) && !empty($_POST['js_cookie_value'])) {
    $idpessoacode = sanitize_text_field($_POST['js_cookie_value']);
}

// Debug (remover em produção)
error_log('Cookie idpessoacode: ' . ($idpessoacode ? $idpessoacode : 'não encontrado'));

if (!empty($idpessoacode)) {
    $url = "https://cmsv3.portasabertas.org.br/api/pessoas/mev3";

    $headers = [
        'Authorization' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJNREV5VW10R1ZGWkZUazVWZHowOVRXcEJNRTlCUFQwIn0=.sR2PWTqcv/2a1efuM7mlshQ0hEkCGRnV0HmVi7rzQro=', 
        'Content-Type'  => 'application/json',
        'Cache-Control' => 'no-cache',
        'User-Agent' => 'WordPress/' . get_bloginfo('version') . '; ' . get_bloginfo('url')
    ];

    $body = json_encode([
        'idpessoacode' => $idpessoacode
    ]);

    // Adicionar timestamp para evitar cache na API
    $response = wp_remote_post($url . '?t=' . time(), [
        'headers' => $headers,
        'body'    => $body,
        'timeout' => 15,
        'sslverify' => true,
        'blocking' => true,
        'httpversion' => '1.1'
    ]);

    if (!is_wp_error($response)) {
        $response_code = wp_remote_retrieve_response_code($response);
        $body_response = wp_remote_retrieve_body($response);
        
        // Debug da resposta (remover em produção)
        error_log('Response code: ' . $response_code);
        error_log('Response body: ' . $body_response);
        
        $data = json_decode($body_response, true);

        if (!empty($data) && isset($data['data']['despessoa'])) {
            $nome   = esc_html($data['data']['despessoa']);
            $imagem = !empty($data['data']['desimage']) 
                        ? esc_url($data['data']['desimage']) 
                        : "https://sitepa.s3.amazonaws.com/wp-content/uploads/br/2025/09/Vertical-container-1.avif";

            // Adicionar um identificador único para evitar cache do browser
            $cache_buster = '?v=' . time();
            if (strpos($imagem, '?') !== false) {
                $cache_buster = '&v=' . time();
            }

            // Usuário logado
            echo '
            <div class="user-menu" style="position:relative;display:inline-block;" data-user-loaded="true">
                <div class="user-box" style="display:flex;align-items:center;gap:8px;cursor:pointer;" onclick="toggleUserDropdown(this)">
                    <img src="'.$imagem.$cache_buster.'" alt="'.$nome.'" style="width:35px;height:35px;border-radius:50%;object-fit:cover;" onload="this.style.opacity=1" style="opacity:0;transition:opacity 0.3s;">
                    <span style="font-size:14px;">Hola, <strong>'.$nome.'</strong></span>
                    <img src="https://sitepa.s3.amazonaws.com/wp-content/uploads/br/2025/09/Arrows-Diagrams.svg" alt="Seta" style="width:25px;height:25px;">
                </div>
                <div class="user-dropdown" style="display:none;position:absolute;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.15);min-width:200px;z-index:999;">
                    <a href="https://parceiro.portasabertas.org.br/" style="display:flex;align-items:center;gap:6px;padding:10px;color:#333;text-decoration:none;font-size:14px;">
                        <img src="https://sitepa.s3.amazonaws.com/wp-content/uploads/br/2025/09/login-enter-arrow-right-circle.svg" alt="Área restrita" style="width:16px;height:16px;">
                        Acceder al portal
                    </a>
                    
                </div>
            </div>

            <script>
            function toggleUserDropdown(element) {
                let dropdown = element.nextElementSibling;
                dropdown.style.display = dropdown.style.display === "block" ? "none" : "block";
            }

            function refreshUserData() {
                window.location.href = window.location.href + (window.location.href.includes("?") ? "&" : "?") + "refresh_user=1";
            }

            // Fechar dropdown ao clicar fora
            document.addEventListener("click", function(e) {
                document.querySelectorAll(".user-dropdown").forEach(function(drop){
                    if (!drop.previousElementSibling.contains(e.target)) {
                        drop.classList.remove("show");
                        drop.style.display = "none";
                    }
                });
            });

            // Verificar se o usuário foi carregado corretamente
            document.addEventListener("DOMContentLoaded", function() {
                if (!document.querySelector("[data-user-loaded]")) {
                    console.log("Usuário não carregado, tentando novamente em 2 segundos...");
                    setTimeout(function() {
                        window.location.reload();
                    }, 2000);
                }
            });
            </script>
            ';
        } else {
            // Dados inválidos na API
            error_log('Dados inválidos retornados pela API: ' . json_encode($data));
            showFallbackLogin();
        }
    } else {
        // Erro na API
        error_log('Erro na API: ' . $response->get_error_message());
        showFallbackLogin();
    }
} else {
    // Sem cookie
    showFallbackLogin();
}

// Função para mostrar o fallback de login
function showFallbackLogin() {
    echo '<div class="user-login" style="display:flex;align-items:center;gap:10px;">';
    echo '<img src="https://sitepa.s3.amazonaws.com/wp-content/uploads/br/2025/09/Vertical-container-1.avif" alt="Login" style="width:35px;height:35px;">';
    echo '<a href="https://auth.parceiro.portasabertas.org.br/login">Entrar</a>';
    echo '<span class="header__divider">|</span>';
    echo '<a href="https://auth.parceiro.portasabertas.org.br/cadastro">Regístrate</a>';
    echo '</div>';
}

// CSS adicional para melhorar a experiência
echo '<style>
.user-menu img {
    transition: opacity 0.3s ease-in-out;
}
.user-dropdown.show {
    display: block !important;
}
</style>';
?>
Bem vindo
Acesse sua conta ou registre-se gratuitamente.

Nigéria

Ofereça cuidados pós-trauma e alimento.

Doe agora

Shockwave 2025

Fortaleça igrejas domésticas secretas

Apoie agora

Relatório de impacto

Confira o nosso apoio aos cristãos perseguidos no último ano

Veja agora

LMP 2025

Os 50 países onde os cristãos são mais perseguidos

Descubra

+4.400

+0
Cristãos mortos
por causa da fé
+0

+4.700

Cristãos presos
sem julgamento
+0

+54.700

Cristãos abusados física
e psicologicamente
Ore pela Igreja Perseguida

Acenda uma luz com sua oração

Clique abaixo no botão, e adote esse propósito em suas orações a partir de agora
mapa
Pedido de oração
Não temos pedidos de oração para hoje.
Ore agora mesmo e cadastre-se para ser
parceiro da Igreja Perseguida
Vou orar
ParseError: syntax error, unexpected token "\"
Pessoas orando
Veja o que sua família perseguida diz

Depoimentos de cristãos perseguidos

imagem
paises
Coreia do Norte
“Um dia, quando chegar a hora, voltarei a meu país natal e me dedicarei aos cristãos e à igreja da Coreia do Norte.”
Dreamer
imagem
paises
Irã
“Entendi que estar na prisão não era o fim do evangelismo, apenas um local diferente para o trabalho.”
Pastor Iman
imagem
paises
Burkina Faso 
“Às vezes, tenho pesadelos e não consigo dormir. Eu sonho que ainda estou lá e que eles estão me perseguindo, tentando me matar.”
Habiba
imagem
paises
China
“Alguns líderes das igrejas foram levados para 'tomar chá' (expressão que, na China, significa que a pessoa foi levada para um interrogatório).”
Hollace
Veja o que sua família perseguida diz

Depoimentos de cristãos perseguidos

paises

Coreia do Norte

“Um dia, quando chegar a hora, voltarei a meu país natal e me dedicarei aos cristãos e à igreja da Coreia do Norte.”

Dreamer

paises

Coreia do Norte

“Um dia, quando chegar a hora, voltarei a meu país natal e me dedicarei aos cristãos e à igreja da Coreia do Norte.”

Dreamer

paises

Coreia do Norte

“Um dia, quando chegar a hora, voltarei a meu país natal e me dedicarei aos cristãos e à igreja da Coreia do Norte.”

Dreamer

Veja como as doações beneficiam os cristãos perseguidos

Impacto Global

0

Receberam treinamento bíblico e discipulado

0

Receberam Bíblias e literatura cristã

0

Foram apoiados por meio de advocacy

0

Receberam ajuda socioeconômica

0

Foram apoiados por meio de pesquisa e ministério de presença

Contribuir com a igreja perseguida
Acrescente sua luz ao mapa para que cristãos em todo o mundo vejam que estamos unidos em oração!

Google reCaptcha: Chave do site inválida.