Tabelle bbx_useronline weg ? Woher die Daten nehmen ?

Ryo Hazuki
Hallo,

Nach ausgiebiger Suche über Suchen und Googlen bin ich noch immer ratlos.

Daher hätte ich gern etwas Hilfe von euch :

Wo werden im WBB 2.1.5 die Onlineuser vermerkt ?
Die Tabelle bbx_Useronline ( die hier im Forum ab und zu genannt wird) gibts ja offenbar nicht mehr ?

Jedenfalls zeigt PHPADMIN die Tabelle nicht mehr.

Sind das jetzt Cookies in Verbindung mit der Datenbank ?

Wenn ja, wie lese ich die Cookies aus (kann mir jemand die Struktur der Cockies verraten ?).

Also : Name und Inhalt in der Reihenfolge, wie sie kommen, und deren Bedeuting ??

Oder hat jemand ein Script schonmal gebaut, das die Useronline extern aus dem WBB angelt, und bereitstellt, von dem ich das lernen kann ?
Oder, einen Hack, der einigermaße gut dokumentiert ist ?

Hintergrund:
Ich würde gern Usernamen, Anzahl und so ein paar andere Kleinigkeiten auf die Homepage bringen.

Danke
xundy
hier ein kleines Script das ich geschrieben habe lade es einfach ins wbb-verzeichnis, dann kannste es per include zum beispiel in einem iframe laufen lassen!

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link href="../xundy.css" rel="stylesheet" type="text/css">
</head>
<center>
<?php

// Zeigt die User an die momentan im Forum online sind, weiter unten kann man die Anzahl derangezeigten user angeben

require("acp/lib/functions.php");
require("acp/lib/options.inc.php");

$howmanyusers=3; // Hier ändern um die Anzahl der neuesten User die angezeigt werden sollen zu ändern.

/** connect db **/
require("./acp/lib/config.inc.php");
require("./acp/lib/class_db_mysql.php");

$db = new db($sqlhost,$sqluser,$sqlpassword,$sqldb,$phpversion);

/** language packs **/
require("./acp/lib/class_language.php");
$lang = new language($wbbuserdata['languagepackid']);
$lang->load("GLOBAL,OWN"); // global, own langcat


/** OWN langvars **/
$o_master_board_name = $master_board_name;
$master_board_name = getlangvar($master_board_name, $lang);


/** Get Boardpath **/ 
$config = $db->query_first("SELECT `value` FROM bb".$n."_options WHERE varname='url2board'");
$board_path = $config['value'];

    echo "<b>Folgende User sind zur Zeit im</b> <a href=\"$board_path/index.php\" target=\"_new\">$master_board_name</a> <b>online</b> <br />";

$usercount = $db->query_first("SELECT COUNT('userid') FROM bb".$n."_sessions WHERE lastactivity >= '".(time()-60*$useronlinetimeout)."' AND userid<>0"); 
foreach ($usercount AS $count);

$useronline = $db->unbuffered_query("SELECT s.userid, username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time()-60*$useronlinetimeout)."' ORDER BY u.username ASC"); 
while($row = $db->fetch_array($useronline)) {

$username = $row['username'];
$userid = $row['userid'];


if($username=="") $username="";

else

$username = "<a href=\"$board_path/profile.php?userid=$userid\"  target=\"_blank\"\">$username</a>,&nbsp;";

echo "$username";
}

$guestcount = $db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions WHERE userid=0 AND lastactivity >= '".(time()-60*$useronlinetimeout)."' ");
foreach ($guestcount AS $guest);

if($username) echo "und";

if($guest==1) echo " 1 Gast";

elseif($guest==0 && !$username) echo "Niemand online im Moment";

else

echo " $guest Gäste";

echo "<br /><br />";

echo "Die $howmanyusers neuesten Mitglieder im Board:&nbsp;<br />";

$newuser = $db->unbuffered_query("SELECT userid, username FROM bb".$n."_users ORDER BY regdate DESC LIMIT ".$howmanyusers."");
while($row = $db->fetch_array($newuser)) {

$newest=$row['username'];
$newestid=$row['userid'];

if($newest=="") $newest=="";
else

echo "<font color=\"#9AE4F7\">";

echo "$newest,&nbsp;";

echo "</font>";

}
//  Copyright by XundY und Woltlab ;)
?>

</center>
</html>
MrMind
Da das ganze was mit dem WBB 2 zu tun hat, verschiebe ich es auch dort hin.

Zur Frage. Die useronline-Tabelle war mal ne Zeitlang dafür verantwortlich. Jetzt ist es die session-Tabelle.

Mfg
MrMind
Ryo Hazuki
Aha.. Sessions. Danke.

Das Script schau ich mir mal in Ruhe an .

Vielen Dank