Beiträge: 1.044
Themen: 114
Registriert seit: 04.05.2006
Hallo,
ich würde das gerne so haben (siehe unten), könnte dazu wer den Code posten (aus dem alten Code - weiter oben - bekomme ich das nicht hin):
Heute waren xx Gäste online und folgende Forumsmitglieder: Nick (Uhrzeit), Nick (Uhrzeit), usw.
Das 'xx' bei Gäste soll die Anzahl sein, die die auf dem Board waren, jedoch keinen Nick haben und sich nicht einloggen können, die Zahl sollte auch Fett hervorgehoben werden.
Vielen Dank schonmal.
Sascha.
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Wie schon weiter vorne in diesem Thread geschrieben ist Ausgabe der Anzahl von Gästen alleine nicht möglich, es kann nur die Gesamtzahl erfasst werden (Besucher gesamt). Daher wird es nicht funktionieren ohne Änderungen in der Datenbank und im Code des Forums.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 1.044
Themen: 114
Registriert seit: 04.05.2006
07.09.2006, 11:40
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2006, 11:45 von SweetySchnuffel.)
Michael schrieb:Wie schon weiter vorne in diesem Thread geschrieben ist Ausgabe der Anzahl von Gästen alleine nicht möglich, es kann nur die Gesamtzahl erfasst werden (Besucher gesamt). Daher wird es nicht funktionieren ohne Änderungen in der Datenbank und im Code des Forums.
Dann eben so:
Heute waren xx Forumsmitglieder online: Nick (Zeit), usw.
Trotzdem brauch ich dann einen angepassten Code, oder nicht!?
Könnte den wer posten.
P.S. xx = die gesamtanzahl die online war. :o
Beiträge: 674
Themen: 82
Registriert seit: 06.03.2006
MyBB-Version: 1.4.10
07.09.2006, 12:15
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2006, 12:18 von Susanne.)
Ich hatte das hier immer in der index.php
PHP-Code:
$num_visitors = $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
if($num_visitors == "0")
{
$visitors_online_today = "";
}
else
{
$visitors_online_today = "In den letzten 24 Stunden hatten wir ".$num_visitors." Besucher";
}
Wenn ich es jetzt in die neue Version einsetze kommt das hier:
Zitat:MySQL error: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Query: SELECT * FROM XXX_mybb_sessions WHERE time >
Bei
PHP-Code:
$stime = time()-(60*60*24);
$query = $db->query("SELECT u.* FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) WHERE u.lastactive > $stime ORDER BY u.lastactive DESC");
$todaycomma = '';
$onlinetoday = '';
while($online = $db->fetch_array($query))
{
if($online['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes")
{
if($online['invisible'] == "yes")
{
$invisiblemark = "*";
}
else
{
$invisiblemark = "";
}
$onlinetoday .= $todaycomma.formatname($online['username'], $online['usergroup'], $online['displaygroup']).$invisiblemark;
$todaycomma = ', ';
}
}
ist es übrigens das Gleiche.
VG,
Susanne
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
07.09.2006, 14:25
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2006, 14:32 von ows.)
Sascha.L schrieb:Dann eben so:
Heute waren xx Forumsmitglieder online: Nick (Zeit), usw.[/font]
Schau´ Dir mal meine Lösung an:
forum.en-gedi.de
Könntest Du damit leben?
Als Alternative könnte auch dieses Mod (
http://mods.mybboard.com/view.php?did=331) für Dich in Frage kommen. Da wird die Anzahl der Gäste angezeigt (aber ohne die Uhrzeit bei den Mitgliedern).
Vielleicht erbarmt sich ja jemand und macht aus den beiden Lösungen eine
The User, Formerly Known As "En-Gedi"
Beiträge: 674
Themen: 82
Registriert seit: 06.03.2006
MyBB-Version: 1.4.10
Meine Fehlermeldung hat sich erledigt.
Ich habe mir diesen
Mod eingebaut.
VG,
Susanne
Beiträge: 1.044
Themen: 114
Registriert seit: 04.05.2006
en-gedi schrieb:Sascha.L schrieb:Dann eben so:
Heute waren xx Forumsmitglieder online: Nick (Zeit), usw.[/font]
Schau´ Dir mal meine Lösung an: forum.en-gedi.de
Könntest Du damit leben?
Ja, könnte ich - deine Lösung sieht gut aus; kannste mir da helfen wegen Code?
Danke dia.
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
07.09.2006, 20:26
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2006, 20:29 von ows.)
Suche in der Datei "index.php" (~ Zeile 150) nach
PHP-Code:
eval("\$whosonline = \"".$templates->get("index_whosonline")."\";");
Davor einfügen:
PHP-Code:
// START - Wer war in den letzten 24 Stunden online - Code
$stime = time()-(60*60*24);
$query = $db->query("SELECT u.* FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) WHERE u.lastactive > $stime ORDER BY u.lastactive DESC");
$todaycomma = '';
$onlinetoday = '';
while($online = $db->fetch_array($query))
{
if($online['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes")
{
if($online['invisible'] == "yes")
{
$invisiblemark = "*";
}
else
{
$invisiblemark = "";
}
$onlinetoday .= $todaycomma."<a href=\"member.php?action=profile&uid=".$online['uid']."\">".format_name($online['username'], $online['usergroup'], $online['displaygroup']).$invisiblemark."</a> (".date("H:i", $online['lastactive'])."), ";
}
}
$num_visitors = $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
if($num_visitors == "0")
{
$visitors_online_today = "";
}
else
{
$visitors_online_today = "".$num_visitors." Benutzer aktiv in den letzten 24 Stunden, davon folgende Mitglieder:";
}
// ENDE - Wer war in den letzten 24 Stunden online - Code
Dieser Code ist für Version 1.2. Bei früheren Versionen muß im Code "format_name" durch "formatname" ersetzt werden, dann funktionierts auch da.
Der Ausgabe-Text kann im Code selbst ggf. auch formatiert (z.B. fett, unterstrichen, farbig etc.) werden.
Kleines Beispiel:
PHP-Code:
$visitors_online_today = "<span style=\"font-weight:bold;\">".$num_visitors."</span> Benutzer aktiv in den letzten <span style=\"color:blue;\">24 Stunden</span>, davon folgende <span style=\"text-decoration:underline;\">Mitglieder</span>:";
Abschließend dann noch im Template "Startseite Templates --> index_whosonline" diesen Code am Ende einfügen (gültig für alle Versionen):
PHP-Code:
<tr>
<td class="trow2"><span class="smalltext">$visitors_online_today<br />$onlinetoday</span></td>
</tr>
The User, Formerly Known As "En-Gedi"
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
07.09.2006, 20:27
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2006, 20:28 von ows.)
@Susanne:
Susanne schrieb:Meine Fehlermeldung hat sich erledigt. Ich habe mir diesen Mod eingebaut.
Behalte mal bitte die Anzeigen des Mods eine Weile im Auge. Ich habe irgendwie den Eindruck, dass die Ausgabe des Mods nicht mit der "Wer war heute online"-Ausgabe des Forums übereinstimmt.
Habe die 1.2er Version vorläufig erst noch als lokalen Test installiert und kann´s daher nicht mit Gewissheit sagen.
Gib´ dann bitte hier oder PN Bescheid, ob ich mich irre.
The User, Formerly Known As "En-Gedi"
Beiträge: 674
Themen: 82
Registriert seit: 06.03.2006
MyBB-Version: 1.4.10
Ich kann dir jetzt schon sagen, dass du dich leider nicht irrst.
Klicke ich auf "Vollständige Liste" werden mir tatsächlich wesentlich mehr Leute die online waren angezeigt als es im Fuß des Boards der Fall ist.
VG,
Susanne