News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Online User Today problema [x Fasan]

Started by edi67, December 29, 2004, 10:16:25 AM

Previous topic - Next topic

edi67

allora avrei bisogno di chiedere un aiuto per risolvere 2 problemini che ho con questo utilissimo mod di Fasan.

1° ho un errato conteggio di utenti online nella giornata pero questo errore si verifica solamente nei conteggi memorizzati nelle statistiche infatti durante la giornata il conteggio e corretto ma poi il giorno dopo i dati precedenti hanno un numero inferiore come si puo vedere dagli screenshot:


Qui risultano giustamente essere stati online 147 utenti conteggio giusto


se vado a vedere le statistiche giornaliere il numero degli utenti risulta giusto nella giornata attuale ma tutti gli altri giorni e sbagliato di almeno 100/120 utenti in meno ecco la schermata


perche questa differenza ?

2° problema come ti avevo accennato io sono su server russo quindi risultiamo 2 ore indietro ed il conteggio degli utenti per il giorno seguente inizia a partire dalle 22.00 ore italiane invece che le 24.00 ho cambiato come da te suggerito questo parametro:

$midnight = ((date("U") - (date("H") * 3600)) - (date("i") * 60)+2);

inserendo un +2 ma risulta sempre lo stesso c'e' un altro modo ?

grazie
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ciao Edi,
riguardo il conteggio mi sembra Ok... il giorno 29/12 segna regolarmente 147 utenti, così come la schermata in homepage... tieni sott'occhio per qualche giorno le statistiche, xchè non mi sembra che dia problemi di sorta :)

Mi dirai che, essendoci una differenza oraria, è possibile che alcune statistiche vengano sfalzate (mi riferisco al fatto che alcune statistiche del forum facciano capo a due ore dopo ed altre, come la mod in questione, si fermi a due ore prima).


Riguardo alla regolazione oraria (ho suggerito io ? mah.. :) ) la riga è giusta, ma il +2 non và lì... la riga corretta dovrebbe essere questa :


$midnight = (((date("U") + 2) - (date("H") * 3600)) - (date("i") * 60));

Inquanto il primo blocco definisce l' ora, il secondo i minuti ed il terzo i secondi ;)

Se vuoi fare una cosa più "figa" invece di "+2" inserisci "+ $modSettings['time_offset']". Non l' ho provato, ma dovrebbe andare ;)

Verifica che la variabile $modSettings sia presente nei Global di quella funzione (o aspetta stasera che torno a casa e lo verifico io ;) )



FaSan

edi67

#2
grazie per la correzione ma ascolta come ti ho scritto il problema del conteggio non si verifica nella giornata corrente ma come vedi dalla pagina statistiche in tutte le altre giornate in pratica il giorno corrente e tutto ok ma l'indomani di ogni giorno corrente mette un valore di utenti online della giornata errato molto piu piccolo della realta.

in pratica se domani faccio il controllo di quanti utenti erano oggi non segnerà 147 ma almeno 100 in meno , io ho regolarmente piu di 180 utenti giornalieri ma come puoi vedere ne risultano ogni giorno meno di 50 o 60.

intanto sto provando questa modifica: $modSettings['time_offset'] per ora va bene vediamo a mezzanotte.  ;D
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Modifica la linea in questione, potrebbe essere possibile che la Mod faccia il salvataggio regolarmente alla mezzanotte, salvandoti quindi gli utenti collegati nelle sole due ore successive.

Aggiustando l' orario, dovrebbe risolversi tutto da sè ;)

edi67

mh azzolo pero non ci avevo pensato

vediamo grazie per ora
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

#5
Uhmm.. stavo pensando ad una cosa... muble muble...

Tu nel time offset impostato nel forum hai "-2" giusto ? inquanto i russi sono a +3 da gmt e +2 da noi.... uhmmm...


Allora ... sisi... è "-" (meno) offset e non "+".... Pardon :)


$midnight = (((date("U") - $modSettings['time_offset']) - (date("H") * 3600)) - (date("i") * 60));



FaSan

edi67

Quote from: FaSan on December 29, 2004, 11:22:41 AM
Uhmm.. stavo pensando ad una cosa... muble muble...

Tu nel time offset impostato nel forum hai "-2" giusto ? inquanto i russi sono a +3 da gmt e +2 da noi.... uhmmm...

FaSan

Esatto ho -2 ora ho modificato vediamo se il conteggio andrà bene
rigrazie
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

accidenti la dinuovo fatto....

altra soluzione?
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Cosa ha fatto ? lo scatto alle 10 o il numero errato nelle statistiche ?

edi67

entrambi le cose scatto 2 ore prima e totale utenti nella giornata di ieri 46 mentre in realtà sono nel primo pomeriggio erano già 180 evidentemente come hai detto tu ha di nuovo contato le ultime 2 ore ..presumo.
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ci perdo un pò di tempo e ti faccio sapere ;)

