Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Bon voila aprés de nombreuses recherches pour savoir comment afficher la liste des personnes connectées sur la chatbox, j'ai trouver ce code (issu de punonline) à ajouter dans chatbox.php :
<div class="blocktable">
<h2><span>Les connectés sur le Chat</span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<th scope="col"><?php echo $lang_common['Username'] ?></th>
<th scope="col">Heure</th>
<?if($pun_user['g_id'] <= PUN_MOD):?> <th class="tcr" scope="col">IP</th><?echo"\n";endif?>
</thead>
<tbody>
<?php
// Grab the users
$result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE user_id > 0 AND idle=0 AND current_page = "chatbox.php" ORDER BY ident') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
$num_users_page = $db->num_rows($result);
if ($num_users_page) {
while ($num_users_page--) {
$user_data = $db->fetch_assoc($result);
if ($user_data['current_page']) {
echo"\t\t\t\t".'<tr>'."\n";
if ($user_data['user_id'] > 1)
echo "\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'pms_send.php?uid='.$user_data['user_id'].'">'.$user_data['ident'].'</a></td>'."\n";
else
echo "\t\t\t\t\t".'<td>Invité</td>'."\n";
$pathinfo = pathinfo($user_data['current_page']);
$current_page = $pathinfo['basename'];
echo"\t\t\t\t\t".'<td>'.format_time($user_data['logged']).'</td>'."\n";
if ($pun_user['g_id'] <= PUN_MOD) echo"\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'admin_users.php?show_users='.$user_data['current_ip'].'">'.$user_data['current_ip'].'</a></td>'."\n";
echo"\t\t\t\t".'</tr>'."\n";
} } }
else { echo "\t\t\t\t".'<tr><td colspan="3">Aucun connecté sur le Chat</td>'."\n\t\t\t\t".'</tr>'."\n"; }
?>
</tbody>
</table>
</div>
</div>
</divPourtant ça ne fonctionne pas.
Le bloc s'affiche mais les gens ne sont pas détectés.
aprés quelque heures je suis arrivé à ce résultat :
<div class="blocktable">
<h2><span>Les connectés sur le Chat</span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<th scope="col"><?php echo $lang_common['Username'] ?></th>
<th scope="col">Heure</th>
</thead>
<tbody>
<?php
// Grab the users
$current_page = '/chatbox.php';
$result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE user_id > 0 AND idle=0 AND current_page = "'.$current_page.'" ORDER BY ident') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
$num_users_page = $db->num_rows($result);
if ($num_users_page) {
while ($num_users_page--) {
$user_data = $db->fetch_assoc($result);
if ($user_data['current_page']) {
echo"\t\t\t\t".'<tr>'."\n";
if ($user_data['user_id'] > 1)
echo "\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'pms_send.php?uid='.$user_data['user_id'].'">'.$user_data['ident'].'</a></td>'."\n";
else
echo "\t\t\t\t\t".'<td>Invité</td>'."\n";
echo"\t\t\t\t\t".'<td>'.format_time($user_data['logged']).'</td>'."\n";
if ($pun_user['g_id'] <= PUN_MOD) echo"\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'admin_users.php?show_users='.$user_data['current_ip'].'">'.$user_data['current_ip'].'</a></td>'."\n";
echo"\t\t\t\t".'</tr>'."\n";
} } }
else { echo "\t\t\t\t".'<tr><td colspan="3">Aucun connecté sur le Chat</td>'."\n\t\t\t\t".'</tr>'."\n"; }
?>
</tbody>
</table>
</div>
</div>
</div>Ici ça m'affiche les connectés de la page (aprés un petit appui sur F5, pas avant)
Et lorsque un membre quitte la page, il reste tout de même affiché (même aprés F5)
Je penses que le code de nico-somb (cidessu) fonctionne car sa chatbox est implantée sur son index alors que de mon coté j'ai fait un lien en target= "_blank" dans mes options admin
Quelqu'un peut m'éclairer?
Ps: j'ai bien installé punonline avant
Merci 
Dernière modification par jamsbomb (26-07-2007 20:59:30)
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
la question a déjà été posée dans la discussion de la mod (par olivier...) mais sans réponse
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
J'ai aussi cherché pour intégrer la liste sur la même page que la chatbox, et en effet, elle ne se met pas à jour. Pourtant, c'est très simple ce qu'il faut faire. Il faut intégrer ce code au même endroit que se fait la routine pour le rafraîchissement de la page toutes les x secondes.
En gros, il faudrait insérer le code de façon à ce que la page rafraîchisse les messages, et en même temps la liste des connectés. Sauf que je ne sais pas comment faire.
Hors ligne
personne pour un raffraichissement des utilisateur?! 
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
je viens d'avoir une idée 'qui ne fonctionne pas' mais qui peut peu être s'améliorer!!
Voila :
on crée un fichier genre onlinechatbox.php dans lequel on place le code vu plus haut.
Ensuite on place
<?php include('onlinechatbox.php'); ?>dans chatbox.php (à l'endroit ou l'on veut que la case s'affiche)
et enfin on crée un fichier meta.php dans lequel onplace ses balises meta (bien pour le référencement) avec un
<?php
//fichier qui contient vos meta-tags et tout ce qui doit venir dans la partie HEAD de vos pages
include("meta.php");
?>dans le header et on rajoute au fichier meta.php la ligne suivante:
<META HTTP-EQUIV="refresh" CONTENT="10;URL=http://votresite/onlinechatbox.php">ce qui devrait en théorie raffraichir systématiquement la page online chatbox.php et don afficher le bon nombre d'utilisateurs sur chatbox.php!!!!
Je sais pas si j'ai été clair...
mais ça me sort (au moment du raffraichissement) une erreur
Fatal error: Call to a member function on a non-object in /mnt/160/sda/1/0/willyoumarryme/chatboxusersonline.php on line 15Quelqu'un a une idée?
Dernière modification par jamsbomb (27-07-2007 19:47:19)
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
J'ai réalisé la modification sur mon forum, je la publierai dès que possible. 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
ok c'est cool!
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
salut romain, tu peux mettre ce que tu as apporté en ligne?
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
Remplacer :
[c]require PUN_ROOT.'lang/'.$pun_user['language'].'/chatbox.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';[/c]
Par :
[c]// Load the chatbox.php, post.php, and online.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/chatbox.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/online.php';[/c]
Puis, avant :
<div class="block">
<h2>
<span>
<span class="conr"><img style="display:none;" id="loading" name="loading" src="img/chatbox/loading.gif" alt="Loading" /></span><?php echo $lang_chatbox['Chatbox']."\n" ?>
</span>
</h2>Ajouter :
<div class="blocktable">
<h2><span><?php echo $lang_online['Online List'] ?></span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<th scope="col"><?php echo $lang_common['Username'] ?></th>
<th scope="col"><?php echo $lang_online['Time'] ?></th>
<?php if($pun_user['g_id'] <= PUN_MOD) : ?> <th class="tcr" scope="col"><?php echo $lang_online['IP'] ?></th><?php echo "\n"; endif ?>
</thead>
<tbody>
<?php
// Grab the users
$result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE user_id > 0 AND idle=0 AND current_page = "/chatbox.php" ORDER BY ident') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
$num_users_page = $db->num_rows($result);
if ($num_users_page) {
while ($num_users_page--) {
$user_data = $db->fetch_assoc($result);
$colorspan_online = (!empty($user_data['color'])) ? '<span style="color:'.$user_data['color'].'; font-weight:bold">' : '';
$colorspan_online2 = (!empty($user_data['color'])) ? '</span>' : '';
if ($user_data['current_page']) {
echo"\t\t\t\t".'<tr>'."\n";
if ($user_data['user_id'] > 1)
echo "\t\t\t\t\t".'<td><a href="profile.php?id='.$user_data['user_id'].'">'.pun_htmlspecialchars($user_data['ident']).'</a></td>'."\n";
else
echo "\t\t\t\t\t".'<td>'.$lang_common['Guest'].'</td>'."\n";
$pathinfo = pathinfo($user_data['current_page']);
$current_page = $pathinfo['basename'];
echo "\t\t\t\t\t".'<td>'.format_time($user_data['logged']).'</td>'."\n";
if ($pun_user['g_id'] <= PUN_MOD) echo "\t\t\t\t\t".'<td><a href="admin_users.php?show_users='.$user_data['current_ip'].'">'.$user_data['current_ip'].'</a></td>'."\n";
echo "\t\t\t\t".'</tr>'."\n";
} } }
else { echo "\t\t\t\t".'<tr><td colspan="3">'.$lang_online['No users'].'</td>'."\n\t\t".'</tr>'."\n"; }
?>
</tbody>
</table>
</div>
</div>
</div>
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
ok merci!
la je teste la chatbox sans base de donée
j'ai l'impression que les messages ne s'affichent pas toujours au bon momen!!
merci de ton aide ça marche
@+
Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
Bon, je viens de trouver une solution au top!
dans chatbox.php placer ce script ou vous voulez que les connectés soient affichés :
<div class="blocktable">
<h2><span>Les connectés sur le Chat</span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<th scope="col"><?php echo $lang_common['Username'] ?></th>
<th scope="col">Heure</th>
</thead>
<tbody>
<?php
// Grab the users
$current_page = '/chatbox.php';
$result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE user_id > 0 AND idle=0 AND current_page = "'.$current_page.'" ORDER BY ident') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
$num_users_page = $db->num_rows($result);
if ($num_users_page) {
while ($num_users_page--) {
$user_data = $db->fetch_assoc($result);
if ($user_data['current_page']) {
echo"\t\t\t\t".'<tr>'."\n";
if ($user_data['user_id'] > 1)
echo "\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'pms_send.php?uid='.$user_data['user_id'].'">'.$user_data['ident'].'</a></td>'."\n";
else
echo "\t\t\t\t\t".'<td>Invité</td>'."\n";
echo"\t\t\t\t\t".'<td>'.format_time($user_data['logged']).'</td>'."\n";
if ($pun_user['g_id'] <= PUN_MOD) echo"\t\t\t\t\t".'<td><a href="'.PUN_ROOT.'admin_users.php?show_users='.$user_data['current_ip'].'">'.$user_data['current_ip'].'</a></td>'."\n";
echo"\t\t\t\t".'</tr>'."\n";
} } }
else { echo "\t\t\t\t".'<tr><td colspan="3">Aucun connecté sur le Chat</td>'."\n\t\t\t\t".'</tr>'."\n"; }
?>
</tbody>
</table>
</div>
</div>
</div>Ensuite trouver
<script language="javascript">
<!--
// This checkbox is utterly useless, unless we have javascript enabled. As such, we won't display it until then.
document.write('<span class="conr" style="width:150px;" ><?php echo $lang_chatbox['Autoscroll'] ?>: <input type="checkbox" id="autoscroll" value="" checked tabindex="<?php echo $cur_index++ ?>" /></span>');
// -->
</script>ajouter après
<script type="text/javascript">
<!--
function refreshRoom()
{
window.location="<?php echo $pun_root.'chatbox.php' ?>";
}
// -->
</script>trouver
<form style="display: inline" id="post" method="post" name="formulaire" action="chatbox.php" onsubmit="send_message(); return false;">et aprés
onsubmit="send_message();ajouter
onsubmit="refreshRoom();ducoup à chaque fois que vous envoyez un msg, la page de la chatbox se raffraichit et affiche les derniers connectés

Y'en a qui naissent moins bons qu'les autres mais c'est normal,on est pas tous apparus dans l'même salon,tous les lépreux les p'tits nimbus et les couillons et les élus de la nation du capital » - Les Têtes Raides
Hors ligne
Sympa, je vais tester ta solution et regarder si je peux améliorer quelques petites choses. 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
bonjour moi tout d'abord je vous remerci pour tout le taff que vous faite
mon petit probléme sur cette mods c'est que je ne trouve pas cette ligne
<form style="display: inline" id="post" method="post" name="formulaire" action="chatbox.php" onsubmit="send_message(); return false;">merci d'avance
Hors ligne
bonjour moi tout d'abord je vous remerci pour tout le taff que vous faite
mon petit probléme sur cette mods c'est que je ne trouve pas cette ligne
<form style="display: inline" id="post" method="post" name="formulaire" action="chatbox.php" onsubmit="send_message(); return false;">merci d'avance
J'ai la même chose. Voilà le bon code :
<form id="post" method="post" name="formulaire" action="chatbox.php" onsubmit="send_message(); return false;">Hors ligne
Par contre, j'ai un message d'erreur quand je veux acceder a la page de ma chatbox :
An error was encountered
Error: Unable to fetch online list.
EDIT : J'ai pris celui de romain9441. Je voudrais juste une chose : Y pourrait-on enlever l'adresse IP dans le tableau et mettre a la place un top 10 Chat Box Post ?
En sachant que j'utilise la mod ChatBox de Pokemon_JOJO
Merci
Loïc
Dernière modification par Ado-live (04-07-2008 15:43:45)
Hors ligne
Pages : 1