Phpost
COMPLEMENTOS Avisos Masivos 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 Avisos Masivos v1.0 (/thread-1009.html)



Avisos Masivos v1.0 - Tronlar - 05-29-2026

Avisos Masivos v1.0
Nuevo módulo para Risus Nova 2.0 — PHPost


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


Permite al admin enviar un aviso a todos los usuarios o a rangos específicos desde el panel. El aviso aparece en las notificaciones de cada usuario.


📢 Características
   


🛠️ Instalación

Paso 1 — Subir el archivo
 
Código:
themes/default/templates/admin_mods/m.admin_avisos_masivos.tpl
  →  themes/default/templates/admin_mods/


Paso 2 — En admin.php

Buscar:
Código:
} elseif($action == 'feed'){


Agregar arriba:
Código:
} elseif($action == 'avisosmasivos'){

    $rangos = result_array(db_exec([__FILE__, __LINE__], 'query',
        "SELECT rango_id, r_name, r_color FROM u_rangos
         WHERE r_type = '1' ORDER BY r_cant ASC"
    )) ?: [];
    $smarty->assign('tsRangosDisponibles', $rangos);

    if (!empty($_GET['save']) && !empty($_POST['av_subject']) && !empty($_POST['av_body'])) {
        $asunto     = $tsCore->setSecure($_POST['av_subject']);
        $cuerpo     = $tsCore->setSecure($_POST['av_body']);
        $rangos_sel = $_POST['rangos'] ?? [];
        $todos      = empty($rangos_sel);

        if ($todos) {
            $where = "user_activo = '1' AND user_baneado = '0'";
        } else {
            $ids   = implode(',', array_map('intval', $rangos_sel));
            $where = "user_activo = '1' AND user_baneado = '0' AND user_rango IN ($ids)";
        }

        $usuarios = result_array(db_exec([__FILE__, __LINE__], 'query',
            "SELECT user_id FROM u_miembros WHERE $where"
        )) ?: [];

        $total = 0;
        $fecha = time();
        foreach ($usuarios as $u) {
            db_exec([__FILE__, __LINE__], 'query',
                "INSERT INTO u_avisos (user_id, av_subject, av_body, av_date, av_type)
                 VALUES ('{$u['user_id']}', '$asunto', '$cuerpo', '$fecha', '4')"
            );
            $total++;
        }
        $smarty->assign('tsAvisoEnviado', $total);
    }


Paso 3 — Añadir en t.admin.tpl

Antes del {/if} final agregar:
 
Código:
{elseif $tsAction == 'avisosmasivos'}
    {include file='admin_mods/m.admin_avisos_masivos.tpl'}


Paso 4 — En m.admin_sidemenu.tpl ponen esto donde quieran:
Código:
<i class="fa-solid fa-bullhorn"></i> Avisos Masivos</a></li><li><a href="{$tsConfig.url}/admin/mensajesadmin"><i class="fa-solid fa-envelope"></i> Mensajes Privados</a></li>


Paso 5 — Borrar la caché

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


🗑️ Desinstalar

Elimina la plantilla y quita los cambios en admin.php y t.admin.tpl.

 
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.