Mod OnLine Users Today

Started by Aligator, January 04, 2005, 11:38:00 AM

Previous topic - Next topic

Aligator

J'ai installé le mod OnLine Users Today sur mon forum mais je le vois pas  :( peut-être est-ce un programme de langue, ya-t-il la traduction en français ?
SMF : You Can do IT

evolus

As tu bien appliqué les modifications sur le thème que tu utilises sur le forum ?

Aligator

Non, je dois faire quoi au juste ?
SMF : You Can do IT

Xtreme66

Les fichiers template à editer de tes thèmes utilisés sont :

>> BoardIndex.template.php
>> Stats.template.php


Si tu appliques le mod il faut que les autres fichiers suivants soient aussi modifiés :

>> Sources/BoardIndex.php
>> Sources/Stats.php
>> Themes/default/languages/Modifications.english.php
>> Themes/default/languages/Modifications.french.php

Et que dans ta base de donnée se trouve la table " log_activity " le champs " allOn " avec les paramétres : smallint(5) unsigned NOT NULL default '0'

Voir ci-dessous le code :


<id>
OnLineUserToday_10
</id>

<version>
1.00
</version>

<mod info>
Add a list of user's OnLine on day, and add that in the Statistic's Section
</mod info>

<author>
FaSan
</author>

<homepage>
http://www.fasan.net/smf
</homepage>


<edit file>
Sources/BoardIndex.php
</edit file>

<search>
// Load the users online right now.
</search>

<replace>
// 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']));

// Load the users online right now.
</replace>


<edit file>
Sources/Stats.php
</edit file>

<search>
MAX(mostOn) AS mostOn
</search>

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

<search>
'hits' => $row_months['hits'],
</search>

<replace>
'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, hits, allOn
</replace>

<search>
'hits' => $row_days['hits']
</search>

<replace>
'all_members_online' => $row_days['allOn'],
'hits' => $row_days['hits']
</replace>


<edit file>
Themes/default/BoardIndex.template.php
</edit file>

<search>
// If they are logged in, but SP1 style information is off... show a personal message bar.
</search>

<replace>
// "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>';

// If they are logged in, but SP1 style information is off... show a personal message bar.
</replace>


<edit file>
Themes/default/Stats.template.php
</edit file>

<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>


<edit file>
Themes/default/languages/Modifications.english.php
</edit file>

<search>
// Version: 1.0; Modifications
</search>

<replace>
// Version: 1.0; Modifications

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


<edit file>
Themes/default/languages/Modifications.french.php
</edit file>

<search>
// Version: 1.0 RC1; Modifications
</search>

<replace>
// Version: 1.0 RC1; Modifications

//OnLine Users Today
$txt['158bis'] = 'Visiteurs du jour';
$txt['smf_stats_14bis'] = 'Visiteurs du jour';
</replace>

Aligator

Ayayayayaye  :D

Je savais pas qu'il fallait faire tout ça, et j'ai pas compris puisque d'une part tu dis qu'il faut modifier 2 fichiers et d'une autre 4 fichiers supplémentaires en plus d'ajouter un long code.

J'ai déjà uploadé le mod et je l'ai déjà appliqué avec le gestionnaire de paquet, il me reste quoi à faire ?
SMF : You Can do IT

Xtreme66

En résumé tu as uploadé le mod et tu dis que l'appliqué. Alors c'est tout bon !

Donc ce que tu peux simplement faire c'est vérifié si les fichiers sus-mentionnés ont bien été modifiés. Car si tu ne les as pas chmoddé 777 avant d'appliquer le mod ils ne seront pas modifié.

Mais le système est très simple à mettre en oeuvre avec la gestion des paquets.

A+

Alexandre P.

PS: La dernière étape ne fonctionne(ra) plus.
<edit file>
Themes/default/languages/Modifications.french.php
</edit file>

<search>
// Version: 1.0 RC1; Modifications
</search>

<replace>
// Version: 1.0 RC1; Modifications

//OnLine Users Today
$txt['158bis'] = 'Visiteurs du jour';
$txt['smf_stats_14bis'] = 'Visiteurs du jour';
</replace>
L'entête dans Modifications.french.php a été changé.  Il est maintenant:// Version: 1.0; Modifications
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Aligator

