=== Engranaje Gestión de Consorcios ===
Colaboradores: engranaje
Etiquetas: gestión de propiedades, consorcio, reclamos, reservas, edificios
Requiere al menos: 5.8
Probado hasta: 6.9
Requiere PHP: 7.4
Etiqueta estable: 1.0.7
Licencia: GPLv2 o posterior
URI de Licencia: https://www.gnu.org/licenses/gpl-2.0.html

Sistema de gestión de reclamos y reservas para consorcios y edificios.

== Descripción ==

**Engranaje Gestión de Consorcios** es un plugin que permite a administradores de consorcios y edificios gestionar reclamos de mantenimiento y reservas de áreas comunes (salón de usos múltiples) de forma simple y eficiente.

= Soporte y Actualizaciones =

Este plugin se distribuye de forma gratuita bajo licencia GPL v2. El soporte y las actualizaciones son proporcionados voluntariamente por el desarrollador, sin ninguna garantía u obligación. El plugin se ofrece "tal cual", sin garantías de ningún tipo.

= Características Principales =

* **Sistema de Reclamos**: Los propietarios pueden reportar reclamos o solicitudes de mantenimiento
* **Reservas de SUM**: Gestión de reservas del salón de usos múltiples
* **Panel de Administración**: Interfaz completa para gestionar reclamos y reservas
* **Código de Acceso**: Sistema de seguridad con código alfanumérico de 6 caracteres
* **Portal de Propietarios**: Interfaz amigable para los residentes
* **Numeración Secuencial**: Cada ticket y reserva tiene su número único
* **Estados de Reclamos**: Abierto, En Progreso, Pendiente, Cerrado
* **Notas Internas**: Sistema de seguimiento para cada reclamo

= Funcionalidades =

**Para Propietarios:**

* Crear reclamos de mantenimiento con descripción detallada
* Reservar el SUM seleccionando fecha y turno (mañana, tarde, noche)
* Código de acceso de seguridad para crear reclamos/reservas
* Validación de 24 horas de anticipación para reservas

**Para Administradores:**

* Ver listado completo de reclamos y reservas
* Agregar notas internas a los reclamos
* Cambiar estado de reclamos (Abierto → En Progreso → Pendiente → Cerrado)
* Gestionar reservas y cancelaciones
* Generar nuevo código de acceso cuando sea necesario
* Cambiar contraseña del panel de administración
* Recuperación de contraseña por email

**Seguridad:**

* Código de acceso alfanumérico de 6 caracteres
* Panel de administración protegido con contraseña y privilegios de administrador de WordPress
* Verificación de permisos adecuada usando current_user_can('manage_options')
* Los reclamos y reservas no pueden eliminarse para mantener el historial completo
* Las reservas pueden cancelarse por el admin (marcadas como canceladas, no eliminadas)
* Los reclamos pueden cerrarse por el admin (cambio de estado, no eliminación)
* Sistema de recuperación de contraseña por email
* Validación NONCE en todos los formularios

= Ideal Para =

* Consorcios de edificios
* Complejos de departamentos
* Comunidades residenciales
* Edificios corporativos
* Barrios cerrados
* Administraciones de propiedad horizontal

== Instalación ==

1. Descargar el plugin desde WordPress.org
2. Subir la carpeta `engranaje-gestion-consorcios` al directorio `/wp-content/plugins/`
3. Activar el plugin a través del menú 'Plugins' en WordPress
4. El plugin creará automáticamente 4 páginas:
   * Portal de Propietarios (configurada como página de inicio)
   * Crear Reclamo
   * Reservar SUM
   * Panel de Administración
5. Configurar tu email de recuperación en el panel de administración
6. Cambiar la contraseña por defecto (`admin123`)
7. Ingresar al Panel de Administración → pestaña "Código de Acceso" para obtener el código alfanumérico que los propietarios necesitan para crear reclamos y reservas
8. Compartir el código de acceso con los propietarios

== Preguntas Frecuentes ==

= ¿Cómo accedo al panel de administración? =

