<?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/me-al";      $headers = [         'Authorization' => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJNREV5VW10R1ZGWkZUazVWZHowOVRXcEJNazFCUFQwIn0=.Vq26vsvxeiOjsdHhQOc8h1nfgkWKzK7gjHGJLwZl/GE=',          '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://socio.puertasabiertasal.org/" 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://socio.puertasabiertasal.org/login">Entrar</a>';     echo '<span class="header__divider">|</span>';     echo '<a href="https://socio.puertasabiertasal.org/registrate">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; }

Ora por las elecciones generales en la India, que empiezan hoy

Las elecciones comienzan hoy y se extienden hasta el 19 de mayo, donde se definirán los nuevos miembros del Parlamento y de las Asambleas Legislativas Estatales
Puertas Abiertas • 11 Abr 2019
Apoyadores del partido BJP, que está en el gobierno de India (foto: AFP)

Las elecciones generales en India comienzan hoy y van hasta el 19 de mayo. En las últimas elecciones, en 2014, el partido Bharatiya Janata Party (BJP) se convirtió en el partido al poder y Narendra Modi fue nombrado primer ministro. Desde entonces, el BJP ha ganado aún más influencia al conquistar más lugares en las elecciones de gobiernos estatales. El BJP es el brazo político del Rashtriya Swayamsevak Sangh (RSS), correctamente descrito por el Wikipedia como "una organización india paramilitar supremacista hindú, de extrema derecha y nacionalista hindú". La RSS es la fuerza propulsora detrás del movimiento nacionalista. La visión de ellos es: "nacer en India significa ser hindú".

El Parlamento indio está constituido por 790 miembros divididos en dos cámaras. La Cámara Baja, Lok Sabha (Cámara del Pueblo) está compuesta por 545 miembros y Cámara Alta (Rajya Sabha), por 245 miembros. India adopta el sufragio universal con elección directa a la Cámara Baja. De los 545 miembros, 543 son elegidos directamente por los ciudadanos (cada uno vota en los representantes de su estado). Los otros dos miembros son apuntados por el presidente de India de la Comunidad Anglo-Indiana.

Algunos cristianos serán elegidos para la Cámara Baja, todos ellos son provenientes del noreste de India, que es una región predominantemente cristiana. Un resultado favorable de las elecciones para los cristianos es que el Congreso Nacional forme una alianza de partidos que se oponga al BJP, ya que todo indica que el BJP continuará en el poder. Aunque el BJP gane, no se sabe si Modi continuará como primer ministro, pues hay la posibilidad que otro líder del BJP / RSS, Yogi Adityanath, asuma el poder. El primer ministro de India es elegido por los miembros de la Cámara Baja.

Simultáneamente con las elecciones generales para el parlamento, habrá también elecciones para la Asamblea Legislativa de seis estados: Andra Pradesh, Arunachal Pradesh, Haryana, Orissa Sikkim, y Jammu y Cachemira.

Desde que el BJP asumió el poder, India dio un salto en la Lista Mundial de la Persecución, desde la 28ª posición en 2014 a la 10ª en 2019.Los cristianos están preocupados que otra victoria del BJP signifique aún más aumento de la persecución. Los estados con más persecución son Madhya Pradesh, Maharashtra, Rajasthán y Chattisgarh, pero la persecución está alcanzando otros estados también. En Tamil Nadu y Karnataka, por ejemplo, la persecución aumentó drásticamente.

Campaña Global de India

Ante el aumento de la persecución en India, Puertas Abiertas ha lanzado una campaña global, que busca aumentar nuestros esfuerzos para apoyar a nuestros hermanos perseguidos. Al donar para esta campaña, tú permites que equipos de respuesta rápida lleguen a los cristianos que enfrentan incidentes de persecución. Demuestra que ellos te importan y que no están solos.