Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/01/2005, 03:28
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 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 ;)
__________________
[+]
[+]