Ir a `tu-sitio.com/panel-admin` y usar la contraseña por defecto `admin123` (cambiarla después del primer login). Debes estar logueado como administrador de WordPress.

= ¿Dónde encuentro el código de acceso para propietarios? =

En el panel de administración, pestaña "Código de Acceso". Allí puedes ver el código actual y generar uno nuevo.

= ¿Puedo cambiar el código de acceso? =

Sí, desde el panel de administración puedes generar un nuevo código alfanumérico cuando quieras. El código anterior dejará de funcionar inmediatamente.

= ¿Qué pasa si olvido mi contraseña del panel? =

Puedes resetearla ingresando tu email de recuperación en el formulario de login. La contraseña se reseteará inmediatamente a la contraseña por defecto `admin123`. También recibirás un email de confirmación informándote sobre el reseteo de contraseña.

= ¿Los propietarios necesitan estar registrados en WordPress? =

No, solo necesitan el código de acceso generado por el administrador. No requieren una cuenta de WordPress. Sin embargo, el administrador debe estar logueado como administrador de WordPress para acceder al panel de gestión.

= ¿Puedo eliminar reclamos o reservas? =

No, los reclamos y reservas no pueden eliminarse para mantener el historial completo. Los reclamos pueden cerrarse y las reservas pueden cancelarse, pero permanecen en el sistema. Solo se eliminan completamente al desinstalar el plugin.

= ¿Se pueden cancelar reservas? =

Solo el administrador puede cancelar reservas desde el panel de administración. Los propietarios que deseen cancelar deben solicitarlo al administrador con un mínimo de 24 horas de anticipación según el reglamento del consorcio.

= ¿Qué sucede al desinstalar el plugin? =

Todas las páginas creadas, tickets, reservas, notas y configuraciones se eliminan automáticamente. La desinstalación es limpia y completa.

= ¿El plugin es responsive? =

Sí, está completamente optimizado para móvil, tablet y escritorio.

= ¿Cuántos registros puede manejar el plugin sin ponerse lento? =

El plugin fue diseñado para edificios y consorcios de tamaño normal. El rendimiento está asegurado para hasta aproximadamente 3.000 registros combinados (reclamos + reservas). Más allá de ese volumen, pueden producirse lentitudes debido al diseño actual del plugin. Si se espera que la instalación supere esa cantidad, mejorar el rendimiento requeriría cambios en el diseño base del plugin.

= ¿Puedo personalizar el diseño? =

Sí, el plugin usa archivos CSS separados (frontend.css y admin.css). Puedes sobrescribir los estilos agregando CSS personalizado en el style.css de tu tema o a través del Personalizador de WordPress (Apariencia → Personalizar → CSS Adicional).

= ¿En qué idioma está la interfaz del plugin? =

La interfaz del plugin está en español, diseñada específicamente para administradores de consorcios de habla hispana en Latinoamérica y España.

== Capturas de Pantalla ==

1. Portal de Propietarios - Pantalla principal con acceso a reclamos y reservas
2. Formulario de Creación de Reclamo con categorías
3. Formulario de Reserva de SUM con validación de 24 horas
4. Panel de Administración - Lista de Reclamos con estados
5. Panel de Administración - Detalle de Reclamo con notas internas
6. Panel de Administración - Gestión de Código de Acceso

== Registro de Cambios ==

= 1.0.7 - 2026-05-17 =
* Corregido: Sanitización de $_GET['_wpnonce'] con sanitize_text_field() y wp_unslash() antes de pasarlo a wp_verify_nonce() en engr_cg_procesar_crear_paginas() y engr_cg_procesar_posponer_aviso()
* Corregido: El botón "Cerrar sesión" del panel ya no desloguea la sesión de WordPress, solo cierra la sesión del panel
* Corregido: El flujo de login del panel ahora omite correctamente la redirección al login de WordPress cuando el usuario ya está logueado
* Cambiado: "Ticket" renombrado a "Reclamo" en todos los textos visibles para mayor claridad con usuarios hispanohablantes
* Agregado: Pregunta frecuente explicando los límites de rendimiento (aprox. 3.000 registros combinados)

= 1.0.6 - 2026-04-20 =
* Corregido: Las páginas ahora se crean solo con consentimiento del usuario mediante aviso de administración
* Corregido: Manejo de nonce en aviso de administración para seguridad
* Mejorado: Mejor experiencia de usuario con aviso de creación descartable
* Probado hasta WordPress 6.9

= 1.0.5 - 2026-04-13 =
* Corregido: Eliminados bloques <style> y <script> inline de engranaje-consorcio-gestion.php (líneas 738, 750, 789, 803) para cumplir con los requisitos de revisión de WordPress.org
* Corregido: CSS de admin movido de PHP inline a assets/css/admin.css y encolado vía wp_enqueue_style()
* Corregido: JavaScript de admin movido de PHP inline a assets/js/admin.js y encolado vía wp_enqueue_script()
* Corregido: Reemplazados hooks admin_head y admin_footer-post.php por admin_enqueue_scripts para carga correcta de assets
* Corregido: Error "Token inválido" en el primer envío de formulario cuando LiteSpeed Cache está activo
* Agregado: Compatibilidad con LiteSpeed Cache - las páginas con nonces ahora se excluyen del caché usando la API de LiteSpeed Cache (litespeed_control_set_nocache, litespeed_tag_add_private)

= 1.0.4 - 2026-03-04 =
* Corregido: Eliminados todos los CSS y JavaScript inline de archivos PHP para cumplir con estándares de WordPress.org
* Corregido: Agregadas verificaciones de permisos adecuadas usando current_user_can('manage_options') a todos los shortcodes del panel admin
* Corregido: Resuelto error "Token inválido" en el primer intento de envío de formulario
* Corregido: Prevenida la edición de reclamos y reservas desde la interfaz de administración de WordPress
* Corregido: Eliminada opción "Editar" del menú de acciones en lote para reclamos y reservas
* Seguridad: Flujo de autenticación mejorado - contraseña del panel + login de WordPress + verificación de administrador
* Seguridad: Todo el CSS ahora se encola correctamente vía wp_enqueue_style()
* Seguridad: Todo el JavaScript ahora se encola correctamente vía wp_enqueue_script()
* Mejorado: Diseño responsive móvil con tablas optimizadas
* Mejorado: Ocultada barra de administración de WordPress en páginas frontend del plugin
* Mejorado: Estilos de encabezados consistentes entre escritorio (35px) y móvil (28px)
* Mejorado: Optimización de tablas móviles - columnas no esenciales ocultas para mejor visualización
* Agregado: Visualización del título Portal de Propietarios
* Agregado: Archivo admin.js para funcionalidad del panel admin
* Código: Movidos todos los estilos inline a admin.css
* Código: Movidos todos los scripts inline a admin.js

= 1.0.2 - 2026-01-30 =
* Corregido: Visualización correcta de datos en columnas de lista admin de Tickets (nombre, tipo de falla, estado)
* Corregido: Resuelto warning "Undefined property: stdClass::$publish" en shortcodes-panel.php
* Corregido: Mensajes de éxito ahora se muestran solo una vez usando WordPress Transients (sin persistencia de parámetros URL)
* Corregido: Eliminada columna "Edificio" de lista de Tickets (campo no usado en formularios)
* Corregido: Consistencia de slug del plugin y nombres de archivo para actualizaciones de WordPress.org (archivo principal renombrado para coincidir con slug)
* Corregido: Botón "Agregar nuevo" ahora oculto correctamente en menús admin de Tickets y Reservas (incluyendo hover de sidebar)
* Agregado: Configuración completa de columnas para lista admin de Reservas (nombre, piso/depto, fecha, turno, estado)
* Agregado: Metabox con información detallada para vista individual de Reserva
* Agregado: Emojis visuales para turnos de reserva (🌅 mañana, ☀️ tarde, 🌙 noche)
* Agregado: Badges de estado con código de colores para reservas (✅ Activa / ❌ Cancelada)
* Agregado: Columnas ordenables para Reservas (por nombre, piso/depto, fecha)
* Mejorado: Protección de solo lectura para Tickets y Reservas en editor de WordPress (sidebar bloqueado)
* Mejorado: Mejor alineación entre nombres de campos meta usados en formularios y columnas admin
* Mejorado: Experiencia de usuario en panel admin con indicadores visuales más claros

