Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

como mostrar los usuarios que estan viendo un determinado topic

Estas en el tema de como mostrar los usuarios que estan viendo un determinado topic en el foro de Sistemas de gestión de contenidos en Foros del Web. Buenas, me gustaria introducir un scritp que muestre la cantidad de usuarios que estan viendo un foro, exactamente como ocurre en el index de forosdelweb. ...
  #1 (permalink)  
Antiguo 30/01/2005, 10:22
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Exclamación como mostrar los usuarios que estan viendo un determinado topic

Buenas,

me gustaria introducir un scritp que muestre la cantidad de usuarios que estan viendo un foro, exactamente como ocurre en el index de forosdelweb.

¿como se hace?
  #2 (permalink)  
Antiguo 30/01/2005, 11:22
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Yo no conozco nada, pero conviene que digas para qué aplicación lo quieres: phpbb, vbulletin...
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 30/01/2005, 11:27
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
para los foros de phpBB. antes se me fue la oya y no lo puse.
  #4 (permalink)  
Antiguo 31/01/2005, 03:28
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
He estado haciendo una serie de pruebas pero al no disponer de un foro con tráfico, no puedo evaluar hasta que punto es efectivo y si tiene fallos(por decirlo sin protocolos, en mi web no entra ni blas y no puedo probarlo en pleno rendimiento XD)

En primer lugar se trataría de abrir el archivo index.php y localizar las lineas:
Código PHP:
                            $row_color = ( !($i 2) ) ? $theme['td_color1'] : $theme['td_color2'];
                            
$row_class = ( !($i 2) ) ? $theme['td_class1'] : $theme['td_class2']; 
Y después añadir:
Código PHP:
        
                            $query
=mysql_query("SELECT session_ip,session_page,session_time FROM phpbb_sessions WHERE session_page=$forum_id AND session_time >= ".( time() - 300 ) . " order by session_user_id DESC, session_time ASC");
                            while(
$row1=mysql_fetch_array($query))
                            {
                            foreach(
$row1 as $key=>$value
                                {
                                
$vistas[$row1['session_ip']]=$value;
                                }
                            }
                            
$vistas_tpl=count($vistas);
                            
$vistas_tpl=($vistas_tpl>0) ? ("<b>&nbsp;(&nbsp;$vistas_tpl&nbsp;viendo&nbsp;)</b>") : ""
Luegop se trataría de localiza rla línea:
Código PHP:
                            'FORUM_NAME' => $forum_data[$j]['forum_name'], 
y sustituir por:
Código PHP:
                            'FORUM_NAME' => $forum_data[$j]['forum_name'].$vistas_tpl
Luego hay una cosa que no me acababa de convencer en la forma que phpBB actualiza la página dónde está el usuario, cuando está en un foro.
Por eso también he hecho unos cambios en el viewforum.php:
localizar la linea:
Código PHP:
init_userprefs($userdata); 
y después añadir:
Código PHP:
if (intval($_GET['f'])!="")
{
mysql_query("UPDATE phpbb_sessions SET session_page=".$_GET['f']." WHERE session_id=".$userdata['session_id'].";");

y algo parecido con el archivo viewtopic.php
localizamos la línea:
Código PHP:
init_userprefs($userdata); 
y despues añadimos:
Código PHP:
if (intval($_GET['t'])!="")
{
    
$query=mysql_query("SELECT forum_id FROM phpbb_topics WHERE topic_id=".$_GET['t'].";");
    
$row=mysql_fetch_row($query);
    
$foro=$row[0];
    
mysql_query("UPDATE phpbb_sessions SET session_page=".$foro." WHERE session_id=".$userdata['session_id'].";");

Eso es lo que yo hice en mi foro y al menos 'parece' que funciona.
La única pega que le veo es que si un usuario está en el foro x y decide saltar al foro y, al estar esa "estadistíca" que hemos hecho basada en los últimos 5 minutos, hasta que no transcurra dicho tiempo, se contabilizaría que están en ambos foros a la vez.

Si decides probarlo, me gustaría que me comentases los errores o fallos que le ves :)

Salu2 ;)
__________________
[+]
[+]
  #5 (permalink)  
Antiguo 31/01/2005, 03:52
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
se me había olvidado una cosilla en el index.php
localizar las líneas:
Código PHP:
    'U_VIEWFORUM' => append_sid("viewforum.$phpEx?" POST_FORUM_URL "=$forum_id"))
); 
después añadir(muy importante fijarse bien en que sea des pués del ); )
Código PHP:
unset($vistas); 
Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 31/01/2005 a las 03:54
  #6 (permalink)  
Antiguo 14/12/2007, 13:39
Avatar de alfeizar  
Fecha de Ingreso: septiembre-2003
Ubicación: Santander
Mensajes: 27
Antigüedad: 20 años, 7 meses
Puntos: 1
Re: como mostrar los usuarios que estan viendo un determinado topic

Jo, me parece cojonudo, estoy buscando una solución igual, pero en ASP, y me estoy volviendo loco de remate.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:16.