Gibt es meines Wissens nach nicht... allerdings sollte das sehr einfach zu programmieren sein... vor Allem dann wenn Du daraus nicht ein "Heute online" sondern ein "In den letzten 24h online" machst, ist das sehr einfach...
Neue Tabelle anlegen:
CREATE TABLE `yabbse_log_online_24`
(
`MEMBER_ID` INT (8) UNSIGNED DEFAULT '0' NOT NULL,
`timestamp` INT (11) UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY(`MEMBER_ID`), INDEX(`MEMBER_ID`)
)
dann fehlt in subs.php noch sowas wie:
function updateOnlineLog24()
{
global $ID_MEMBER,$username,$db_prefix;
if ($username != 'Guest')
{
// update records
$sqlquery = 'REPLACE LOW PRIORITY INTO '.$db_prefix.'_log_online_24 (MEMBER_ID,timestamp) VALUES ('.$ID_MEMBER.','.time().')';
$request = mysql_query($sqlquery) or database_error(__FILE__, __LINE__);
// delete obsolete stuff
$sqlquery = 'DELETE LOW PRIORITY FROM '.$db_prefix.'_log_online_24 WHERE timestamp < '.(int)(time()-86400);
$request = mysql_query($sqlquery) or database_error(__FILE__, __LINE__);
}
}
dann sucht man in index.php nach
/* ### Guest can do the very few following actions. */
if ($username == 'Guest' && $guestaccess == 0)
und fügt davor nen Aufruf der Funktion ein...
updateOnlineLog24();
einziges Problem ist dann noch eine Funktion zum Anzeigen
Hat wer Lust die zu schreiben? Die entsprechenden Infos kann man ja aus der DB ganz einfach lesen:
SELECT
*
FROM
yabbse_log_online_24 AS lo24
LEFT JOIN
yabbse_members AS mem
ON
mem.ID_MEMBER = lo24.MEMBER_ID;
ACHJA!!!! ALLES SEHR UNGETESTET!!!!!!!!