Advertisement:

Author Topic: [MOD] Utenti Giornalieri  (Read 30040 times)

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
[MOD] Utenti Giornalieri
« on: August 25, 2004, 12:34:32 PM »
Elisa, non ho ben capito... cos'è che vuoi fare ?  :-\
« Last Edit: August 30, 2004, 09:23:48 PM by FaSan »

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: Utenti Giornalieri
« Reply #1 on: August 25, 2004, 12:43:26 PM »
Io nella pagina delle statistiche, dove ora compaiono per ogni giorno il numero dei nuovi iscritti, il numero max utenti online..., vorrei avere anche il numero totale degli utenti connessi!!! Come faccio????

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: Utenti Giornalieri
« Reply #2 on: August 25, 2004, 12:45:33 PM »
ahhh ecco  :D

Ma li vuoi mantenere giornalmente ? Se sì, teoricamente aggiungendo un campo alle statistiche giornaliere. Non dovrebbe essere troppo complicato. Vedo di farti avere il codice in serata  ;)

Se vuoi solo la punta massima, come sopra, in serata ti faccio avere entrambi ;)


F.

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: Utenti Giornalieri
« Reply #3 on: August 25, 2004, 12:49:22 PM »
No io vorrei avere ogni giorno il totale degli utenti connessi.

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: Utenti Giornalieri
« Reply #4 on: August 25, 2004, 02:49:28 PM »
No io vorrei avere ogni giorno il totale degli utenti connessi.

Ok Capito...  ;D

Cmq mi sà che mi ci vorrà un pò più di tempo... ho creato la struttura, il campo, la visualizzazione e la lettura... ma nell' inserimento diventa complicata  8)

Ci dovrò lavorare un pò sù... se vuoi intanto ti posto il resto.


F.

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: Utenti Giornalieri
« Reply #5 on: August 25, 2004, 02:50:39 PM »
Grazie! Poi mandami il conto.
Aspetto quando è completo, faccio meno casino!

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: Utenti Giornalieri
« Reply #6 on: August 30, 2004, 08:20:24 PM »
Bah... sono bloccato su una ca...beep... di query e non ne vengo fuori.

Coming Soon  ;)

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: Utenti Giornalieri
« Reply #7 on: August 30, 2004, 09:07:17 PM »
Bah... sono bloccato su una ca...beep... di query e non ne vengo fuori.

Coming Soon  ;)


 8) 8) 8) ehhhhhh Bingoooooo  8)

Mi è giunta una dritta di Unknown, e finalmente la Mod è finita (meno male, questa volta davvero non sapevo che pesci pigliare hehehe).

Invece di legare questo thread all'altro, in area English, riposto le modifiche fatte, in modo di avere un quadro completo della situazione.
Inoltre, ho dovuto cambiare un paio di cosine al codice originario, quindi posterò direttamente il nuovo.

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: Utenti Giornalieri
« Reply #8 on: August 30, 2004, 09:19:42 PM »
Questa è la MOD che visualizza TUTTI gli utenti che si sono collegati al Vostro forum nella giornata di oggi. Inoltre aggiunge una nuova casella nelle statistiche giornaliere dove verrà inserito il numero di utenti totali collegati in qual dato giorno:

Innanzitutto bisogna aggiungere una colonna alla tabella MYSQL "log_activity". Potete farlo da PHPMyAdmin, con la seguente linea di comando :


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


