2c30844bf7
- app 'forum': portada (categorías/foros), ver foro y tema (paginado), crear tema, responder, editar/borrar posts y moderación (fijar, bloquear, mover, borrar/restaurar) - lee/escribe la BD acore_web (5ª conexión, DB_NAME_WEB) por SQL directo, tablas forum_categories/forums/forum_topics/forum_posts/forum_reads (portado de NovaWeb-main) - identidad = cuenta de juego en sesión; permisos simplificados por gmlevel (FORUM_MOD_GMLEVEL) en vez de la matriz group_level×permission del original - saneado del HTML de posts con nh3 (evita el XSS del original); POST+CSRF en formularios - plantillas con los partials del sitio; enlace 'FOROS' del menú apunta al foro interno - sql/forum_schema.sql y docs/FORO.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
1.2 KiB
HTML
31 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
|
|
{% include 'partials/head.html' %}
|
|
{% include 'partials/header.html' %}
|
|
{% include 'partials/video.html' %}
|
|
|
|
<div class="main-page">
|
|
<div class="middle-content">
|
|
<div class="body-content">
|
|
<div class="title-content"><h1>Perfil de {{ profile.username }}</h1></div>
|
|
<div class="box-content">
|
|
<div class="body-box-content">
|
|
{% include 'forum/_style.html' %}
|
|
<div class="forum-wrap">
|
|
<p>Temas creados: <strong>{{ profile.topic_count }}</strong></p>
|
|
<p>Mensajes publicados: <strong>{{ profile.post_count }}</strong></p>
|
|
{% if profile.joindate %}<p>Registro: <strong>{{ profile.joindate|date:"d/m/Y" }}</strong></p>{% endif %}
|
|
<div class="forum-actions">
|
|
<a class="forum-btn" href="{% url 'app_forum' %}">← Volver al foro</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% include 'partials/social.html' %}
|
|
{% include 'partials/footer.html' %}
|
|
{% include 'partials/final.html' %}
|