Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
remets les #onlinelist dans ton fichier
Bouh !
StarShip Renaissance
Hors ligne
en gros le code à mettre ressemblerait à quoi stp ? Je suis perdu dans la modif à faire 
Hors ligne
#onlinelist DD, #onlinelist DT, #onlinetodaylist DD, #onlinetodaylist DT, #brdmenu LI, DIV.linkst LI, DIV.linksb LI, DIV.postlinksb LI,
DIV.postfootright LI, UL.bblinks LI {
DISPLAY: inline;
HEIGHT: 0
}Voilà 
Bouh !
StarShip Renaissance
Hors ligne
merci beaucoup , c'est parfait 
Hors ligne
Mod installée aujourd'hui sur un FluxBB 1.2.20
Ça fonctionne très bien 
Merci
Hors ligne
Bonjour
Au bout de 2 semaines d'utilisation, je constate qu'il y a parfois un bug qui apparaît chez moi : un membre se connecte/déconnecte, mais son pseudo n'est pas ajouté dans la liste des "membres en ligne aujourd'hui".
Si je comprends bien, cette mod fait le tri en comparant le strtotime() du jour, à la valeur last_visit de chaque membre.
En fait, ça fonctionne bien, mais après vérification dans la base de donnée, j'ai constaté que c'est la valeur last_visit qui parfois n'est pas bonne.
Exemple : aujourd'hui (1220047200) un membre se connecte, puis poste un message (1220079074) puis se déconnecte. Son pseudo n'est pas ajouté à la liste des "membres en ligne aujourd'hui". Je vérifie sa valeur de last_visit et je constate qu'elle vaut 1214259162.
Donc ce n'est pas la mod qui est en cause, mais apparemment last_visit qui serait géré bizarrement. D'ailleurs, quelques temps plus tard, je revérifie le last_visit de ce membre (qui ne s'est pas reconnecté depuis sa dernière visite), et elle vaut maintenant 1220079075, soit 1 seconde après son dernier message.
Quelqu'un saurait comment est géré last_visit ??
Hors ligne
Bonjour,
comment faut-il faire pour que des pseudos colorés apparaissent dans la liste des membres qui se sont connectés ?
j'ai installé le mod pour colorer les groupes, mais dans la liste des membres qui se sont connectés aujourd'hui ils n'apparaissent pas en couleur (contrairement à ce forum)
merci
Bonsoir, je suis dans le même cas.
Apparement la réponse à été donné sur le Forum mais je ne trouve pas! (la fonction recherche n'est pas toujours très compréhensible
)
Si quelqu'un peut m'indiquer la petite ligne à changer ? J'imagine..
Merci
Hors ligne
Petit UP ?!
Merci
Hors ligne
Il n'y a pas de pbms particulier avec cette mod, c'est d'ailleurs celle qui est en fonction ici même.
Vérifier éventuellement que les bonnes couleurs soient bien enregistrées dans la table groups.
Hors ligne
Il n'y a pas de pbms particulier avec cette mod, c'est d'ailleurs celle qui est en fonction ici même.
Vérifier éventuellement que les bonnes couleurs soient bien enregistrées dans la table groups.
Non moi non plus je ne pense pas qu'il y est un problème particulier avec cette mod.
Il faudrait juste comment faire pour associer la mod "Colored_Usergroups" et la mod "Membres en Ligne Aujourd'hui" ...
Voilà, je crois que ca doit venir là le problème, et je n'ai aucune idée de comment faire pour y remédier. Bien que ce doit être possible, car sur ce même forum, cela fonctionne.
Hors ligne
Il faudrait juste comment faire pour associer la mod "Colored_Usergroups" et la mod "Membres en Ligne Aujourd'hui" ...
Ah.. d'accord.
Je regarderai ce soir comment c'est fait ici (et j'en profiterai pour corriger le petit bug
), et je publierai ensuite la solution.
Hors ligne
Comme promis, voici le code complet de l'affichage des membres avec association des mods "Coloured Usergroups" et "Membres en ligne aujourd'hui" (avec une légère correction pour éviter les spans vides) :
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, color 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_online['color'] != '')
$name_user = '<span style="color: '.$pun_user_online['color'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</span>';
else
$name_user = pun_htmlspecialchars($pun_user_online['ident']);
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.$name_user.'</a>';
}
else
++$num_guests;
}
$num_users = count($users);
// Utilisateurs en ligne aujourd'hui (avec modif coloured_groups)
$todaystamp = strtotime(date('Y-m-d'));
$result = $db->query('SELECT username, u.id, last_visit, g.g_color AS color from '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id 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))
{
if ($pun_user_online_today['color'] != '')
$name_user = '<span style="color: '.$pun_user_online_today['color'].'">'.pun_htmlspecialchars($pun_user_online_today['username']).'</span>';
else
$name_user = pun_htmlspecialchars($pun_user_online_today['username']);
$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']).'">'.$name_user.'</a>';
}
$num_users_today = count($users_today);
echo "\t\t\t\t".'<dd>'. $lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></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".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";Hors ligne
Merci Beaucoup ! Ca marche impec.
Sauf que je comprends pas pourquoi je n'arrive pas a mettre les pseudo en gras.
Pourtant il y a bien les balises Strong...
Voilà mon code : (edit : supprimé cause identique au code ci-dessus)
Hors ligne
Euh... quels pseudos ?
Tous ?
Uniquement ceux en ligne aujourd'hui ?
(j'ai édité le message précédent, il n'y avait AUCUNE différence avec le code précédent, sauf un ' ')
Hors ligne
Et bien, avant les pseudos des membres qui sont actuellement en Ligne était en Gras, et avec ton code, ils ne le sont plus. (pareil avec les membres connecter aujourd'hui)...
Je suis pas très doué, mais pourtant dans le code, il y a bien la balise Strong au bon endroit ? Donc je ne comprends pas pourquoi ca ne fonctionne pas... J'ai surement dû louper quelque chose non ?
Hors ligne
Je suis pas très doué, mais pourtant dans le code, il y a bien la balise Strong au bon endroit ?
Non, elle n'y est pas par défaut..
Remplacer
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.$name_user.'</a>';par
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><strong>'.$name_user.'</strong></a>';Hors ligne
Merci ca marche impec.
Une derrniere chose pour la liste des membres aujourd'hui :
Comment insérer les balises strong ici :
echo implode(',</dd>', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";(pour le $users_today)
Hors ligne
C'est avant qu'il faut ajouter ce morceau de code. Tu peut toujours faire :
echo implode('</strong>,</dd><strong>', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";Mais ce n'est pas correcte (Soucis d'ouverture et de fermeture). Donc il faut que tu nous donne le code d'avant. 
M@x.
...
Hors ligne
Ah, voilà le code.
// 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><strong>', $users_today).'</strong></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".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>Hors ligne
Dans ce cas tu peut mettre :
echo '<strong>'.implode('</strong>,</dd><strong>', $users_today).'</strong></dd>'."\n\t\t\t".'</dl>'."\n";M@x.
...
Hors ligne
@M@x : solution "bateau" et peu élégante... (mais qui fonctionne)
@Xblade : je préfère la même solution que pour "$users[]". Il suffit de faire la même modification sur la ligne "$users_today[]" (mettre les balises strong sur $name_user).
Note : on pourrait également ne pas mettre de balises strong, ni pour users, ni pour users_today, et rajouter une règle css
dl.onlinelist dd, dl.onlinetoday dd {
font-weight: bold;
}ce serait encore mieux...
Hors ligne
@M@x : solution "bateau" et peu élégante... (mais qui fonctionne)
Précisé dans le message 123. En effet a présent le CSS semble mieux approprié sauf si il ne souhaite pas mettre la virgule en gras
(Dans ce cas, il suffit de modifier légèrement le morceau de code que tu a passé. "dl.onlinelist dd a, dl.onlinetoday dd a")
M@x.
...
Hors ligne
Bonjours, j'ai un forum punbb que vais bientot lancer ( adresse : http://www.communauteduweb.fr.nf/index.php )
et j'ai un gros problème assez génant, j'ai installé le mod "membre en ligne aujourd'hui" (et aussi "color of group") et quand je me connecte avec un compte (par exemple le compte "test") celui ci n'apparait pas dans la liste "membre connecté depuis minuit" (j'ai modifié la phrase, a l'origine c'est "membre connecté aujourd'hui) alors je me suis dit, peux être qu'il faut juste ce deconnecter puis ce reconnecter pour que ça prenne le changement en compte et bien nan, j'ai beau me déconnecter, vider tous le cache, cookies... le pseudo ne veux pas apparaître dans la liste des membres en ligne aujourd'hui, pour qu'il apparaisse il faut attendre un bon moment, alors cela ne veux plus rien dire au niveau statistique.
j'aimerai donc savoir comment faire pour que quand un membre ce connecte, celui ci est ajouté aussi dans "membre en ligne aujourd"hui" directement
Voici le contenu de mon fichier "/index.php" (a lancer sous firefox) :
http://www.communauteduweb.fr.nf/sos/index.txt
Pourriez vous me dire les lignes a modifier ?
Sinon si voulez que je vous mette le contenu d'un autre fichier car ce n'est pas index.php a modifier, dites le moi et je vous le met ou dites moi directement les lignes a modifier.
Un grand merci a celui qui pourra me trouver la solution;
Dernière modification par fluxator (23-10-2008 22:55:22)
Hors ligne
@fluxator : le index.php m'a l'air bien.. (vérification visuelle rapide).
Le "pour qu'il apparaisse il faut attendre un bon moment" me paraît plutôt révélateur d'un fonctionnement "normal" mais apparaissant "anormal" parce qu'il ne correspond pas à ce que l'on attend. La gestion de la table online peut être affectée par de nombreux paramètres : réglage du temps d'inactivité dans le panneau Options, nombres de visiteurs simultannés et traitement de ceux-ci par l'hébergeur, etc...
Il n'est donc dans certains cas pas anormal que cela prenne un "certain temps" avant qu'un utilisateur soit "vu online".
Hors ligne