Página 1 de 1
Mod para 'Buscar mensajes nuevos', solo primer post?
Publicado: 24 Mar 2013, 12:48
por burrezo
Buenos días a tod@s,
Estoy buscando algún mod o código para que cuando alguien cuelgue un post nuevo en un determinado foro, aparezca en la lista de 'Buscar mensajes nuevos', pero solo cuando sea el primer post, no las contestaciones, he buscado por todas partes y no encuentro nada, bueno, solo a un compañero en algún foro buscando lo mismo que yo, pero sin respuesta, ¿alguien puede ayudarme?, muchas gracias!
Re: Mod para 'Buscar mensajes nuevos', solo primer post?
Publicado: 03 Abr 2013, 23:18
por burrezo
Alguien me ayuda?

Re: Mod para 'Buscar mensajes nuevos', solo primer post?
Publicado: 04 Abr 2013, 12:58
por ThE KuKa
No me suena haber visto nada así.
Re: Mod para 'Buscar mensajes nuevos', solo primer post?
Publicado: 05 Abr 2013, 09:16
por colmillo-blanco
Yo también lo busqué, un mod como el que había en el nuke et de últimos post, pero no existe, hay cosas parecidas, yo lo tengo en mi web como un bloque lateral del portal donde aparecen los últimos post comentados, se parece, pero no es lo que buscas.
Re: Mod para 'Buscar mensajes nuevos', solo primer post?
Publicado: 05 Abr 2013, 22:58
por burrezo
Ok, gracias a todos por responder, seguiré buscando y si encuentro algo, lo cuelgo por aquí

Re: Mod para 'Buscar mensajes nuevos', solo primer post? Tema Solucionado
Publicado: 15 Abr 2013, 16:38
por burrezo
Buenas a todos,
Al final, un compañero del foro que es un crack,
Estraven, me ha hecho la modificación del código para que haga lo que quería.
En el archivo root/search.php hay que cambiar:
Código: Seleccionar todo
$sql = 'SELECT t.topic_id
FROM ' . TOPICS_TABLE . ' t
WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . '
AND t.topic_moved_id = 0
' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . '
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '') .$
$sql_sort";
$field = 'topic_id';
Por:
Código: Seleccionar todo
$sql = 'SELECT t.topic_id
FROM ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE .' p ON p.post_id = t.topic_first_post_id
WHERE (((t.forum_id = 14) AND ( p.post_time > ' . $user->data['user_lastvisit'] . ' )) OR ((t.forum_id <> 14) AND (t$
AND t.topic_moved_id = 0
' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . '
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '
$sql_sort";
$field = 'topic_id';
En el código, donde aparece
(t.forum_id <> 14), el 14 es la ID del foro donde quiero que se aplique el filtro.
Me comenta Estraven que de esta forma, la búsqueda tardará un poco más ya que al tener que hacer un JOIN, es más lento que buscar directamente en una tabla, pero realmente casi no se nota (por lo menos en mi servidor).
El cambio de código es solo cuando se filtra por topics, supongo que no supondrá gran trabajo adaptarlo para que también afecte cuando se filtra por posts
