<?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>'; ?>
.header__divider {   color: #D0D5DD; }  .user-login {   color: #101828; }
<?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.
campanha:

Shockwave 2025

share

Shockwave 2025

Fortaleça igrejas domésticas secretas
Assistir video

Do que você abriria mão para abençoar cristãos perseguidos no Oriente Médio que arriscam tudo por Jesus? Veja como ajudar!

Onde sua doação faz a diferença

Treinamento de liderança

Em vários países do Oriente Médio, aqueles que se convertem do islamismo a Cristo precisam manter a fé em segredo e se reunir em igrejas domésticas por causa da perseguição. Há 70 anos, a Portas Abertas trabalha para apoiar esses cristãos. Junte-se a nós nessa missão!

Com R$ 30,00, equivalente ao valor mensal médio de uma assinatura de aplicativo de música, você envia uma Bíblia para um cristão secreto.

Com R$ 80,00, equivalente ao valor médio de dois meses de assinatura de streaming, você fortalece jovens cristãos secretos por meio de discipulado e treinamentos online.

Com R$ 120,00, equivalente ao valor médio de duas pizzas, você capacita líderes de igrejas domésticas por meio de treinamentos online ou fora do país.

relato da perseguição

Conheça Mehrdad

O que a pressão constante faz com os cristãos secretos? Como é saber que cada reunião da igreja doméstica pode terminar em prisão e tortura? "Não é como em outros países, onde você pode cantar alto, levantar as mãos e se sentir livre. Vivemos com medo de baterem na porta. Com medo de alguém ouvir. A regra mais importante: crie um plano de fuga para cada reunião. Toda vez que a campainha toca, as pessoas ficam alertas: talvez seja apenas alguém da igreja doméstica que está atrasado! Mas os cristãos estão sempre prontos para fazer suas Bíblias e computadores desaparecerem rapidamente ou fugir", diz Mehrdad, jovem cristão iraniano.

E, no entanto, os cristãos continuam se reunindo, buscando comunhão, porque sabem que precisam uns dos outros. "Ver outros cristãos, comparecer diante de Jesus com eles, é como estar na prisão e, de repente, sentir o sol no rosto. Isso nos dá força e esperança e nos lembra que não estamos sozinhos, mas que pertencemos ao corpo de Cristo", diz Mehrdad.

 

A perseguição no Oriente Médio

 

Em países de maioria islâmica no Oriente Médio, no geral os cristãos não são perseguidos “oficialmente”. Governos afirmam que são comprometidos com a liberdade religiosa. No entanto, na maioria desses países, a conversão do islamismo para o cristianismo é proibida ou não reconhecida. Os convertidos são vistos como apóstatas, que merecem prisão, perda dos direitos, exclusão da comunidade e os piores tratamentos.

Mesmo assim, em países como Irã, pastores afirmam que igrejas domésticas secretas estão brotando como cogumelos, de tal maneira que eles não conseguem treinar os líderes. Por outro lado, esses líderes sistematicamente são presos, torturados e precisam deixar o país quando são soltos. O que resta são muitos novos convertidos que agora estão formando igrejas a um alto risco.

Um pastor iraniano disse: “Nós estamos dispostos a pagar nosso preço, vocês estão dispostos a fazer sua parte?”. Sua doação mostra que sim, estamos dispostos a orar e nos envolver praticamente com nossos irmãos da igreja secreta no Oriente Médio.

 

 

 

*** O valor da doação é uma sugestão e pode ser alterado***

 

Ao doar para qualquer projeto, você se torna um parceiro e recebe de presente a assinatura da Revista Portas Abertas, com validade de um ano.

 

Caso o valor arrecadado ultrapasse o orçamento do projeto, as doações serão utilizadas em outras necessidades do campo.

Doe agora para a campanha
Shockwave 2025
Faça sua doação via PIX, cartão de crédito ou boleto.