FaSan

Ecco la riga giusta :

$midnight = ((date("U") - ((date("H") - $modSettings['time_offset']) * 3600)) - (date("i") * 60));



Cmq la troverai già compresa nel pacchetto x SMF 1.0 ;)


:)

edi67

la provo subito e ti faccio sapere

grazie fasan ti aspetto sempre nel mio forum
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

purtroppo si è di nuovo riazzerato alle 10 e mi ha conteggiato 61 utenti anziche oltre 200
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Quote from: edi67 on December 30, 2004, 04:23:51 PM
purtroppo si è di nuovo riazzerato alle 10 e mi ha conteggiato 61 utenti anziche oltre 200


Azz... per curiosità sei con la 1.0 o con la vecchia e la modifica manuale ?

edi67

ho aggiornato ieri la 1.0 ed inserito il mod manulmente ma presenta lo stesso errore.
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ti faccio sapere non appena la trovo  8) :P

edi67

CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ho fatto tutte le prove possibili e per me rimane corretta questa linea :


   $midnight = (date("U") - ((date("H") - $modSettings['time_offset']) * 3600) - (date("i") * 60));



Non h adato problemi di sorta in nessun frangente, sebbene sia rimasta in test per svariati giorni.

Nel caso in cui dovessi continuare ad aver problemi, ti conviene smontare la mod e controllare passo passo che sia stato tutto correttamente modificato.



FaSan

edi67

Quote from: FaSan on January 16, 2005, 06:22:58 PM
Ho fatto tutte le prove possibili e per me rimane corretta questa linea :


   $midnight = (date("U") - ((date("H") - $modSettings['time_offset']) * 3600) - (date("i") * 60));


speriamo in bene visto che questa nuova e un po diversa da quella che avevo.

$midnight = ((date("U") - ((date("H") - $modSettings['time_offset']) * 3600)) - (date("i") * 60));
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ma il timezone di default è impostato correttamente ? Non quello a livello utente (vienei ignorato), ma quello dell' intero forum !!

edi67

dal Modifica Preferenze e Opzioni   -> Offset orario generale è impostato -2 e difatti l'rario corrente che si visualizza nel forum e giusto.

pero stranamente il conteggio degli utenti si azzera alle 22.00 come se fossero le 24.00
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Sono passato x il tuo forum alle 22:00 in punto ed ho visto cosa fà con esattezza.

C'è in effetti qualcosa che non và e vorrei vederci chiaro.


Puoi inviarmi il tuo file Boardindex.php ed il file Stats.php ?


[email protected]


Thx

edi67

CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan


FaSan

Quote from: FaSan on January 16, 2005, 06:22:58 PM
Ho fatto tutte le prove possibili e per me rimane corretta questa linea :


   $midnight = (date("U") - ((date("H") - $modSettings['time_offset']) * 3600) - (date("i") * 60));



Non h adato problemi di sorta in nessun frangente, sebbene sia rimasta in test per svariati giorni.

Nel caso in cui dovessi continuare ad aver problemi, ti conviene smontare la mod e controllare passo passo che sia stato tutto correttamente modificato.



FaSan


Bah vabbè.. ho fatto un mezzo casotto con queste date  ::) :-X :P

I tuoi file vanno bene !!


Mentre nella prima versione della modifica, l' incremento orario andava ad diminuire la data di base, con la nuova stringa, il segno - non è corretto, inquanto inverte l' offset, con particolari problematiche oltre una tot ora (vedi area english).

In parole povere :

   $midnight = (date("U") - ((date("H") + $modSettings['time_offset']) * 3600) - (date("i") * 60));


Inquanto date("H") è l' ora di default del server
e l' offset, se è posito (differenza in più) và aggiunto, se è negativo (- x + = -) si sottrae.


Tutto è bene ciò che finisce bene  8)



FaSan

edi67

ti faro senz'altro sapere
grazie fasan vediamo stasera se va
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

una buona notizia ed una cattiva
la buona è che a quanto pare segna il numero corretto di utenti della giornata.

la cattiva è che li registra il giorno prima, in pratica quelli di ieri 20 gennaio sono registrati il 19 gennaio
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ohh bene... questa mi mancava  8) :P


Tanto ho il weekend libero....  ;)

edi67

brutte notizie amico adesso il mod registra a 0 il numero massimo di utenti nelle statistiche, solo il primo giorno a registrato,anche se un giorno prima, il numero esatto, poi 2 giorni 0 utenti nella giornata....
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan


edi67

mi spieghi in poche parole le variabile della stringa midnight penso sia solo un problema di somme.

