Phpost
COMPLEMENTOS Sistema de Insignias v1.0 - Versión para impresión

+- Phpost (https://phpost.es)
+-- Foro: Risus Nova 2.0 (https://phpost.es/forum-150.html)
+--- Foro: Complementos (https://phpost.es/forum-164.html)
+---- Foro: Terminados (https://phpost.es/forum-165.html)
+---- Tema: COMPLEMENTOS Sistema de Insignias v1.0 (/thread-996.html)



Sistema de Insignias v1.0 - Tronlar - 05-28-2026

Sistema de Insignias v1.0
Nuevo módulo para Risus Nova 2.0 — PHPost


Capturas
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 


Crea 20 insignias predefinidas que se asignan automáticamente cuando el usuario cumple las condiciones.
Usa el sistema de medallas existente del script — las insignias aparecen en el perfil y el usuario recibe una notificación al obtenerlas.



🏅 Insignias incluidas (20)

Posts
Comentarios
Seguidores
Puntos
Antigüedad  


⚡ Características
   


📋 Requisitos
   


🛠️ Instalación

Paso 1 — Ejecutar el instalador

Sube la carpeta install/ a la raíz y accede a:

 
Código:
Registrate o inicia tu sesión para ver este contenido

⚠️ Elimina la carpeta install/ cuando termine.


Paso 2 — Subir el archivo
 
Código:
inc/class/c.insignias.php  →  inc/class/

Paso 3 — Hooks


a) Nuevo post — en c.posts.php al final de newPost() antes del return $postID:
Código PHP:
return $postID;
} else return 
show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db');
} else return -
1;
} else return 
'No tienes permiso para crear posts.';



Agregar:
 
Código:
require_once TS_CLASS . 'c.insignias.php';
(new tsInsignias())->comprobar($tsUser->uid);


b) Nuevo comentario — en ajax.comentario.php buscar:
Código PHP:
if(is_array($tsComment)) $smarty->assign("tsComment",$tsComment); 


Arriba agregar
 
Código:
require_once TS_CLASS . 'c.insignias.php';
(new tsInsignias())->comprobar($tsUser->uid);


c) Login — en ajax.login.php buscar:
Código PHP:
else echo $tsUser->loginUser($user$pass$reme); 


Reemplazar por:
 
Código:
else {
    $resultado = $tsUser->loginUser($user, $pass, $reme);
    if ($resultado === TRUE || is_numeric($resultado)) {
        // ── Insignias ──
        require_once TS_CLASS . 'c.insignias.php';
        (new tsInsignias())->comprobar($tsUser->uid);
        // ────────────────
    }
    echo $resultado;
}


Paso 4 — Mostrar medallas a 32px en el perfil

En m.perfil_sidebar.tpl buscar:

 
Código:
<img src="{$tsConfig.tema.t_url}/images/icons/med/{$m.m_image}_16.png"

Reeplazar por:
 
Código:
<img src="{$tsConfig.tema.t_url}/images/icons/med/{$m.m_image}_32.png" width="32" height="32"


Paso 5 — Borrar la caché

Borra el contenido de la carpeta /cache/ del sitio.



➕ Añadir más insignias

Desde el panel de admin → Medallas → Nueva medalla. Las condiciones disponibles son:
   


🗑️ Desinstalar

Elimina inc/class/c.insignias.php y quita los hooks. Las insignias creadas se pueden borrar desde el panel admin → Medallas.

 
Descarga

Mediafire
http://Registrate o inicia tu sesión para ver este contenido

Google drive
http://Registrate o inicia tu sesión para ver este contenido




¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.