18.12.2007, 21:58
So, hallo zusammen ach einer ganzen Weile
Nach dem Upgrade auf die letzte Version vom MyBB ist nun auch wieder die Anzeige wer im chat ist verschwunden. Da ich eh nicht sooo zufrieden war könnte man das ja gleich richtig machen
FlashChat ist in die Datenbank von MyBB integriert so das es (denke ich) nicht allzu schwierig sein dürfte?
Mir schwebt vor das auf der Index-Seite wie wir es auch schon mit "wer war in den letzten 24Std online" anzeigen lassen.
FlashChat sieht nur eine einfache lösung vor nämlich durch einen zusätzlichen link
wo sich dann ein extra fenster öffnet. Finde ich ein wenig blöd.
Hier mal die php datei wo man die info rausziehen könnte:
Ich hatte das mal als HTML eingefügt was aber nicht wirklich gut aussieht.
Danke mal im voraus für Eure Hilfe
Gruss
coma
Nach dem Upgrade auf die letzte Version vom MyBB ist nun auch wieder die Anzeige wer im chat ist verschwunden. Da ich eh nicht sooo zufrieden war könnte man das ja gleich richtig machen
FlashChat ist in die Datenbank von MyBB integriert so das es (denke ich) nicht allzu schwierig sein dürfte?
Mir schwebt vor das auf der Index-Seite wie wir es auch schon mit "wer war in den letzten 24Std online" anzeigen lassen.
FlashChat sieht nur eine einfache lösung vor nämlich durch einen zusätzlichen link
wo sich dann ein extra fenster öffnet. Finde ich ein wenig blöd.
Hier mal die php datei wo man die info rausziehen könnte:
PHP-Code:
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
/**
If this file is not in the FlashChat root folder, then change this
path to the location of the inc/common.php file.
*/
require_once('inc/common.php');
ChatServer::purgeExpired();
/**
Retrieves the number of users who are chatting in any room.
Leave the $room parameter empty to return the number of users in all room.
*/
function numusers( $room = "" )
{
if($room) {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=?");
$rs = $stmt->process(SPY_USERID, $room);
} else {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections,{$GLOBALS['fc_config']['db']['pref']}rooms
WHERE userid IS NOT NULL AND userid <> ? AND ispublic IS NOT NULL
AND {$GLOBALS['fc_config']['db']['pref']}connections.roomid = {$GLOBALS['fc_config']['db']['pref']}rooms.id");
$rs = $stmt->process(SPY_USERID);
}
$rec = $rs->next();
return $rec?$rec['numb']:0;
}
/**
Retrieves a list of the users (by login ID) who are in $room.
Leave the $room parameter empty to return a list of all users in all rooms.
*/
function usersinroom( $room = "" )
{
$list = array();
if($room) {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=?");
$rs = $stmt->process(SPY_USERID, $room);
} else {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ?");
$rs = $stmt->process(SPY_USERID);
}
while($rec = $rs->next())
{
$usr = ChatServer::getUser($rec['userid']);
if($usr == null && $GLOBALS['fc_config']['enableBots']) $usr = $GLOBALS['fc_config']['bot']->getUser($rec['userid']);
$list[] = array_merge($usr, $rec);
}
return $list;
}
/**
Retrieves a list of all available rooms, as an array.
*/
function roomlist()
{
$list = array();
// populate $list with the names of all available rooms
$stmt = new Statement("SELECT * FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispublic IS NOT NULL order by ispermanent");
$rs = $stmt->process();
while($rec = $rs->next()) $list[] = $rec;
//result will be an array of arrays like ('id' => <room id>, 'updated' = <timestamp>, 'created' => <timestamp>, 'name' => <room name>, 'ispublic' => <public flag>, 'ispermanent' => <autoclose flag>)
return $list;
}
$rooms = roomlist();
$roomnumb = sizeof($rooms);
$usernumb = numusers();
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
</head>
<body>
<center>
<p class=normal><strong>Derzeit sind <?php echo numusers()?> Mitglieder im Chat.</strong></p>
<table width="367" border="1" cellpadding="1" bordercolor="#000000" bgcolor="#add8e6" class="normal">
<tr>
<th width="38">ID</th>
<th width="210">Name</th>
<th width="38">Count</th>
<th width="90">Users</th>
</tr>
<?php foreach($rooms as $room) { ?>
<tr>
<td height="56"><?php echo $room['id']?></td>
<td><strong><?php echo strip_tags($room['name'])?></strong></td>
<td><strong><?php echo numusers($room['id'])?></strong></td>
<td><strong>
<?php
$users = usersinroom($room['id']);
foreach( $users as $user )
{
echo strip_tags($user['login']) . "<br>";
}
?>
</strong> </td>
</tr>
<?php } ?>
</table>
<p> </p>
</center>
</body>
</html>
Ich hatte das mal als HTML eingefügt was aber nicht wirklich gut aussieht.
Danke mal im voraus für Eure Hilfe
Gruss
coma