(Sostituendo "{$db_prefix}" con il suffisso del vostro DB (normalmente "smf_")


Dopidichè le seguenti modifiche :

BoardIndex.php

Code: [Select]
<Search>
// Load the users online right now.
</Search>

<Add Before>
// Load the users online today.

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

// Load the users online for the past 24 hours.
$result = db_query("
SELECT
mem.ID_MEMBER, mem.realName, mem.memberName, mem.ID_GROUP, mem.showOnline, mem.avatar, mem.lastLogin, mem.posts,
mg.onlineColor
FROM {$db_prefix}members AS mem
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = mem.ID_GROUP OR (mem.ID_GROUP = 0 AND mg.ID_GROUP = mem.ID_POST_GROUP))
WHERE mem.lastLogin >= '$midnight'
ORDER BY mem.realName", __FILE__, __LINE__);

$today['users'] = array();
$today['num_users'] = 0;
$link = '';

while ($tmp = mysql_fetch_assoc($result))
{
$link .= '<a href="' . $scripturl . '?action=profile;u=' . $tmp['ID_MEMBER'] . '" style="color: ' . $tmp['onlineColor'] . ';">' . $tmp['realName'] . '</a>, ';
$today['num_users']++;
}

mysql_free_result($result);

$context['user_today'] = $link;
$context['num_users_today'] = $today['num_users'];

              trackStats(array('allOn' => $context['num_users_today']));
</Add Before>


BoardIndex.template.php

Code: [Select]
<Search>
// If they are logged in, but SP1 style information is off... show a personal message bar.
</Search>


<Add Before>
// "Users online Today"
echo '
<tr>
<td class="catbg" colspan="2">', $txt['158bis'], ' ( ', $context['num_users_today'], ' ', $context['num_users_today'] == 1 ? $txt['user'] : $txt['users'], ' )</td>
</tr><tr>
<td class="windowbg" width="20" valign="middle" align="center"><img src="', $settings['images_url'], '/icons/online.gif" alt="', $txt['158bis'], '" border="0" /></td>
<td class="windowbg2" width="100%"><span class="smalltext">', $context['user_today'], '</span></td></tr>';
</Add Before>



Modifications.english.php

Code: [Select]
<Search>
// Version: 1.0 RC1; Modifications
</Search>

<Add After>
$txt['158bis'] = 'OnLine Users Today';
$txt['smf_stats_14bis'] = 'OnLine Day Users';
</Add After>


Modifications.italian.php

Code: [Select]
<Search>
// Version: 1.0 RC1; Modifications
</Search>

<Add After>
$txt['158bis'] = 'Utenti OnLine nella Giornata di Oggi';
$txt['smf_stats_14bis'] = 'Presenze OnLine Giornaliere';
</Add After>


Stats.template.php

Code: [Select]
<Search>
<td>', $txt['smf_stats_14'], '</td>';
</Search>

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

<Search>
<th align="center">', $month['most_members_online'], '</th>';
</Search>

<Replace>
<th align="center">', $month['most_members_online'], '</th>
<th align="center">', $month['all_members_online'], '</th>';
</Replace>

<Search>
<td align="center">', $day['most_members_online'], '</td>';
</Search>

<Replace>
<td align="center">', $day['most_members_online'], '</td>
<td align="center">', $day['all_members_online'], '</td>';
</Replace>



Stats.php

Code: [Select]
<Search>
MAX(mostOn) AS mostOn
</Search>

<Replace>
MAX(mostOn) AS mostOn, MAX(allOn) AS allOn
</Replace>


<Search>
'most_members_online' => $row_months['mostOn'],
'hits' => $row_months['hits'],
</Search>

<Replace>
'most_members_online' => $row_months['mostOn'],
'all_members_online' => $row_months['allOn'],
'hits' => $row_months['hits'],
</Replace>


<Search>
SELECT YEAR(date) AS stats_year, MONTH(date) AS stats_month, DAYOFMONTH(date) AS stats_day, topics, posts, registers, mostOn, hits
</Search>

<Replace>
SELECT YEAR(date) AS stats_year, MONTH(date) AS stats_month, DAYOFMONTH(date) AS stats_day, topics, posts, registers, mostOn, allOn, hits
</Replace>


<Search>
'most_members_online' => $row_days['mostOn'],
'hits' => $row_days['hits
</Search>

<Replace>
'most_members_online' => $row_days['mostOn'],
'all_members_online' => $row_days['allOn'],
'hits' => $row_days['hits']
</Replace>





FaSan

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: [MOD] Utenti Giornalieri
« Reply #9 on: August 31, 2004, 03:40:32 PM »
Per ora dico mille mille mille grazie!!!
Domani la provo!!!!

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: [MOD] Utenti Giornalieri
« Reply #10 on: September 02, 2004, 02:35:24 PM »
L'ho montataaaaaaaaaaaaaaaaaaa!!! Sono riuscita anche se non ho ancora installato la RC1!!!!!!!!!!!!!

Però non calcola gli utenti nascosti!!!!!!!!!!!!!!  :-\ :(

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: [MOD] Utenti Giornalieri
« Reply #11 on: September 02, 2004, 03:46:59 PM »
L'ho montataaaaaaaaaaaaaaaaaaa!!! Sono riuscita anche se non ho ancora installato la RC1!!!!!!!!!!!!!

Però non calcola gli utenti nascosti!!!!!!!!!!!!!!  :-\ :(


Uhmmm... hai ragione !

No ci ho pensato inquanto nel mio forum la possibilità di nascondersi è disabilitata.

Implementerò una versione 1.1 per ovviare al Bug  8)


PS : Ho creato un mio Package Server, raggiungibile dal pannello di Amministrazione, con la mod già pronta per essere installata in automatico  8) E' sufficente aggiungere il server tra quelli da utilizzare. (L' indirizzo è nella mia firma ;) )

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: [MOD] Utenti Giornalieri
« Reply #12 on: September 03, 2004, 07:32:02 AM »
Intanto ho apportato una piccola modifica.

