SimplePortal

Support => Spanish => International Support => Tutoriales => Topic started by: 130860 on November 09, 2010, 02:56:32 PM

Title: [Tip] Notificaciones en Shoutbox
Post by: 130860 on November 09, 2010, 02:56:32 PM
Este tip está disponible para  nneonneo' shoutbox y AjaxChat  así que decidí adaptarlo a SimplePortal.

este tip hará que cada vez que se cree un tema se publique un shout en el shoutbox automaticamente con el nombre de quien publica el tema y el nombre y enlace de el tema creado.

Nota, este tip solo lo probé para la versión 2.0Rc3 y 2.0 RC4, no sé si funcione para 1.1.x

empecemos.

nos vamos a nuestro archivo  Sources/Post.php  y encontramos esto:

Code: [Select]
notifyMembersBoard($notifyData);
y después de eso agregamos:

Code: [Select]
global $user_info, $board, $scripturl, $boardName, $topic;

$smcFunc['db_insert']('',
'{db_prefix}sp_shouts',
array(
'id_shoutbox' => 'int',
'id_member' => 'int',
'member_name' => 'string',
'log_time' => 'int',
'body' => 'string',
),
array(
1,
$user_info['id'],
$user_info['name'],
time(),
'[color=red][b]Nuevo Tema: [url='.$scripturl . '?topic=' . $topic . '.new#new'.']'.html_entity_decode($_POST['subject']).'[/url][/b][/color]',
),
array('id_shout')
);


configuración,  puedes configurarlo en esta parte:

1,  es el ID de el shoutbox en donde queires que salga la notificacion, si usas mas de uno o ya has creado varios, es muy probable que tengas que cambiar el 1 por el numero de tu shout box, el id lo puedes saber al editar o crear un nuevo shoutbox:   


index.php?action=admin;area=portalshoutbox;sa=edit;shoutbox_id=1

donde  shoutbox_id=1  ese es el id the tu shoutbox

Code: [Select]
[color=red][b]Nuevo Tema: [url='.$scripturl . '?topic=' . $topic . '.new#new'.']'.html_entity_decode($_POST['subject']).'[/url][/b][/color]',
este es el mensaje que aparecerá,   si no lo cambias, deberá de aparecer esto:

nombre de usuario: Nuevo Tema: nombre y url del enlace


ten en cuenta que para que funcionen las etiquetas [color ]  y [b ]  tienes que activarlas desde la configuración de tu shout, de lo contrario no funcionarán.


también es posible quue se notifique solo cuando se crea un tema en ciertos foros, para eso usamos:

$foros = array (1,2);    donde 1,2  son los ID de los foros que se notificarán.

if (in_array($board, $foros))   // revisamos si el foro en donde se creo el tema esta en la lista de foros permitidos.

en general, el código se verá así:

Code: [Select]
$foros = array (1,2);


   if (in_array($board, $foros))
   {
global $user_info, $board, $scripturl, $boardName, $topic;

$smcFunc['db_insert']('',
'{db_prefix}sp_shouts',
array(
'id_shoutbox' => 'int',
'id_member' => 'int',
'member_name' => 'string',
'log_time' => 'int',
'body' => 'string',
),
array(
1,
$user_info['id'],
$user_info['name'],
time(),
'[color=red][b]New Topic: [url='.$scripturl . '?topic=' . $topic . '.new#new'.']'.html_entity_decode($_POST['subject']).'[/url][/b][/color]',
),
array('id_shout')
);
}


espero que les sea de utilidad este pequeño tip.

SimplePortal 2.3.8 © 2008-2024, SimplePortal