Datos usados por el $totalonline original

Sax Seguir

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Bueno pues no se por que, es mas, teoricamente no deberia pasar, pero el $totalonline actua de fora diferente en el header que en el forumstats.

No se por que en el header no cuenta las visitas :S alguna idea? sabeis donde esta configurado el $totalonline, osea donde puedo cambiar la configuracion.

Bueno ya he mirado y se exactamente como resolverlo solo me falta cierta informacion.

$numberguest = a?

Busque en las plantillas pero no sale en ningun sitio, bueno si sale el numberguests pero no sale de donde coge los datos.

Si me decis eso ya arreglo el problema :D
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Por ejemplo el $newusers es:
$newusers = $db->query_first('
SELECT COUNT(*) AS count
FROM '
. TABLE_PREFIX . 'user
WHERE joindate >= "'
. strtotime("-1day") . '"
'
);
$newmembers = number_format($newusers['count']);

Tios busque por google y encuentro de todo menos eso xD por favor alguien que sepa de programacion que mire en 1 min eso pero para $numberguest.

O sino decrime donde puedo encontrarlo o algo plx
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
Si deseas que eso funcione, prueba con engancharlo en el global_star y desde ahi ya estará disponible en todas las plantillas, si no lo lees, prueba con este formato

PHP:
$GLOBALS['VARIABLE']
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Si deseas que eso funcione, prueba con engancharlo en el global_star y desde ahi ya estará disponible en todas las plantillas, si no lo lees, prueba con este formato

PHP:
$GLOBALS['VARIABLE']



EEEEEE¿?¿?¿

Ese codigo ya me funciona con un hook a globla_start claro, lo que necesito saber es el codigo de $numberguest


Osea, lo que supongo sera algo asi.

$numberguest= $db->query_first('
SELECT COUNT(*) AS count (y esta linea tampoco se que poner)
FROM '
. TABLE_PREFIX . 'user (evidenetemente aqui no es user, no se que iria)
'
);
$numberguest= number_format($numberguest['count']);


EntiendeS?
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
las sessiones las sacas de la tabla sessiones XD
PHP:
select count(*)  from session where userid=0

le pongo userid=0 para saber solo los invitados..

adicionalmente debes aplicarle el tiempo basado en el tu configuracion de TIEMPO de SESSION
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Entonces seria algo asi? corrigeme los fallos pls xD que yo es la primera vez que ando con estas cosas.

$newusers = $db->query_first('
SELECT COUNT(*)
from session where userid=0
WHERE "sesiondate"(aqui por ejemplo) >= "'
. strtotime("-1day") . '"
'
);
$newmembers = number_format($newusers['count']);

Y digo yo, no seria msa facil mirar el codigo $numberguest que ya existe que hacer uno nuevo?

Bueno no se como tu veas que es mas facil, pero el codigo ese para $numberguest ya existe, y es el que quiero, no me hace falta crear uno nuevo, no se si me entiendes.

Quiero saber el $numberguest no crear uno nuevo, deberia estar en global_start no? la cosa es donde esta global_start, como se puede editar o mirar el contenido para sacar la informacion que yo quiero.
 

jjuuaannk

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Sep 2007
Mensajes
953
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
si te aparece en un lado si y en otro no con la misma variable, prueba en admincp -> mantenimiento .-> Actualizar Contadores -> Reconstruir Estadísticas

una vez me paso algo parecido y lo solucione de esta manera...

saludos y suerte
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Haber que me parece que no me entendeis o no me explico bien xD vamos por puntos.

1.El codigo no esta roto y no hace falta reparalo, por que no hay codigo xD

2. Tampoco quiero obtener ningun numero eso viene despues, lo que quiero obtener es el codigo que trae vbulletin usado en el forumhome y que se llama $numberguest

3. ¿ Si ya tienes creado lo que necesitas para que necesitas saber su codigo?

Pues por que mis estadisticas en el header, tienen su codigo propio a parte del vbulletin general y aunque ponga
$numberguest no funciona.

Entonces tengo que crear un nuevo
$numberguest_header con el mismo codigo que el $numberguest original para eso.

Ahora entendisteis? xD de todas formas gracias por la ayuda :D

Es un codigo que creo que esta en global_start pero es que no se como acceder al global_start para encontrarlo. Lo de select querry from.... where .... eso necesito.
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
estaba viendo el codigo en los archivos de vbulletin y vi lo siguiente:

El Codigo está solo en index.php y en online.php, en index lo encuentras buscando (linea 401 aprox):
PHP:
// ### LOGGED IN USERS #######################

y en online (linea 575 aprox)

PHP:
$numberguests = 0;
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Hay dios..... vamos a ver, que ya no se como explicarlo que eso no me sirve xD yo lo que necesito es poder leer el globla_start.