Je viens de comprendre que les étapes se trouvent dans le truc que tu appele "code", ok j'ai compris mais as-tu la nouvelle version vu que c'est de SMF RC1 que tu parles.
SMF : You Can do IT

Alexandre P.

Ce code va fonctionner sans problème, il est compatible avec SMF 1.0.
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Aligator

#9
Mais fonctionne-t-il en français ? car j'ai remarqué lors de l'installation qu'il m'as mis ça à la fin :

Quote6. Appliquer la modification Themes/default/languages/Modifications.english.php Réussi
7. Appliquer la modification Themes/default/languages/Modifications.italian.php Fichier introuvable

Donc il n'a pas cherché modification.french.php.

En bref après l'installation par le géstionnaire de paquet, les fichiers ont bien été modifiés mais je ne vois toujours pas ce mod sur le forum malgré que j'ai aussi ajouté les lignes de modification.french.php, est-ce qu'il reste un code à rajouter pour faire apparaitre le mod ?
SMF : You Can do IT

Alexandre P.

Ah c'est vrai, ton forum fonctionne avec le thème Classic...
Est-ce que le mod fonctionne bien sous le thème par défaut?
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Aligator

Je viens de modifier le thème, il marche impeccable avec le thème par défaut  ;)

Comment faire pour le thème classic alors  :-\
SMF : You Can do IT

Alexandre P.

Dans /Themes/classic/BoardIndex.template.php, rechercher (~ ligne 352):
// If they are logged in, but SP1 style information is off... show a personal message bar.
Ajouter avant:// "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>';


Ça devrait fonctionner :)
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Aligator

#13
J'ai ajouté le code et ça n'a rien donné  ??? pourtant dans les stats j'ai bien 2 nouvelles colonnes "Visiteurs du jour" et "Clics"  ???
SMF : You Can do IT

Alexandre P.

Un lien vers ton forum ? (ou un screenshot du problème avec le thème Default et le thème Classic, ça fera l'affaire :) )
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Aligator

Salut après mise à jour de mon forum vers 1.0.1 le mod marche impeccable  :)
SMF : You Can do IT

Aligator

#16
Un problème vient d'apparaitre, en effet le mod sur mon forum ne fonctionne plus.

Pourtant je l'ai installé sur un 2ème forum et il marche toujours, je crois savoir que le probleme vient de l'horloge du serveur, vu que les deux forums sont sur le même serveur, et que comme j'ai un décalage avec l'horloge du serveur j'ai du changer l'horloge du 1er forum, résultat le mod ne fonctionne plus aujourd'hui sur le 1er forum, mais marche bien sur le second où j'ai rien changé.

Comment faire pour que le mod fonctionne avec l'horloge du forum et pas celle du serveur, ou bien comment faire pour remettre le mod en marche  :(

EDIT :
voilà, j'ai fait un test, j'ai changé le temps du forum pour le rendre comme celui du serveur, le mod marche bien, ensuite j'ai remis l'horloge dans l'état normal, le mod ne marche plus et m'affiche "Visiteurs du jour ( 0 Membres )"  :'( mais ensuite à chaque connexion d'un membre il est rajouté, mais bon il faut donc faire cette manipulation alors chaque matin  :o

De plus dans les stats, le nombre de visiteurs du jour d'hier a été rénitialisé : 0, ce qui veut dire qu'à chaque fois ça va se passer ainsi si je ne trouve pas une solution  :'(
SMF : You Can do IT

noaneo

Bonjour,

J'essaye d'installer ce mod mais je comprend quand on a modifié Users_Online_Today_Mod.xml après il faut recompresser et passer par le panneau de contrôle de SMF pour installer le paquet car j'ai essayé par FTP alors que j'ai déjà installé le paquet sans faire les modifications et je ne vois pas Users_Online_Today_Mod.xml sur mon ftp.
Et dans ma base de donnée,je ne vois pas dans la table smf_log_activity le champs " allOn ".
J'utilise SMF1.1.3
Merci
Noaneo

MkC


noaneo

Noaneo

Advertisement: