Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Rascii

Editor
  • Contenido

    757
  • Mensajes en Chat

    563
  • Registrado

  • Última Visita

Reputación en la Comunidad

272 Honorado

Sobre Rascii

  • Rango
    Heisenberg
  • Cumpleaños Diciembre 31

Métodos de contacto

  • Sitio web
    https://rascii.xyz/

Información de perfil

  • Sexo
    Masculino
  • Localización
    Localhost

Visitantes recientes en el perfil

5544 visitas al perfil
  1. Hola a todos. Este mod les permitirá crear mensajes masivos por correo electrónico o por MPs para todos los usuarios o usuarios específicos. En realidad este mod lo había realizado hace tiempo en mi web con mi script modificado, pero decidí adaptarlo a Risus para compartirlo con ustedes! Captura Instalación 1.- Van al archivo /inc/php/admin.php y buscan: } elseif($action == 'creditos'){ 2.- Arriba de eso, pegan: } elseif($action == 'mpmasivo'){ $smarty->assign("tsRangos",$tsAdmin->getRangos()); if(!empty($_POST['msg'])) { $mpMas = $tsAdmin->sendMasivos(); if($mpMas == 1) $tsCore->redirectTo($tsCore->settings['url'].'/admin/mpmasivo?save=true'); else $smarty->assign("tsError",$mpMas); } 3.-Van al archivo /inc/class/c.admin.php y buscan (al final del archivo): /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ } 4.- Arriba de eso, pegan: /* * Funcion sendMasivos() * Permite el envio masivo de mensajes. * Por Rascii (github.com/rascii). */ function sendMasivos() { global $tsCore, $tsUser; /* Declaracion de variables */ $subject = (!empty(trim($_POST['subject']))) ? $tsCore->setSecure($_POST['subject'], true) : '(sin asunto)'; $msg = $tsCore->setSecure($_POST['msg'], true); $msgpreview = substr($msg,0,75); $ranks = htmlspecialchars(trim($_POST['ranks'])); $method = ((int)$_POST['method'] == '2') ? 'email' : 'mps'; $time = time(); $ip = $_SERVER['REMOTE_ADDR']; $adminid = $tsUser->uid; /* Seguro que enviaste un mensaje? */ if(empty(trim($msg))) return 'No has ingresado ningún mensaje.'; /* Rangos */ if (!empty($ranks)) { /* Especificaron Rangos */ $ranks = explode(",", $ranks); if(count($ranks) > 0) { foreach($ranks as $key => $val) { if(!empty($val)) $qRango .= ' user_rango = \''.$val.'\' OR'; } $qRango = preg_replace('/\W\w+\s*(\W*)$/', '$1', $qRango); //eliminar el ultimo OR } } /* Obtener lista de usuarios */ $qUsuarios = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_id, user_name, user_email, user_rango FROM u_miembros '.((isset($qRango)) ? ' WHERE '.$qRango : '')); /* Hay usuarios? */ if(db_exec('num_rows', $qUsuarios) == 0) return 'No se ha encontrado ningún usuario para enviar los mensajes.'; /* Generar lista */ $usuarios = result_array($qUsuarios); /* Realizar el envio masivo */ if($method == 'email') { include (TS_ROOT . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'c.emails.php'); $tsEmail = new tsEmail(); foreach($usuarios as $key => $u) { $tsEmail->emailTo = $u['user_email']; $tsEmail->emailSubject = $subject; $tsEmail->emailBody = $msg; $tsEmail->emailHeaders = $tsEmail->setEmailHeaders(); if(!$tsEmail->sendEmail($from, $u['user_email'], $subject, $msg)) return 'No se pudo realizar el envio del mensaje en e-mail de '.$u['user_id']; } } else if($method == 'mps') { foreach($usuarios as $key => $u) { if(db_exec(array(__FILE__, __LINE__), 'query','INSERT INTO `u_mensajes` (`mp_to`, `mp_from`, `mp_subject`, `mp_preview`, `mp_date`) VALUES (\''.$u['user_id'].'\', \''.$adminid.'\', \''.$subject.'\', \''.$msgpreview.'\', \''.$time.'\')')) { $mp_id = db_exec('insert_id'); if(empty($mp_id)) return 'No se pudo obtener el ID para el envio del mensaje en web de '.$u['user_id']; if(!db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `u_respuestas` (`mp_id`, `mr_from`, `mr_body`, `mr_ip`, `mr_date`) VALUES (\''.(int)$mp_id.'\', \''.$adminid.'\', \''.$msg.'\', \''.$ip.'\', \''.$time.'\')')) return 'No se pudo realizar el ingreso de la respuesta para el envio del mensaje en web de '.$u['user_id']; } else { return 'No se pudo realizar el envio del mensaje en web de '.$u['user_id']; } } } else { return 'Método Incorrecto'; //Nunca va a pasar, creo...? } return true; //:D } 5.- Luego nos vamos al archivo /themes/tu_tema/templates/t.admin.tpl y buscamos: {elseif $tsAction == 'creditos'} {include file='admin_mods/m.admin_creditos.tpl'} 6.- Arriba de eso, pegamos: {elseif $tsAction == 'mpmasivo'} {include file='admin_mods/m.admin_mpmasivo.tpl'} 7.-Vamos al archivo /themes/tu_tema/templates/admin_mods/m.admin_sidemenu.tpl y buscamos: <li id="a_rangos"><span class="cat-title"><a href="{$tsConfig.url}/admin/rangos">Rangos de Usuarios</a></span></li> 8.- Abajo de eso, pegamos: <li id="a_mpmasivo" style="background-image: url({$tsConfig.tema.t_url}/images/msg.gif);"><span class="cat-title"><a href="{$tsConfig.url}/admin/mpmasivo">Mensaje Masivo</a></span></li> 9.- Ahora descargamos, descomprimimos y luego subimos el archivo a la carpeta /themes/tu_tema/templates/admin_mods/: [DESCARGAR ARCHIVO] ¡Eso sería todo! Espero les gusté y les sirva =). La idea original está basada en:
  2. Problema con CAPTCHA en registro

    Haz lo siguiente y luego lo compartes por aquí: Ve al archivo /themes/tu tema/js/registro.js y busca: url: global_data.url + '/registro-nuevo.php', data: params, success: function(h){ Abajo de eso, agregas: console.log(h); No se te olvide borrar caché y luego ver la consola a ver que te dice! No se puede de ninguna de las dos maneras, yo uso Chromium (Chrome) y debido a una actualización, este navegador redirige automáticamente a la dirección del sitio con el protocolo https, y no soy el único, no sé si ocurrirá esto mismo en Firefox, Opera, etc.
  3. Problema con CAPTCHA en registro

    Inspeccionar elemento (click derecho en la página) y luego a consola (en la parte superior). Y luego nos compartes lo que salga ahí (puedes tomarle una captura de pantalla o copiarlo tal cual). También puede ser el caché, te recomiendo eliminarlo de tu computadora para ver si los archivos (.JS) no contienen el código anterior del sitio. ¿Cómo eliminarlo? Chromium o Chrome: SHIFT + F5 Firefox: Aquí
  4. Bueno. Si realizaron la actualización de los JS y por alguna razón no les guarda los campos para enviar al borrador del usuario en el caso de borrar un post en "/moderacion/", aquí está la solución: Van al archivo moderacion.js y buscan: if($('#send_b').attr('checked')){ var send_b = 'yes'; } Y lo remplazan por: if($('#send_b').prop('checked')){ var send_b = 'yes'; } Razón de este error o bug: Espero les sirva
  5. Bueno. Si realizaron la actualización de los JS y por alguna razón, no les guarda la información cuando agregan un filtro u opción en el monitor y/o van a modificar un mensaje. 1.-Buscamos en acciones.js: filter: function (x, obj) { $.ajax({url: global_data.url + '/notificaciones-filtro.php', type: 'post', data: 'fid=' + x}); var v = $(obj).attr('checked') ? 1 : 0; }, 2.-Lo cambiamos por: filter: function (x, obj) { $.ajax({url: global_data.url + '/notificaciones-filtro.php', type: 'post', data: 'fid=' + x}); var v = $(obj).prop('checked') ? 1 : 0; }, 3.-Luego buscamos en el mismo archivo: modificar: function(act){ var inputs = $('#mensajes .GBThreadRow :input'); var ids = new Array(); var i = 0; // inputs.each(function(){ var este = $(this).attr('checked'); 4.-Lo cambiamos por: modificar: function(act){ var inputs = $('#mensajes .GBThreadRow :input'); var ids = new Array(); var i = 0; // inputs.each(function(){ var este = $(this).prop('checked'); Razón de este error o bug: Espero les sirva
  6. Bueno. Si realizaron la actualización de los JS y por alguna razón no les guarda los campos de categorías favoritas en "posts" en "/mi/", aquí está la solución: Van al archivo portal.js y buscan: if($(this).attr('checked')) cat_ids += $(this).val() + ','; Y lo remplazan por: if($(this).prop('checked')) cat_ids += $(this).val() + ','; Razón de este error o bug: Espero les sirva
  7. Error instalación 1.3

    Pues tu página se ve bien
  8. Bueno. Si realizaron la actualización de los JS y por alguna razón no les guarda los campos "Género/Sexo" (en algunos casos no lo guarda), "Te gustaría:" y "Tengo:" dentro de "Perfil" en "/cuenta/", aquí está la solución: Van al archivo cuenta.js y buscan: $('.cuenta-save-' + secc).each(function() { if (($(this).attr('type') != 'checkbox' && $(this).attr('type') != 'radio') || $(this).attr('checked')) params.push($(this).attr('name') + '=' + encodeURIComponent($(this).val())); }); Y lo remplazan por: $('.cuenta-save-' + secc).each(function() { if (($(this).attr('type') != 'checkbox' && $(this).attr('type') != 'radio') || $(this).prop('checked')) params.push($(this).attr('name') + '=' + encodeURIComponent($(this).val())); }); Razón de este error o bug: Espero les sirva
  9. i got this feeling

    inside my bones

    1. Cachencho Web

      Cachencho Web

      y que tipo de sensación tienes ???

  10. ¿Quien te está diciendo lo contrario? Dios mío, fuiste a la escuela? Tan mal está el sistema educacional en tu país (no tengo idea cúal es)? Tu web es RetrasitoZinLimites paw. Te la dejo cortita como tu pequeño miembro viril que no me alcanza ni al pie
  11. ei pero mis botonos se ven arriba komo hago para ke se vean abajo buen mod jaja salu2
  12. Webs recientes. Diringax cerró hace menos de 3 meses . ¿Eso no es suficientemente reciente?
  13. claro que si campeón jaja ojalá fuera verdad pues en otra página vi un enlace que si dirigía a tu web pero con mensajes tipos "vallanse de esta web de mierda" o cosas así, la verdad es que no me acuerdo. el mensaje que puso era de diringays
  14. Pues ya vez... Jajajaja. Tranquilo, todo bien . Acá te cito uno de sus mensajes de spam más célebres: Ya es cuestión tuya quien será parte de tu STAFF y en quien confiarás para el desarrollo de tu sitio web. Mucha suerte. Este mensaje me hizo mucha gracia jajaja, estás en lo correcto.
×