# MusicSofly

Sistema PHP en raíz, sin carpeta `public`, inspirado en un reproductor moderno de música. Incluye `index.php`, `login.php`, `register.php`, `dashboard.php`, `perfil.php/profile.php`, subida múltiple con AJAX, reproductor real HTML5, planes, perfiles configurables, control de dispositivos por IP, ventas de packs y base de datos en `database.json`.

## Instalación rápida

1. Sube todos los archivos del ZIP a la raíz del hosting o a una carpeta del servidor.
2. Usa PHP 8.1 o superior con extensiones `json`, `fileinfo`, `curl` y sesiones activas.
3. Da permisos de escritura a `database.json` y a la carpeta `uploads/`.
4. Entra a `login.php` con la cuenta administradora configurada. La contraseña no aparece en el formulario ni se guarda en texto plano; se almacena como hash seguro.
5. Abre `dashboard.php` y configura:
   - Colores globales y estilo de botones.
   - Client ID y Secret Key de PayPal.
   - Modo `sandbox` o `live`.
   - Planes, precios, dispositivos y usuarios.
   - Reparto de ventas: usuario vendedor y gastos/pagos admin.

## Archivos principales

- `index.php`: inicio, tendencias, artistas, packs, reproductor y cola.
- `login.php`: acceso sin mostrar credenciales.
- `register.php`: registro con planes antes de finalizar y 30 días de prueba.
- `plans.php`: planes y paquetes de espacio extra.
- `checkout.php`: pantalla de pago PayPal.
- `paypal_create_order.php` y `paypal_capture_order.php`: cobros con Client ID y Secret Key.
- `upload.php`: formulario de subida múltiple.
- `ajax_upload.php`: recibe canciones y portada por AJAX; crea una carpeta por álbum o pack.
- `profile.php` y `perfil.php`: perfil, colores, vista, reproductor, dispositivos y espacio.
- `dashboard.php`: administración completa.
- `download.php`: descargas protegidas para Premium o compradores.
- `database.json`: base de datos JSON.

## Planes incluidos

- Plan 1: 1 dispositivo, 4,99 €/mes.
- Plan 2: 2 dispositivos, 5,99 €/mes.
- Plan 3: hasta 6 dispositivos, 9,99 €/mes.
- Plan Plus: hasta 20 usuarios, 12,99 €/mes.

## Espacio extra

- 10 GB por 5,00 €.
- 20 GB por 7,99 €.
- 40 GB por 12,99 €.
- 70 GB por 20,99 €.

## Notas de seguridad

- `database.json` se protege con `.htaccess` en Apache. En Nginx debes agregar una regla equivalente para impedir descargas directas del JSON.
- `uploads/.htaccess` bloquea ejecución de scripts dentro de subidas.
- Valida siempre tus claves de PayPal en `sandbox` antes de activar `live`.
- Este paquete usa almacenamiento JSON para instalación simple. Para tráfico alto conviene migrar a MySQL/MariaDB.
