¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

COMPLEMENTOS Sistema de Insignias v1.0
#1

0
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
  • Primer Post · Escritor (10) · Gran Escritor (50) · Maestro del Post (100)

Comentarios
  • Primer Comentario · Conversador (50) · Gran Conversador (100) · Rey del Debate (500)

Seguidores
  • Popular (10) · Muy Popular (50) · Estrella (100) · Leyenda (500)

Puntos
  • Novato (50) · Activo (200) · Veterano (500) · Elite (1000)

Antigüedad
  • Un Mes · Tres Meses · Seis Meses · Un Año
 


⚡ Características
 
  • Se asignan automáticamente — sin intervención del admin
  • El usuario recibe una notificación al obtener una insignia
  • Se muestran en el perfil en la sección Medallas
  • Puedes añadir más insignias desde el panel admin → Medallas
  • No crea tablas nuevas — usa las tablas de medallas existentes
 


📋 Requisitos
 
  • Risus Nova 2.0 instalado y funcionando
  • PHP 8.0+
 


🛠️ Instalación

Paso 1 — Ejecutar el instalador

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

 
Registrate o inicia tu sesión para ver este contenido

⚠️ Elimina la carpeta install/ cuando termine.


Paso 2 — Subir el archivo
 
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:
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:
 
require_once TS_CLASS . 'c.insignias.php';
(new tsInsignias())->comprobar($tsUser->uid);


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


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


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


Reemplazar por:
 
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:

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

Reeplazar por:
 
<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:
 
  • m_cond_user = 1 → Posts publicados
  • m_cond_user = 2 → Comentarios escritos
  • m_cond_user = 3 → Seguidores
  • m_cond_user = 4 → Puntos acumulados
  • m_cond_user = 5 → Días en el sitio
 


🗑️ Desinstalar

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

 
Descarga

Mediafire
Debes agradecer para ver el contenido...

Google drive
Debes agradecer para ver el contenido...




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



Responder


Compartir en:

Mensajes en este tema
Sistema de Insignias v1.0 - por Tronlar - 05-28-2026, 07:25 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)