Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jpbarbatic/webapp/llms.txt

Use this file to discover all available pages before exploring further.

El dashboard es la primera pantalla que el usuario ve tras iniciar sesión en el panel de administración. Centraliza dos fuentes de información en tiempo real: los titulares de última hora del diario El País —obtenidos mediante su feed MRSS— y una previsión meteorológica local a través de la API de el-tiempo.net. De esta forma, el administrador dispone de un resumen actualizado del entorno informativo y climático sin salir del panel.

Dos variantes de vista

El proyecto incluye dos archivos llamados dashboard.html.php, ubicados en rutas distintas y con propósitos diferentes:
ArchivoRutaDescripción
Vista simplehtml/dashboard.html.phpVariante mínima. Muestra únicamente el listado de noticias, sin widget del tiempo ni scripts adicionales.
Vista completahtml/dashboard/dashboard.html.phpVariante completa. Incluye el contenedor del widget del tiempo (#weather-widget), el bloque de noticias RSS y carga los archivos CSS y JavaScript del widget. Es la variante activa.
La variante activa es html/dashboard/dashboard.html.php. El controlador la selecciona asignando la variable $vista = 'dashboard/dashboard', que la plantilla base utiliza para construir la ruta de inclusión dinámica.

Controlador

El punto de entrada del dashboard es public/dashboard/index.php. Este archivo realiza tres tareas fundamentales:
1

Incluir el backend y proteger la ruta

Requiere includes/backend.php, que verifica la sesión del usuario. Si no hay sesión activa, redirige al login antes de ejecutar cualquier otra instrucción.
2

Obtener las noticias RSS

Descarga y parsea el feed MRSS de El País mediante simplexml_load_file. El resultado queda disponible en la variable $noticias, que se pasa automáticamente a la vista al incluir la plantilla.
3

Cargar la vista completa

Establece $titulo = 'Dashboard' y $vista = 'dashboard/dashboard', y delega el renderizado final a html/plantilla.html.php.
<?php
$db = require_once('../../includes/backend.php');
$noticias = @simplexml_load_file('https://feeds.elpais.com/mrss-s/pages/ep/site/elpais.com/section/ultimas-noticias/portada');
$titulo='Dashboard';
$vista='dashboard/dashboard';
require('../../html/plantilla.html.php');
El operador @ antes de simplexml_load_file suprime los posibles errores de nivel E_WARNING en caso de que el feed no sea accesible en el momento de la petición. La variable $noticias contendrá false si la carga falla, por lo que la vista debe contemplar ese caso.

Componentes del dashboard

El dashboard activo (html/dashboard/dashboard.html.php) está compuesto por dos bloques principales:

Noticias RSS

Listado de titulares obtenidos del feed MRSS de El País. Cada entrada muestra el título del artículo y el contenido del elemento <content> del namespace XML. El bucle itera sobre $noticias->channel->item.

Widget del Tiempo

Previsión meteorológica renderizada en el elemento #weather-widget por la clase JavaScript WeatherWidget (archivo assets/weather-widget.js). Muestra temperatura actual, métricas de humedad y viento, pronóstico por horas del día en curso y previsión para los próximos días.

Guarda de autenticación

La primera línea del controlador incluye backend.php mediante require_once:
$db = require_once('../../includes/backend.php');
Este archivo actúa como guarda de autenticación: comprueba que existe una sesión de usuario válida y, en caso contrario, redirige al usuario a la página de login. Además, devuelve el objeto de conexión a la base de datos ($db), disponible en el controlador por si fuera necesario realizar consultas adicionales en el futuro.
Si backend.php redirige al usuario, la ejecución del controlador se detiene en ese punto y no se llega a realizar la petición al feed RSS ni a cargar la vista.

Build docs developers (and LLMs) love