cosi provo ad aiutarti a mettere apposto quella formula ci terrei ad avere questo bel mod funzionante.
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Ma guarda che la Mod adesso è ok...

Il problema delle statistiche è da capire, inquanto te lo dava anche precedentente alla modifica della stringa... e non ho riscontri di questo tipo con nessun altro.


edi67

#34
non è apposto non conta bene credimi

prima il conteggio si azzerava alle 22.00 ora azzera i conteggi ogni giorno

come vedi parecchi utenti hanno problemi di fusi orari e conteggi:

http://www.simplemachines.org/community/index.php?topic=17176.0

e visto che il tuo mod mi piace moltissimo ci tenevo ad averlo perfettamente funzionante, se fusso stato un altro che non apprezzavo cosi lo avrei gia abbandonato e non piu insistito, ma visto che mi piace molto insisto.
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Non metto in dubbio che tu abbia problemi, quello che dicevo è che non è un problema della mod, ma è solo sol tuo forum.

Hai ampia disponibilità, da parte mia, per risolverlo... dobbiamo però capire il perchè fà così...

Secondo me, se lo disinstalli e re-installi daccapo l' ultima versione, forse risolvi...

Per maggior sicurezza, salvati il contenuto della tabella, cancellala e fagliela ricreare in instalalzione ;)



FaSan

FaSan

Quote from: edi67 on January 23, 2005, 08:41:06 AM
come vedi parecchi utenti hanno problemi di fusi orari e conteggi:

http://www.simplemachines.org/community/index.php?topic=17176.0



La mod si basa sulla funzione TrackStats di SMF per l' inserimento delle statistiche. Il problema che avevano gli utenti che tu segnali erano dovuti eslusivamente al cambio di fuso orario. Inquanto TrackStats (che come ripeto è totalmente indipendente da questa mod) eseguiva la sua procedura basandosi sul fuso settato nel forum, mentre la mia mod non era in linea.

Questo portava ad avere sfalzate le statistiche memorizzate.

Essendo ora il tutto correttamente in linea (a livello di orario) quelle problematiche che tu hai segnalato sono risolte.

Nel tuo caso invece, c'è sicuramente un'anomalia, ma non nella mod, ma nel trackstats (o nelle modifiche apportate nella funzione :) )



FaSan

edi67

allora ho reinstallato passo passo il mod e ci sono 2 anomalie per me:

questa riga:

<td>', $txt['smf_stats_14'], '</td>
<td>', $txt['smf_stats_14bis'], '</td>


non mi funziona se non aggiungo, come nelle altre c'e' gia il '; cioe cosi:

Quote<td>', $txt['smf_stats_14'], '</td>
<td>', $txt['smf_stats_14bis'], '</td>';

ho rilanciato il file: UsersOnlineToday_Pdb.php e mi da questo errore:

Fatal error: Call to undefined function: db_query() in /home/forumzo7/public_html/UsersOnlineToday_Pdb.php on line 23

la parte della righa 23 è la seguente, cioè quella evevidenziata in grassetto:

Quote<?php
/******************************************************************************
* UsersOnlineToday_Pdb.php                                                    *
*******************************************************************************
* SMF: Simple Machines Forum - OnLine Users Today - MOD                       *
* Open-Source Project Inspired by Zef Hemel ([email protected])                *
* =========================================================================== *
* Software Version:           1.2                                         *
* Software by:                FaSan - [email protected]               *
* Support, News, Updates at:  http://www.simplemachines.org                   *
*******************************************************************************
* This program is free software; you may redistribute it and/or modify it     *
* under the terms of the provided license as published by Lewis Media.        *
*                                                                             *
* This program is distributed in the hope that it is and will be useful,      *
* but WITHOUT ANY WARRANTIES; without even any implied warranty of            *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                        *
*                                                                             *
* See the "license.txt" file for details of the Simple Machines license.      *
* The latest version can always be found at http://www.simplemachines.org.    *
******************************************************************************/

