Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
EDIT solution proposé par Wan : http://fluxbb.fr/forums/viewtopic.php?p … 53#p106853
J'ai remarqué un petit bug d'affichage que je traine depuis un bon petit moment :
Ce bug ne s'affiche que quand il n'y a aucun membre de connecté.
Quand personne n'est connecté le En ligne aujourd’hui s'affiche dans la ligné du dernier utilisateur inscrit.
J'ai refait les manip d’installation du mod. Aucun changement. 
Avez-vous une idée ?
Voici la partie de l'index concerné :
if ($pun_config['o_users_online'] == '1')
{
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
{
if ($pun_user['g_view_users'] == '1')
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
else
$users[] = "\n\t\t\t\t".'<dd>'.pun_htmlspecialchars($pun_user_online['ident']);
}
else
++$num_guests;
}
$num_users = count($users);
// utilisateurs en ligne aujourd'hui
$todaystamp = strtotime(date('Y-m-d'));
$result = $db->query('SELECT username, id, last_visit from '.$db->prefix.'users WHERE last_visit >= \''.$todaystamp.'\' ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());
$users_today = array();
while ($pun_user_online_today = $db->fetch_assoc($result))
$users_today[] .= "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Dernière visite de '.pun_htmlspecialchars($pun_user_online_today['username']).' : '.format_time($pun_user_online_today['last_visit']).'">'.pun_htmlspecialchars($pun_user_online_today['username']).'</a>';
$num_users_today = count($users_today);
echo "\t\t\t\t".'<dd><span>'.sprintf($lang_index['Users online'], '<strong>'.forum_number_format($num_users).'</strong>').'</span></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd><span>'.sprintf($lang_index['Guests online'], '<strong>'.forum_number_format($num_guests).'</strong>').'</span></dd>'."\n\t\t\t".'</dl>'."\n".'';
if ($num_users > 0)
echo "\t\t\t".'<dl id="onlinelist" class="clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].' </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
// liste utilisateurs en ligne aujourd'hui
echo "\t\t\t".'<dl id="onlinetodaylist">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>';
if ($num_users_today > 0)
echo implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo '<dd><em>'.$lang_index['None'].'</em></dd>'."\n\t\t\t".'</dl>'."\n";
}
else
echo "\t\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
</div>
</div>
</div>
<?php
$footer_style = 'index';
require PUN_ROOT.'footer.php';Je pense qu'il faut que je fasse un truc avec le else tout en bas mais malgré mes tentative rien ne bouge. 
Dernière modification par a-snowboard (03-05-2012 13:36:01)
Hors ligne
Bon finalement j'ai réussi à résoudre mon souci :
Dans index.php
Chercher :
echo "\t\t\t\t".'<dd><span>'.sprintf($lang_index['Users online'], '<strong>'.forum_number_format($num_users).'</strong>').'</span></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd><span>'.sprintf($lang_index['Guests online'], '<strong>'.forum_number_format($num_guests).'</strong>').'</span></dd>'."\n\t\t\t".'</dl>'."\n".'';Ajouter après
?>
</div>
</div>
</div>
<?php
?>
<div id="brdstats" class="block">
<h2><span><?php echo $lang_index['Board info'] ?></span></h2>
<?phpTout en bas chercher
?>
</div>
</div>
</div>
<?phpremplacer par :
?>
</div>
<?phpEnsuite allez sur air.css (ou autre thème par défaut)
ligne 343, chercher :
#brdstats #onlinelist {
border-top-style: dotted;
border-top-width: 1px;
clear: both;
}remplacer par :
/*
#brdstats #onlinelist {
border-top-style: dotted;
border-top-width: 1px;
clear: both;
}
*/Et affaire réglé en ce qui me concerne ! 
Hors ligne
Autre solution qui évite de toucher à la feuille de style (ce qui peut engendrer d'éventuelles erreurs d'affichage sur d'autres pages) :
if ($pun_config['o_users_online'] == '1')
{
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
{
if ($pun_user['g_view_users'] == '1')
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
else
$users[] = "\n\t\t\t\t".'<dd>'.pun_htmlspecialchars($pun_user_online['ident']);
}
else
++$num_guests;
}
$num_users = count($users);
// utilisateurs en ligne aujourd'hui
$todaystamp = strtotime(date('Y-m-d'));
$result = $db->query('SELECT username, id, last_visit from '.$db->prefix.'users WHERE last_visit >= \''.$todaystamp.'\' ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());
$users_today = array();
while ($pun_user_online_today = $db->fetch_assoc($result))
$users_today[] .= "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Dernière visite de '.pun_htmlspecialchars($pun_user_online_today['username']).' : '.format_time($pun_user_online_today['last_visit']).'">'.pun_htmlspecialchars($pun_user_online_today['username']).'</a>';
$num_users_today = count($users_today);
echo "\t\t\t\t".'<dd><span>'.sprintf($lang_index['Users online'], '<strong>'.forum_number_format($num_users).'</strong>').'</span></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd><span>'.sprintf($lang_index['Guests online'], '<strong>'.forum_number_format($num_guests).'</strong>').'</span></dd>'."\n\t\t\t".'</dl>'."\n".'';
if ($num_users > 0)
{
echo "\t\t\t".'<dl id="onlinelist" class="clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].' </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>';
if ($num_users_today > 0)
echo '<br />'."\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users_today).'</dd>';
echo "\n\t\t\t".'</dl>'."\n";
}
else
{
if ($num_users_today > 0)
echo "\t\t\t".'<dl id="onlinelist" class="clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
}
}Dernière modification par Wan (28-04-2012 11:28:09)
Hors ligne
Merci wan.
En plis ça fait exactement ce que je souhaitais ! Et c'est plus propre ! 
Pour le CSS c'est le risque que j'ai pris. Et pourtant j'ai cherché avant d'aller trifouiller le CSS ! 
Problème réglé, je met le 1er post à jour.
Hors ligne
Merci wan.
You're welcome ! 
Du coup je vais signaler ça sur le topic de cette mod, ou en tout cas sur son adaptation pour les versions 1.4.x. 
Hors ligne
Je t'en prie ! 
Hors ligne
Au fait Wan, le nombre d'utilisateur en ligne aujourd'hui n'apparais plus.
Je n'en parle que maintenant car ce n’était pas ma priorité.
Est-ce que ça peut être lié a une table manquante ? Car sur mon forum de test il apparait. 
Il doit y avoir un truc manquant dans le code tu tu as proposé.
En effet sur mon forum de test, sur la page index.php avec le nouveau code la ligne n'apparait pas.
Tandis que sur forum.php avec l'ancienne version du code, la ligne apparait (mais avec le problème cité en tout début de topic)
Dernière modification par a-snowboard (27-04-2012 13:52:23)
Hors ligne
Au fait Wan, le nombre d'utilisateur en ligne aujourd'hui n'apparais plus.
Je n'en parle que maintenant car ce n’était pas ma priorité.
Est-ce que ça peut être lié a une table manquante ? Car sur mon forum de test il apparait.
Je suis perdu.
Moi je le vois apparaître en tant qu'invité...
Hors ligne
a bon ?
on parle bien de : Membres aujourd'hui : 17 (exemple de fluxbb)
ligne qui récapitule le nombre de membre connecté aujourd'hui.
Je ne le vois pas. 
Pourtant je te crois, pour ça il n'y a pas de souci. 
Hors ligne
Voilà ce que je vois en tant qu'invité :
Hors ligne
Pareil pour moi
Mais il manque la ligne : Membres aujourd'hui : 17
On peut la voir sur fluxbb ici : http://fluxbb.fr/forums/index.php
Hors ligne
O.k., j'avais mal compris : ce n'est pas la liste qui n'apparaît pas, mais le nombre d'utilisateurs du jour.
Trouve :
echo "\t\t\t\t".'<dd><span>'.sprintf($lang_index['Users online'], '<strong>'.forum_number_format($num_users).'</strong>').'</span></dd>'."\n\t\t\t\t".'<dd><span>'.sprintf($lang_index['Guests online'], '<strong>'.forum_number_format($num_guests).'</strong>').'</span></dd>'."\n\t\t\t".'</dl>'."\n";et remplace par :
echo "\t\t\t\t".'<dd><span>'.sprintf($lang_index['Users online'], '<strong>'.forum_number_format($num_users).'</strong>').'</span></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd><span>'.sprintf($lang_index['Guests online'], '<strong>'.forum_number_format($num_guests).'</strong>').'</span></dd>'."\n\t\t\t".'</dl>'."\n".'';(je vais corriger dans le message ad-hoc de la mod).
Hors ligne
Parfait,
tu devrais peut être éditer la solution que tu m'avais proposé plus haut ?
Merci Wan ! 
Hors ligne
tu devrais peut être éditer la solution que tu m'avais proposé plus haut ?
C'est fait ! 
Hors ligne