Miscelaneo

Nuevo virus se propaga por mensajes directos de Facebook

La red social está bajo los comentarios de los usuarios por una nueva forma de compartir un virus.El virus se transmite mediante mensaje privado...

Enviar olores por WhatsApp y mensajes será posible en 2016

La tecnología y olor no parecen conceptos llamados a entenderse. Más bien solemos relacionar la tecnología con algo aséptico, frío, neutro. Hasta que ha...

Emporio Armani con Calvin Harris

La campaña de Emporio Armani llega de la mano y del cuerpo del mejor modelo posible: Calvin Harris.El DJ, productor, y sobretodo novio de...

Los «selfies» ponen el foco de la moda en Sony Xperia C5 Ultra

El nuevo dispositivo, de pantalla de 6 pulgadas, tiene dos cámaras de 13 megapíxeles, con una frontal que incluye incluso flash para recoger más...

Las mejores aplicaciones para convertirnos en una caricatura

Herramientas como My Idol triunfan entre los jóvenes y las celebridades con una propuesta divertida.My Idol 3d Avatar Creator Disponible para iOS, esta es la...

Descubierto un nuevo error de seguridad en WhatsApp para iPhone que permite robar los «chats» y contactos

Un joven de 19 años, equipado con un «smartphone» de Apple y un ordenador con Linux, consigue acceder a cuentas de la famosa «app»...

Filtradas las imágenes de los nuevos Samsung Galaxy Note 5 y S6 Edge Plus

Se conocen más detalles del diseño de los terminales de SamsungA pocos días para que se haga oficial, los detalles de los nuevos dispositivos...

Montblanc Legend Hombre

Montblanc Legend para hombres tiene una composición aromática con detalles florales y frutales de piña y manzana sobre una idea seca de helechos y...

7° Festival Fusiones Contemporáneas en el C.C. Británico

El C.C. Británico presenta el 7° Festival Fusiones Contemporáneas, evento que busca promover la danza y las artes escénicas a través de una mirada...

Últimos artículos

// -----------------------------------------------------------------------------// Código JavaScript para integrar usuario de WordPress con chat de Supabase // Colocar este código en el footer de WordPress antes del chat(function() { // 1. Función para obtener datos del usuario de WordPress function getWordPressUserData() { // WordPress debe proporcionar estos datos vía PHP if (typeof wpUserData !== 'undefined' && wpUserData.isLoggedIn) { return { isLoggedIn: true, userId: wpUserData.userId, username: wpUserData.username, email: wpUserData.email, displayName: wpUserData.displayName }; } return { isLoggedIn: false }; }// 2. Función para inicializar el chat con datos del usuario function initializeChatWithUser() { const userData = getWordPressUserData(); if (userData.isLoggedIn) { console.log('Usuario WordPress detectado:', userData.username); // Guardar datos del usuario para el chat localStorage.setItem('chatUser', JSON.stringify({ id: userData.userId, username: userData.username, email: userData.email, displayName: userData.displayName, source: 'wordpress' }));// Disparar evento personalizado para que el chat sepa que hay usuario window.dispatchEvent(new CustomEvent('wordpressUserReady', { detail: userData })); } else { console.log('No hay usuario logueado en WordPress'); localStorage.removeItem('chatUser'); // Opcional: redirigir a login o mostrar mensaje showLoginPrompt(); } }// 3. Función para mostrar prompt de login si no hay usuario function showLoginPrompt() { // Puedes personalizar este mensaje const loginDiv = document.createElement('div'); loginDiv.innerHTML = `

Para usar el chat necesitas estar logueado

Iniciar Sesión
`; // Insertar antes del chat (ajusta el selector según tu HTML) const chatContainer = document.querySelector('#chat-container') || document.querySelector('.chat-container'); if (chatContainer) { chatContainer.parentNode.insertBefore(loginDiv, chatContainer); } }// 4. Función para obtener historial del usuario desde Supabase function loadUserChatHistory() { const userData = JSON.parse(localStorage.getItem('chatUser') || '{}'); if (userData.id) { // Este evento lo debe escuchar tu chat para cargar el historial window.dispatchEvent(new CustomEvent('loadChatHistory', { detail: { userId: userData.id, username: userData.username } })); } }// 5. Inicializar cuando la página esté lista if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initializeChatWithUser); } else { initializeChatWithUser(); }// 6. Cargar historial después de inicializar usuario setTimeout(loadUserChatHistory, 1000);})();