$request = db_query("
   SHOW COLUMNS
   FROM {$db_prefix}log_activity
   LIKE 'allOn'", __FILE__, __LINE__);
$no_upgrade = mysql_num_rows($request) > 0;
mysql_free_result($request);

if (!$no_upgrade)
db_query("ALTER TABLE {$db_prefix}log_activity
   ADD `allOn` smallint(5) unsigned NOT NULL default '0'", __FILE__, __LINE__);

?>

tutto il resto è preciso al mod.

sai dirmi qualcosa?
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Quote from: edi67 on January 24, 2005, 03:29:12 AM
allora ho reinstallato passo passo il mod e ci sono 2 anomalie per me:

questa riga:

<td>', $txt['smf_stats_14'], '</td>
<td>', $txt['smf_stats_14bis'], '</td>


non mi funziona se non aggiungo, come nelle altre c'e' gia il '; cioe cosi:

Quote<td>', $txt['smf_stats_14'], '</td>
<td>', $txt['smf_stats_14bis'], '</td>';


La riga originale è questa :

<td>', $txt['smf_stats_14'], '</td>';

Poichè nel Search viene cercata senza il '; lo stesso non viene eliminato, ma rimane e si posiziona automaticamente alla fine della linea aggiunto (automaticamente se use il Package Manager, se modifichi manualmente devi far attenzione a non eliminarlo).



Quote from: edi67 on January 24, 2005, 03:29:12 AM

ho rilanciato il file: UsersOnlineToday_Pdb.php e mi da questo errore:

Fatal error: Call to undefined function: db_query() in /home/forumzo7/public_html/UsersOnlineToday_Pdb.php on line 23


Ti dà errore xchè i file Pdb sono eseguibili solo da Package Manager. Se vuoi installare manualmente, devi aggiungere, manualmente, la tabella da phpMyAdmin.

Questo è il codice :

ALTER TABLE {$db_prefix}log_activity
         ADD `allOn` smallint(5) unsigned NOT NULL default '0';




Se lo riscrivi manualmente, fai caso agli apici di allOn che non sono apici standard... meglio se fai un copia/incolla.


;)


FaSan

edi67

ho reinstallato tutto dal package manager vediamo cosa succede stanotte
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

accidenti nuovamente azzerato alle 22.00

dimmi per favore che altri file.php ti servono per controllare che te li mando.

mi interessa proprio questo mod
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

... ma hai scaricato il nuovo package o hai installato qualche vecchia versione che avevi sull' hd ?

In quest'ultimo caso, dovevi cambiare la linea del MidNight...



FaSan

FaSan

a dire il ci sono anche un paio di bug(etti) fixati. Se scarica la nuova è sicuramente meglio.



FaSan

edi67

ho scaricato la ultimissima versione dal tuo pacchetto server ed installata

ti vorrei far notare questo post reply che un utente ha fatto sulla famosa linea midnight:

QuoteI'm no expert on php, so i'm cracking my head on this line of code... 

I've tryed a lot of stuf, but I'm not able yet of finding the ploblem....

But, takinh in consideration:
$midnight = (date("U") - ((date("H") + $modSettings['time_offset']) * 3600) - (date("i") * 60));

And simplifing to my basic thoughts:
Midnight =  (Unix Time since 1970 in seconds)  - ((Actual Hour + Offset)*3600) - minutes*60

And now, taking in consideration that the offset is +6, wich means I'm 6 hours ahead of the server:

Lets observe how this equation is calculating the midnight:

*Me*---- *Server*---*Midnight*
00:00----18:00------(24 hours ago)   ---> wrong
01:00----19:00------(25 hours ago)   ---> wrong
03:00----21:00------(27 hours ago)   ---> wrong
05:00----23:00------(29 hours ago)   ---> wrong
06:00----00:00------(6 hours ago)     ---> right !
07:00----01:00------(7 hours ago)     ---> right !
09:00----03:00------(9 hours ago)     ---> right !
15:00----09:00------(15 hours ago)   ---> right !
20:00----14:00------(20 hours ago)   ---> right !
etc, etc

I don't know if my thinking is alright, but this maybe the cause of the error.

Any opinions ?
Any solutions ?

vedi un po penso il bug sia solo li
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Quote from: edi67 on January 25, 2005, 03:14:37 AM
ti vorrei far notare questo post reply che un utente ha fatto sulla famosa linea midnight:

vedi un po penso il bug sia solo li


Quell' utente lamenta problemi con il timezone settato a livello utente. Se leggi con attenzione sottolinea il fatto che funziona correttamente con il timezone del server ma non con il timezone degli utenti.

Cosa alquanto complicata, poichè sarebbero poi da gestire le statistiche in base ai timezone di xxx numero di utenti che si collegano al forum :)


FaSan

edi67

non capisco proprio perche non funzia da me

ti mando lo stats.php ? lo stats.template.php ?
dimmi tu
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

Hai ri-modificato tutto con il nuovo package ?

aspettiamo stanotte e vediamo cosa fà, nel caso mi mandi i files ;)


FaSan

edi67

nuovo di quando?
lo reinstallato ieri verso le 11 lo hai rimodificato oggi ?
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

FaSan

No No... intendevo dire l' ultimo messo online ;)

edi67

si fatto dai allora dimmi cosa ti devo mandare
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

nessuna novita fasan?

mi interessa molto che funga bene questo mod.  :(
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

edi67

finalmente il conteggio utenti è corretto ora, non so se dipenda dalle modifiche ma erano sempre le stesse oppure dal nuovo server che uso, comunque funziona bene.

Bravo fasan  ;D
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

Advertisement: