ARENA GYM V11.2 — INSTALACIÓN DESDE CERO
========================================

1. REQUISITOS
- PHP 8.1 o superior.
- MySQL 8.0 o MariaDB compatible con JSON y utf8mb4.
- Extensiones PDO MySQL, cURL, OpenSSL y mbstring.
- HTTPS obligatorio en producción.
- cPanel o servidor con tareas CRON.

2. ARCHIVOS
- Sube todo el contenido conservando la estructura.
- Crea permisos de escritura para storage/logs, storage/backups, storage/updates y demás carpetas de storage que lo requieran.
- Mantén app, database, storage y cron protegidos por sus archivos .htaccess.

3. BASE DE DATOS
- Crea una base vacía y un usuario con permisos sobre ella.
- Importa database/ARENA_GYM_V11_2_BASE_DE_DATOS_COMPLETA.sql.
- No importes además la migración: la base completa ya la contiene.

4. CONFIGURACIÓN
- El paquete entrega config.php sin credenciales. Edítalo o copia config.example.php como config.php.
- Define base_url, conexión MySQL, timezone America/Bogota y tokens aleatorios.
- Define ARENA_DEPLOYMENT_KEY con una clave larga y estable.
- Configura correo.
- Configura PayPal primero en sandbox y luego en live.

5. SUPERADMINISTRADOR
- Abre install.php?token=TOKEN_DE_INSTALACION.
- Crea el superadministrador.
- Elimina install.php o bloquéalo inmediatamente.
- Rota el token de instalación.

6. PAYPAL RECURRENTE
- Entra a Configuración de pagos.
- Guarda Client ID, Secret y Webhook ID.
- Ejecuta “Sincronizar planes” para crear los 12 planes recurrentes.
- Configura el webhook hacia index.php?page=paypal-webhook.
- Verifica activación, pago completado y pago fallido en sandbox.

7. CRON
Cada hora:
php /RUTA/cron/process_growth_automation.php TOKEN_CRON

Una vez al día:
php /RUTA/cron/run_v112_daily.php TOKEN_CRON

Opcionales independientes:
php /RUTA/cron/process_billing_retries.php TOKEN_CRON
php /RUTA/cron/publish_blog_daily.php TOKEN_CRON
php /RUTA/cron/recalculate_hotleads.php TOKEN_CRON
php /RUTA/cron/process_email_queue.php TOKEN_CRON

8. PRUEBAS MÍNIMAS
- Crear coach y confirmar módulos esenciales activos.
- Crear/administrar gimnasio y confirmar módulos esenciales activos.
- Activar/desactivar un módulo permitido.
- Intentar activar un módulo de nivel superior y comprobar bloqueo.
- Cambiar entre precio mensual y anual.
- Descargar un magneto y comprobar lead, score, inscripción y cola de correo.
- Ejecutar CRON de Growth y correo.
- Abrir/clicar correo y revisar cambio de score.
- Publicar tres artículos con CRON diario y revisar el buffer editorial automático.
- Simular fallo PayPal y revisar gracia, reintentos y restricción después del día 5.
