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);
}