v1.12.0
Added
- Dashboard con métricas reales — la home reemplaza las feature cards estáticas con datos en vivo:
- 4 stat-cards: usuarios totales, logins exitosos hoy, intentos fallidos hoy, cuentas bloqueadas ahora
- Tabla Bootstrap de los últimos 5 eventos del audit log con LEFT JOIN a
users; usuario sin registro muestra "Anónimo"; enlace "Ver todo" a/activity-logsvisible solo para admins - Sin DataTables — tabla simple Bootstrap para mantener la home ligera
- Todos los outputs de BD escapados con
htmlspecialchars(); contadores emitidos como(int) - Fechas calculadas en MySQL (
CURDATE(),NOW()) — sin drift PHP/MySQL
Changed
User::getTotalCount(): int— nuevo método de agregaciónActivityLog::getCountTodayByEvent(string $event): int— conteo diario por tipo de eventoActivityLog::getRecentEvents(int $limit = 5): array— últimos N eventos con JOIN a usuariosLoginAttempt::getLockedCount(): int— cuentas conlocked_until > NOW()HomeController::index()— instancia los tres modelos y pasa las métricas a la vista
Full Changelog
https://github.com/Jandres25/Encriptacion_PHP/blob/master/CHANGELOG.md