Haber si poniendo el archivo entero y explicando paso a paso me entendeis.

PLUGIN MODIFICADO DEL HEADER ( NO EL DE VBULLETIN):

<?xml version="1.0" encoding="ISO-8859-1"?>

<plugins>
<plugin active="1" product="vbulletin">
<title>Header Stats</title>
<hookname>global_start</hookname>
<phpcode><![CDATA[// forum stats start
$numbersmembers = $db->query_first("SELECT COUNT(*) AS users,MAX(userid) AS max FROM " . TABLE_PREFIX . "user");
$numbermembers = number_format($numbersmembers['users']);
$counter = $db->query_first("SELECT COUNT(postid) AS posts, COUNT(threadid) AS threads FROM " . TABLE_PREFIX . "post");
$totalposts=number_format($counter['posts']);
$countthreads = $db->query_first("SELECT COUNT(*) AS threads FROM " . TABLE_PREFIX . "thread");
$totalthreads=number_format($countthreads['threads']);
// forum stats end

// total online start
$datecut = TIMENOW - $vbulletin->options['cookietimeout'];
$headerguests=$db->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "session WHERE userid=0 AND lastactivity>$datecut");
$headerusers=$db->query_first("SELECT COUNT(DISTINCT(userid)) AS count FROM " . TABLE_PREFIX . "session WHERE " . TABLE_PREFIX . "session.userid>0 AND " . TABLE_PREFIX . "session.lastactivity>$datecut");
$headerguests=$headerguests[count];
$headerusers=$headerusers[count];
$totalonline=$headerguests+$headerusers;
// total online end


// get newest member name and userid start
$getnewestmember=$db->query_first("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE " . TABLE_PREFIX . "userid=$numbersmembers[max]");
$newusername = $getnewestmember['username'];
$newuserid = $getnewestmember['userid'];
// get newest member name and userid end]]></phpcode>
</plugin>
</plugins>
Verde: Parte que necesito cambiar, debido a que el fake users no le afecta, sin embargo si le afecta al PLUGIN ORIGINAL DE VBULLETIN, los stats del forumhome.


-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------

2 PARTE: Una vez duplicado el $numberguests (headerguests) tendria que meter el mismo hook que el fake users para que tambien mostrara las visitas falsas en el header.

Codigo Fakeusers:


if ($vbulletin->options['xfakeonoff']) {
$numbervisible2 = 0;
if (
$vbulletin->options['xfakemn']>0)
{
$xsayi1 = $vbulletin->options['xfakemn'];
$xsayi2 = $vbulletin->options['xfakeug'];
$forumusers = $db->query("SELECT *,
IF(displaygroupid=0, usergroupid, displaygroupid) AS displaygroupid
FROM "
. TABLE_PREFIX . "user WHERE usergroupid = '$xsayi2' ORDER BY RAND() LIMIT $xsayi1");
while (
$loggedin = $db->fetch_array($forumusers))
{
$numbervisible2++;
fetch_musername($loggedin);
eval(
'$activeusers .= "' . fetch_template('forumhome_loggedinuser') . '";');

}
}
$totalonline = $totalonline + $numbervisible2 + $vbulletin->options['xfakemv'];
$numberguest = $numberguest + $vbulletin->options['xfakemv'];
$numberregistered = $numberregistered + $numbervisible2;
unset(
$forumusers, $loggedin, $numbervisible2, $xsayi1);
$db->free_result($forumusers);
}
Sabeis como hacer que los fakeusers se muestren tambien en mi header stats?

Probe usando el $numberguests original y no funciona por eso quiero cambiar el codigo en la plantilla y luego añadirle el hook, asi teoricamente deberia mostrarlos no?

Vosotros hasta ahora me deics el $numberguests esta en tal... pero es que eso no me sirve lo que necesito es de que esta formado el number guests como se ve en esos codigos no se si ahora me entendeis.
 

imported_Jhonnyf

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
6 Sep 2008
Mensajes
959
deberias poder leer esa variable en cualquier parte llamandala asi
PHP:
$totalonline

o de esta forma
PHP:
$GLOBALS[totalonline]


ahora que si no puedes, deberias revisar tus condicionales previas, en tal caso has la prueba poniendo 1 sola linea
PHP:
$totalonline=13;

e intenta accesar a la variable

si con todos esos consejos no te sale, pues ya es "mucho level" para mi y no te podré ayudar U_U
 

Sax

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 May 2008
Mensajes
227
Bueno de todas formas gracias ya no se que probar xD es que ademas pasan cosas raras.

Por ejemplo consegui que funcionara con:

$totalonline=$headerguests+$headerusers+$vbulletin->options['xfakemv'];

Pero solo funciona en el portal xD en el foro no funciona
 
Arriba