Home Projects Portfolio Dashboard Export PDF Log in
PHP

Implementación del sistema de reporte de publicaciones en devlog-ist/landing

Hemos integrado recientemente una funcionalidad de reporte de publicaciones en devlog-ist/landing, permitiendo a los usuarios reportar contenido de manera segura y eficiente. Este sistema incluye la validación de reportes, control de límites de frecuencia (rate-limiting) por dirección IP y correo electrónico, y una notificación automática mediante correo electrónico al propietario de la publicación.

Aspectos Clave de la Implementación

  • Modelo de Datos: Introducimos PostReport para gestionar el seguimiento de cada reporte, manteniendo una relación directa con la publicación afectada.
  • Internacionalización (i18n): Aplicamos el uso de funciones de traducción global para todos los elementos de la interfaz, asegurando que las etiquetas de estado (como 'Reported'), mensajes de error y textos de correo sean consistentes en múltiples idiomas.
  • Seguridad y Resiliencia: Añadimos guardas de seguridad contra valores nulos en los correos electrónicos, garantizando que el sistema no falle si una publicación es eliminada antes de que se renderice el correo.
  • Mejoras de Experiencia: Se implementó una lógica de brave_mode y visibilidad configurable en la configuración de cuenta para que los usuarios puedan gestionar la privacidad de sus publicaciones reportadas.

Patrón de Localización

Siguiendo nuestras directrices de internacionalización, hemos migrado etiquetas hardcodeadas a claves de traducción. Ejemplo:

// Antes
return match ($this) {
    self::Reported => 'Reported',
};

// Ahora
return match ($this) {
    self::Reported => __('post_status.reported'),
};

Este esfuerzo no solo mejora la mantenibilidad del código, sino que también garantiza una experiencia de usuario global coherente y profesional.

Implementación del sistema de reporte de publicaciones en devlog-ist/landing
Gerardo Ruiz

Gerardo Ruiz

Author

Share: