Usuarios Online Reales – Hack Modulo Whois Online

Este hack es el mejor metodo para mostrar sus usuarios online reales en una web joomla. Es sabido que cuanto mas tiempo de sesion abierta tengamos configurada el numero de usuarios online aumenta de forma muy considerable. Si ya modifico la configuración de la sesión en la configuración global, tendrá que tener este hack para la correcta visualización de estadísticas de usuarios online de su web joomla. Por ejemplo, si había puesto su vida  de session de usuarios en un tiempo de 90 minutos, sus estadísticas de usuarios en línea se quedaran reflejadas como online aunque ya se hayan marchado hace tiempo, lo cual mostraria un numero engañoso de cuantos usuarios tenemos online en ese marco dentro de los 90 minutos…

Este suele ser el caso cuando queremos extender el tiempo de inicio de sesión, pero si desea tener las estadísticas reales del usuario en línea tal vez entre de 5-10 minutos. Bien, ¿qué debemos hacer?.

Pasos para mostrar usuarios online reales

Paso 1.

El código para reemplazar se encuentra en el archivo helper.php en la carpeta /modules/mod_whoisonline/ . Vamos a modificar dos partes del código que se encuentran entre la linea 26-28 la primera y en la linea 62 la segunda.

Codigo original linea 28:

$query = 'SELECT guest, usertype, client_id' .
 ' FROM #__session' .
 ' WHERE client_id = 0';

A reemplazar con el siguiente código:

$datenow = date("Y-m-d H:i:s");
$time_string = strtotime($datenow);
// Modificacion consulta para visualizar usuarios activos en los ult. 10 minutos
$extra_time = 600; //ejemplo: 10 min x 60 seg
$online_time = ($time_string-$extra_time);
$query = "SELECT a.guest, a.usertype, a.client_id"
."\n FROM #__session AS a"
."\n WHERE a.client_id=0 AND a.time>'$online_time'";

Paso 2.

Código original linea 62:

$query = 'SELECT DISTINCT a.username' .
' FROM #__session AS a' .
' WHERE client_id = 0' .
' AND a.guest = 0';

A reemplazar con el siguiente código para ver los usuarios online reales:

$datenow = date("Y-m-d H:i:s");
$time_string = strtotime($datenow);
// Modificacion consulta para visulizar usuarios activos en los ult. 10 minutos
$extra_time = 600; //10 min x 60 seg
$online_time = ($time_string-$extra_time);
// Nueva Consulta para mostrar solo usuarios activos en los ult. 10 minutos
$query = "SELECT DISTINCT a.username, a.userid, u.name"
."\n FROM #__session AS a, #__users AS u"
."\n WHERE (a.userid=u.id) AND (a.guest = 0) AND (NOT ( a.usertype is NULL OR a.usertype = '' )) AND a.time>'$online_time'"
."\n ORDER BY ".(($ueConfig['name_format'] > 2) ? "a.username" : "u.name")." ASC";

En las partes del codigo $extra_time = 600; pueden cambiar el valor 600 por uno menor. Cinco minutos serian 300, siempre midiendo en segundos.

En el caso de tener problemas y quisieran volver a subir el archivo helper.php, hagan una copia de  su archivo original. Recuerden que esto es solo para Joomla 1.5.

Para Joomla 3, pueden ver las extensiones disponibles en el Directorio de Extensiones Joomla en su apartado correspondiente. Para Jomsocial, componente para crear comunidades online, ver el módulo Knu JS Whosonline for Jomsocial.

3 comentarios en «Usuarios Online Reales – Hack Modulo Whois Online»

  1. Realmente efectivo. Este módulo es necesario para no falsear los usuarios reales online, pues al poner un tiempo más o menos largo de sesión abierta, los resultados son totalmente inciertos. Con este módulo se corrige perfectamente este asunto.
    Muchas gracias.
    Antonio F.S.

Deja un comentario

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de sus datos para estos propósitos. Ver
Privacidad