Nel caso in cui qualcuno abbia installato la MOD "BuddyList", è possibile visualizzare gli utenti collegati durante il giorno, nel colore utilizzato dalla Buddy.

Basta cambiare queste poche righe nel file BoardIndex.php :

Code: [Select]

<search>
$link = '';

while ($tmp = mysql_fetch_assoc($result))
{
$link .= '<a href="' . $scripturl . '?action=profile;u=' . $tmp['ID_MEMBER'] . '" style="color: ' . $tmp['onlineColor'] . ';">' . $tmp['realName'] . '</a>, ';
$today['num_users']++;
}

<replace>
$link = '';

$user_info['buddy_list'] = explode(',', $user_info['buddy_list']);

while ($tmp = mysql_fetch_assoc($result))
{
if (in_array($tmp['ID_MEMBER'], $user_info['buddy_list']))
$tmp['onlineColor'] = 'blue';                            //or other color if you want

$link .= '<a href="' . $scripturl . '?action=profile;u=' . $tmp['ID_MEMBER'] . '" style="color: ' . $tmp['onlineColor'] . ';">' . $tmp['realName'] . '</a>, ';
$today['num_users']++;
}
</replace>


<search>
$context['num_buddies'] = 0;
// Little cheat.
$user_info['buddy_list'] = explode(',', $user_info['buddy_list']);
</search>

<replace>
$context['num_buddies'] = 0;
</replace>

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: [MOD] Utenti Giornalieri
« Reply #13 on: September 03, 2004, 08:49:57 AM »
Il package vale solo per chi ha la RC1?

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: [MOD] Utenti Giornalieri
« Reply #14 on: September 03, 2004, 08:52:15 AM »
Purtroppo non ho più i file della beta6, quindi potendo testare le mod solo su RC1 ho fatto sì che siano installabili solo per questa versione.

Cmq la RC1 ha un mare di migliorie in più... da parecchi bug fixed sulla sicurezza ad una nuova struttura di gestione php in alcuni file, meglio upgradare quanto prima  ;)

Offline Elisa

  • Jr. Member
  • **
  • Posts: 198
Re: [MOD] Utenti Giornalieri
« Reply #15 on: September 03, 2004, 12:09:02 PM »
Sicuro ma l'idea di dover rifare da capo 8000 modifiche deve ancora cedere il passo all'idea di aver qualche opzione in più!

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: [MOD] Utenti Giornalieri
« Reply #16 on: September 03, 2004, 06:35:22 PM »
Sicuro ma l'idea di dover rifare da capo 8000 modifiche deve ancora cedere il passo all'idea di aver qualche opzione in più!


 :D :D :D

Offline edi67

  • SMF Hero
  • ******
  • Posts: 1,532
  • Gender: Male
  • Italian Supporter
    • CrazyZone
Re: [MOD] Utenti Giornalieri
« Reply #17 on: September 12, 2004, 04:17:14 PM »
carino questo mod

un piccolo problema io sono su un server russo 2 ore piu avanti l'ora in pratica mi inizia a contare gli utenti del giorno a partire dalla 22 ora italian visto che li sono le 24 come posso ovviare a questo cioe mettere +2 ore
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see

Offline FaSan

  • Sophist Member
  • *****
  • Posts: 1,053
  • Gender: Male
  • http://www.smitaly.net
    • SMitaly - Supporto a SMF
Re: [MOD] Utenti Giornalieri
« Reply #18 on: September 12, 2004, 05:27:29 PM »
carino questo mod

un piccolo problema io sono su un server russo 2 ore piu avanti l'ora in pratica mi inizia a contare gli utenti del giorno a partire dalla 22 ora italian visto che li sono le 24 come posso ovviare a questo cioe mettere +2 ore


E' sufficente aggiungere un +2 a questa funzione :

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

ovvero :

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


 ;)

Offline edi67

  • SMF Hero
  • ******
  • Posts: 1,532
  • Gender: Male
  • Italian Supporter
    • CrazyZone
Re: [MOD] Utenti Giornalieri
« Reply #19 on: September 13, 2004, 02:27:22 AM »
ero riuscito comunque grazie un mod molto interessante bravo fasan
CrazyZone - My SMF Forum


From the difficult the hardening of the man you can see