=== Cobra tu Pensión === Contributors: alimentalegal Tags: woocommerce, landing, chile, pension de alimentos, ley 14908, google calendar, google meet, booking Requires at least: 6.4 Tested up to: 6.5 Requires PHP: 8.0 Stable tag: 2.5.0 License: GPLv2 or later Landing + diagnóstico + booking + Google Meet + WooCommerce/Webpay para Cobra tu Pensión. == Description == Plugin self-contained que monta la landing de Cobra tu Pensión y agrega: * Landing completa con paleta navy/gold/cream y fuentes locales (Geist, Instrument Serif, JetBrains Mono). * Encuesta interactiva de 8 preguntas con scoring autoritativo en PHP, gauge animado y 5 tiers. * Email gate después de la última pregunta (nombre completo + email + teléfono obligatorios). * Auto-creación de un producto WooCommerce "Agendar Reunión" a $30.000 CLP virtual. * Sin carrito: cada compra empieza desde cero, redirige directo al checkout, página /cart redirigida. * **Mini-calendario de booking en el checkout**: cliente elige fecha y hora ANTES de pagar. * **Integración Google Calendar + Meet**: al pagar, se crea evento en Calendar del abogado con link Meet automático. * **Recordatorio 24h antes** nativo de Google Calendar (sin código de cron). * Email branded al cliente con horario + link Meet al confirmarse el pago. * Email enriquecido al abogado con horario + link Meet + datos cliente + 8 respuestas + porcentaje + tier. * Skin de la paleta sobre todas las páginas de WooCommerce sin reemplazar templates. * Cero slots fantasma: la selección de hora vive como dato del pedido hasta que se confirma el pago. * Si Google Calendar no está conectado, el plugin sigue funcionando: guarda el slot, manda emails sin Meet, avisa al admin para crear el evento manualmente. == Instalación == 1. WooCommerce activo + plugin de Webpay Transbank configurado. 2. Subir el .zip por Plugins → Añadir nuevo → Subir plugin. 3. Activar. 4. (Opcional pero recomendado para producción) Activar Google Workspace, configurar OAuth credentials en Google Cloud Console y conectar Google Calendar desde Cobra tu Pensión → Ajustes. == Changelog == = 2.5.0 = * Contenidos: +1000 casos gestionados en el hero; toda mención de la consultoría pasa de 45 a 30 minutos (hero, CTA, FAQ, T&C, producto, evento de Calendar — este último ahora calcula la duración real de la reunión); nuevo texto del paso 03 de metodología (interconexión del tribunal con la CMF); párrafos justificados (en móvil, los párrafos cortos de tarjetas siguen centrados). * Encuesta: Fase 02 "…o 5 discontinuos o más"; Fase 03 cuentas bancarias con 3 opciones (Sí sé los datos / Sí pero no sé los datos / No sé); Fase 04 se retitula "Sanciones y medidas" y la pregunta del Registro pasa a Sí / No / No sé. El puntaje máximo total no cambia. * Términos y condiciones y textos de las Leyes 14.908/21.484: eliminado todo el texto de relleno en latín; nueva cláusula de que los $30.000 de la consultoría se descuentan de los honorarios finales al contratar; tabla de honorarios por monto de deuda (también en el FAQ). * Agenda nueva: lunes a viernes 15:00-18:00 y sábado 10:00-11:30, reuniones de 30 minutos sin buffer. El motor ahora soporta horario especial por día (day_hours) y Ajustes permite configurarlo. * Migración automática (nueva clase AL_Upgrade, opción al_version): actualiza en la base de datos los textos legales (solo si seguían siendo el default con latín), la encuesta (solo si era copia del default anterior), las descripciones del producto y la agenda; se ejecuta al entrar al wp-admin tras actualizar. * Fix "opción de pago" duplicada en el checkout: si la página de checkout quedó con el bloque Gutenberg de WooCommerce además del shortcode clásico (dos checkouts renderizados), se reescribe a solo el shortcode. El contenido original queda respaldado en la opción al_checkout_backup. = 2.4.10 = * FIX acceso al admin: en esta instalación el rol administrator no tiene la capability manage_options, así que el endurecimiento de 2.4.9 dejaba fuera al propio admin. Los menús y los Diagnósticos ahora usan una capability dinámica: manage_options si el usuario la tiene, y si no, acceso solo para usuarios que pasan la verificación de administrador (user_is_admin). Suscriptores/Autores/Editores siguen sin ver nada. = 2.4.9 = * FIX doble reserva: la búsqueda de pedidos con horario reservado filtraba por fecha de creación del pedido con una ventana de solo 2 días — pedidos antiguos con reunión futura quedaban fuera y su horario se volvía a ofrecer. La ventana ahora cubre max_lead_days y se elimina el tope de 200 pedidos. * Soft-lock durante el pago: los pedidos pendientes recientes (<1 h) ocupan su horario mientras el cliente está en Webpay; si se abandona el pago, el horario se libera solo. * La validación del horario al reservar y al pagar ignora la caché de 60 s (datos frescos siempre). * Al anular o reembolsar un pedido se borra el evento de Google Calendar (avisando a los asistentes) y se libera el horario. Antes el evento quedaba huérfano y bloqueaba el horario para siempre. * Conexión Google: se añaden los scopes openid + userinfo.email — sin ellos Google no entregaba el correo de la cuenta conectada y el abogado no quedaba como invitado de sus propias reuniones. IMPORTANTE: hay que RECONECTAR Google tras actualizar (Ajustes → Desconectar → Conectar). * Los correos de confirmación y diagnóstico dejan nota en el pedido (enviado o FALLO) — antes un fallo de envío pasaba inadvertido. * Seguridad: el endpoint público de horarios exige nonce y acota el rango a la ventana reservable (evita agotar la cuota de la API de Google); los menús del admin y los diagnósticos (PII) pasan de 'read'/'edit_posts' a 'manage_options'; el Client Secret se muestra enmascarado; la desinstalación revoca y borra el token de Google y todas las opciones del plugin. * Zona horaria: los eventos de día completo del Calendar se interpretan en la TZ del plugin (no la del servidor) y el horario seleccionado en /agendar/ se muestra en hora de Santiago (no la del navegador). El rango de fechas pedido usa fecha local (cerca de medianoche se perdía un día). * La caché de disponibilidad se invalida por versión (compatible con object cache persistente) y no cachea resultados cuando la API de Google falla. = 2.4.8 = * Español neutro en todos los textos: se eliminan los voseos (necesitás→necesitas, tenés→tienes, escribinos→escríbenos, reservá→reserva, completá→completa, etc.) en correos, landing, booking, checkout y admin. * Botón "Unirse a Google Meet" de los correos: texto blanco con estilos inline (los clientes de correo ignoran la hoja de estilos y el texto quedaba invisible sobre el fondo azul). * Se desactivan los correos de WooCommerce al cliente ("Pedido en procesamiento"/"completado"), que duplicaban la confirmación con marca propia. El cliente ahora recibe solo la confirmación del plugin y la invitación de Google Calendar. = 2.4.7 = * Correo del admin (diagnóstico): se quita el botón "Ver pedido en el admin". El número de pedido del encabezado sigue enlazando al pedido. = 2.4.6 = * Página de gracias: se quita el botón "Unirse a Google Meet" (la reunión no es en ese momento) y se reemplaza por un aviso destacado: el enlace llega por correo y habrá recordatorio 24 h antes. * Recordatorio real 24 h antes de la reunión: correo al cliente con el link de Meet, programado vía WP-Cron al confirmarse el pago (template cliente-recordatorio.php). Se cancela si el pedido se anula o reembolsa. * Fix: el ícono del aviso "Transacción aprobada" ya no se superpone al texto (web y móvil). * Botón "Regresar a la página principal" al final de la página de gracias. * Emails largos ya no desbordan el layout en pantallas de 320px. = 2.4.5 = * Selector de horarios: los números de los días llevan color explícito (navy sobre crema, crema en el día activo); antes heredaban el color de botón del tema y quedaban ilegibles. = 2.4.4 = * Corrige "Error 400: redirect_uri_mismatch" al conectar Google: la URL de autorización se construía con add_query_arg() sin codificar los valores, y el "&al_oauth=callback" del redirect_uri llegaba cortado a Google. Ahora se usa http_build_query() con RFC 3986. = 2.4.3 = * CTA final: el titular "Una hora de tu semana puede cambiar el próximo año" queda completo en dorado, con color explícito para que el tema activo no lo vuelva ilegible sobre el fondo azul. = 2.4.2 = * Metodología: se elimina el encabezado fijo (sticky) que se superponía al texto al hacer scroll; ahora el contenido fluye normal. * Móvil: textos centrados en hero, problema, pilares, metodología, encuesta y footer para un diseño equilibrado. = 2.4.1 = * Responsive completo en todos los dispositivos: menú móvil (hamburguesa) en la landing, hero/encuesta/FAQ/CTA/footer optimizados para pantallas chicas, selector de horarios con días deslizables en móvil, checkout y página de gracias apilados en una columna, soporte de prefers-reduced-motion. = 2.0.0 = * Mini-calendario de booking en el checkout antes de pagar. * Integración Google Calendar API + Google Meet (OAuth 2.0, refresh automático de tokens). * Lectura de eventos del calendario del abogado para detectar conflictos en tiempo real. * Email branded al cliente con link Meet. * Email enriquecido al abogado con todos los datos. * Pre-popular checkout con datos del lead. * Settings extendidos: credenciales Google, disponibilidad (días, horarios, slots, buffers, anticipación, días bloqueados, zona horaria). = 1.0.0 = * Versión inicial: landing + encuesta + email gate + producto + WooCommerce skin.