Ich habe jetzt in der constants.php das hinzugefügt:
dann eine neue phpBB Seite erstellt (chatonline.php) mit den Angaben im Kopf:
Code: Alles auswählen
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_CHATONLINE);
init_userprefs($userdata);
//
// End session management
//
In der .tpl vom Chat habe ich das hinzugefügt:
Code: Alles auswählen
<iframe height="1" width="1" src="chatonline.php" scrolling="no"></iframe>
erstellt habe ich noch eine chat_header.tpl wo der befehl zum neuladen enthalten ist:
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="{S_CONTENT_DIRECTION}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="refresh" content="60;URL=chatonline.php">
</head>
<body>
Jetzt lädt er im Chat immer wieder die chatonline.php nach. Damit erhält die Session den Pageeintrag "-13".
EDIT:
Ok die Anzahl der Leute die Online sind, kann ich nun so auslesen, in dem ich diesen Code in einer neuen Seite hinzufüge. (meine Startseite in diesem Fall). Der Wert "- 300" ist in Sekunden, also zeigt er nur die an, die in den letzten 5 Minuten im Chat waren. Ich teste das mal, vielleicht ist es sogar besser, dass zu verkürzen)
Code: Alles auswählen
// Chat Online
$sql = "SELECT session_user_id FROM phpbb_sessions WHERE session_time >= ".( time() - 300 ) . " AND session_page = -13";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't get chatonline data", "", __LINE__, __FILE__, $sql);
}
$affectedrows = mysql_affected_rows();
$chatonline = empty($affectedrows) ? '' : $affectedrows . ' Chat-User online';
// End Mod
dann die variable in der gleichen Datei ans Template senden:
Code: Alles auswählen
// send to template
$template->assign_vars(array(
'CHATONLINE' => $chatonline,
...
...
...
Im entsprechenden Template dann noch an der richtigen Stelle hinzugefügt:
Und das ganze sieht man jetzt auf meiner Startseite:
www.maxrev.de unter dem Chatlogo.
Wenn keiner den Chat aufgemacht hat, dann kommt auch keine Meldung an der Stelle.
Vielleicht hier mal einen Screenshot:
[ externes Bild ]
So gut? Oder was meint ihr