= 1.0.1 - 2026-01-12 =
* Corregido: Cambiados nombres genéricos de Custom Post Types a nombres únicos con prefijo (engr_cg_ticket, engr_cg_reserva_sum) para cumplir con pautas de WordPress.org
* Corregido: Eliminada referencia a archivo CSS no existente (panel-responsive.css) en shortcodes-panel.php
* Corregido: Reemplazado PHP session_start() con WordPress Transients API para mejor rendimiento y compatibilidad
* Corregido: Eliminados estilos CSS inline para cumplir con estándares wp_enqueue
* Corregido: Agregada validación para wp_count_posts() para prevenir warnings "Undefined property"
* Corregido: Unificados mensajes de límite alcanzado en reclamos y reservas
* Corregido: Mensajes de éxito ahora usan WordPress Transients en lugar de parámetros URL
* Agregado: Script de migración automática para datos existentes al actualizar desde versión 1.0.0
* Mejorado: Cumplimiento del código con pautas de revisión de plugins de WordPress.org
* Mejorado: Flujo de login - configuración de email ahora aparece después de autenticación
* Actualizado: Todas las referencias a Custom Post Types en todos los archivos del plugin

= 1.0.0 - 2025-12-24 =
* Lanzamiento inicial
* Sistema de gestión de reclamos para consorcios
* Sistema de reservas de SUM (áreas comunes)
* Panel admin para gestionar reclamos y reservas
* Protección con código de acceso para formularios

== Aviso de Actualización ==

= 1.0.7 =
Actualización de seguridad y usabilidad: Corrige la sanitización de nonces según los requisitos de revisión de WordPress.org. Corrige el cierre de sesión del panel para que no finalice la sesión de WordPress. Renombra "Ticket" a "Reclamo" en todos los textos visibles. Recomendado para todos los usuarios.

= 1.0.6 =
Actualización de usabilidad: Las páginas ahora se crean solo con consentimiento del usuario mediante aviso de administración. Mejora la seguridad con manejo correcto de nonces. Recomendado para todos los usuarios.

= 1.0.5 =
Actualización importante de cumplimiento: Corrige los requisitos de revisión de código de WordPress.org eliminando los bloques de estilos y scripts inline restantes. Agrega compatibilidad con LiteSpeed Cache para evitar errores de token inválido en el primer envío de formulario. Recomendado para todos los usuarios.

= 1.0.4 =
Actualización importante de seguridad y cumplimiento: Corrige requisitos de revisión de código de WordPress.org incluyendo verificaciones de permisos adecuadas y métodos de encolado. Mejora experiencia móvil y previene edición no autorizada. Recomendado para todos los usuarios.

= 1.0.2 =
Actualización importante: Corrige problemas de visualización de columnas admin, mejora UX con mensajes basados en transients, agrega interfaz completa de Reservas con indicadores visuales. Recomendado para todos los usuarios.

= 1.0.1 =
Actualización importante: Corrige problemas de cumplimiento de WordPress.org incluyendo prefijos de Custom Post Types, sesiones PHP y estilos inline. Migración automática incluida para datos existentes.

= 1.0.0 =
Primera versión del plugin. ¡Gracias por usar Engranaje Gestión de Consorcios!

== Información Adicional ==

**Licencia y Garantías:**

Este plugin se distribuye bajo licencia GPL v2 "tal cual". El desarrollador:
* NO garantiza actualizaciones periódicas
* NO está obligado a corregir bugs
* NO garantiza compatibilidad con futuras versiones de WordPress
* NO proporciona soporte técnico garantizado
* NO es responsable por pérdida de datos o mal funcionamiento

El soporte en el foro es voluntario y se proporciona según disponibilidad del desarrollador.

**Soporte:** Para reportar bugs o solicitar características, usa el foro de soporte de WordPress.org en https://wordpress.org/support/plugin/engranaje-gestion-consorcios/