Seite 1 von 2
Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 07.08.2011, 07:13
von Brause-Junior
Hallo.
Ich erstelle mir gerade eine Onlineliste und stoße auf ein Problem:
Die abfrage einzelner Nick nach Onlinestatus.
Beispiel:
Gäste (Hier stehen alle Gäste untereinander)
Gast 1
Gast 2
Gast 3
Mitglieder (Hier stehen alle Mitglieder untereinander)
Registriertert User 1
Registriertert User 2
Registriertert User 3
Team (Hier stehen alle Mods und Admins untereinander)
Moderator 1
Moderator 2
Admin 1
Admin 2
Kann mir jemand Helfen?
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 07.08.2011, 09:11
von hamigra
Es geht nu mal nicht schneller, da nicht alle Scripter gleichzeitig für dich arbeiten.
Dieser Thread ist überflüssig weil du schon mehrmals danach gefragt hast und sich auch jemand kümmern wollte
siehe hier...
http://www.webkicks.de/forum/individuel ... 22873.html
Also - üb dich in Geduld

Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 07.08.2011, 13:52
von Brause-Junior
Das sind zwei verschiedene Sachen!
In deinem geposteten Link geht es um die Onlineliste im Chat, hier geht es aber um die Onlineliste auf der Homepage!
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 02:00
von Brause-Junior
*push*
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 09:44
von 1. FC Keller
Ist das für eine eigene Seite (z.B. irgendwo auf deiner Homepage) oder soll das im Chat so angezeigt werden?
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 09:46
von Brause-Junior
Auf der eigenen Homepage, weil das Forum und meine Seite auch so angezeigt werden soll, will ja auch das script benutzen einmal registrieren und überall registriert sein.
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 10:19
von 1. FC Keller
OK... dann geht es mit PHP und der
wkAPI relativ einfach umzusetzen...
Code: Alles auswählen
<?php
require("api.php");
$server = X;
$cid = "DeinChat";
$admin = "BrauseJunior";
$sid = "88ABCDEFGHIJKLM";
$chat = new Webkicks($cid, $server, $admin, "", $sid);
list($hadmin,$admins,$mods)=$chat->getTeam();
$users=$chat->getAllUsers();
$online=$chat->getOnlineUsers();
$onlineAdmins=$onlineMods=$onlineUsers=$onlineGuests=array();
foreach($online as $o){
if(in_array($o, $hadmin) || in_array($o, $admins))$onlineAdmins[]=$o;
elseif(in_array($o, $mods))$onlineMods[]=$o;
elseif(in_array($o, $users))$onlineUsers[]=$o;
else $onlineGuests[]=$o;
}
if(count($onlineGuests))echo "<h3>Gäste</h3><p>".implode("<br>",$onlineGuests)."</p>";
if(count($onlineUsers))echo "<h3>User</h3><p>".implode("<br>",$onlineUsers)."</p>";
if(count($onlineMods))echo "<h3>Mods</h3><p>".implode("<br>",$onlineMods)."</p>";
if(count($onlineAdmins))echo "<h3>Admins</h3><p>".implode("<br>",$onlineAdmins)."</p>";
if(!count($online)) echo "<p>Derzeit ist niemand im Chat $cid eingeloggt.</p>";
?>
angepasst werden müssen nur die 4 Zeilen mit Server (1,2,3 oder 4 für das X einsetzen), CID (dein Chatname), admin (dein Nick - muss Admin-Rechte haben) und SID.
Außerdem muss die API im gleichen Verzeichnis abgelegt sein, damit das require funktioniert.
Das Ganze sieht dann so aus:
http://wktools.net/test1.php (musst bei wktools eingeloggt sein, damit es funktioniert.)
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 10:55
von Brause-Junior
Werde es mir angucken und prüfen, vielen Dank!
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 11:12
von Brause-Junior
Ist leider nicht ganz so wie ich es mir wünsche...
Die Rubriken:
Gäste
Mitglieder
Team
sollten immer da sein und jenachdem wer Online geht sollten dann die Nicks in der entsprechenden Rubrik erscheinen...
Bräuchte vielleicht nur die Codes um Gäste, mod und admin sowie user anzuzeigen...
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 11:17
von 1. FC Keller
Dann so:
Code: Alles auswählen
<?php
require("api.php");
$server = X;
$cid = "DeinChat";
$admin = "BrauseJunior";
$sid = "88ABCDEFGHIJKLM";
$chat = new Webkicks($cid, $server, $admin, "", $sid);
list($hadmin,$admins,$mods)=$chat->getTeam();
$users=$chat->getAllUsers();
$online=$chat->getOnlineUsers();
$onlineAdmins=$onlineMods=$onlineUsers=$onlineGuests=array();
foreach($online as $o){
if(in_array($o, $hadmin) || in_array($o, $admins))$onlineAdmins[]=$o;
elseif(in_array($o, $mods))$onlineMods[]=$o;
elseif(in_array($o, $users))$onlineUsers[]=$o;
else $onlineGuests[]=$o;
}
echo "<h3>Gäste</h3><p>".implode("<br>",$onlineGuests)."</p>";
echo "<h3>User</h3><p>".implode("<br>",$onlineUsers)."</p>";
echo "<h3>Mods</h3><p>".implode("<br>",$onlineMods)."</p>";
echo "<h3>Admins</h3><p>".implode("<br>",$onlineAdmins)."</p>";
?>
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 11:26
von Brause-Junior
Erstmal vielen dank, klappt super.
1. kann man hinterdem Nick ein Bild anzeigen lassen?
2. Könnte man die Nicks auch nach abc sortieren?
Ansonstan alles supi, danke.
Edit:
2 Fragen bereits erledigt.
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 11:50
von ZischDings
Brause-Junior hat geschrieben:Woher bekomme ich die SID?
Entweder über
wktools (bei Passwort-Tools) oder direkt im Chat. Sieht man z.B. beim MouseOver über den SE-Link (die Zeichenfolge nach dem Nicknamen).
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 12:15
von 1. FC Keller
Wenn du noch mehr Änderungswünsche hast dann versuche bitte möglichst alle auf einmal zu posten, damit ich nicht noch 10mal überarbeiten muss

Alphabetische Sortierung und die Nick-Bildchen sollten so funktionieren (allerdings ungetestet)
Nicks-Bildchen-Paare können beliebig viele per Komma getrennt hinzugefügt werden. Bei den Nicks muss auf Groß-/Kleinschreibung geachtet werden.
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 12:19
von Brause-Junior
Könnte man es nochmals anpassen?
Ich möchte es gerne so wie auf dem Bild haben.
Das obere möchte ich und das untere habe ich mit dem Code jetzt.
(Chataufsicht unter Teams ist ein Nick)
Und wie gesagt ein Bild hinter die nicks, nach alphabetisch sortieren und die Rubriken Moderatoren und Admins zusammenfassen zu Teams.
Würdest du das machen bzw ist das machbar?
Re: Einzelne Nicks aus der Onlineliste auslesen
Verfasst: 12.08.2011, 12:27
von 1. FC Keller
Code: Alles auswählen
<?php
require("api.php");
$server = X;
$cid = "DeinChat";
$admin = "BrauseJunior";
$sid = "88ABCDEFGHIJKLM";
$chat = new Webkicks($cid, $server, $admin, "", $sid);
$pfeil="<img src='http://deineDomain.de/pfeil.gif'> ";
list($hadmin,$admins,$mods)=$chat->getTeam();
$users=$chat->getAllUsers();
$online=$chat->getOnlineUsers();
sort($online);
$onlineTeam=$onlineUsers=$onlineGuests=array();
$userIcons=array(
"BrauseJunior"=>"http://deineDomain.de/deinBild.gif",
"andererNick"=>"http://deineDomain.de/deinBild.gif",
"nocheinNick"=>"http://deineDomain.de/deinBild.gif",
"Nick3"=>"http://deineDomain.de/deinBild.gif",
"Nick4"=>"http://deineDomain.de/deinBild.gif",
"Nick5"=>"http://deineDomain.de/deinBild.gif",
"Nick6"=>"http://deineDomain.de/deinBild.gif"
);
foreach($online as $o){
$o2=$pfeil.$o;
if(array_key_exists($o, $userIcons))$o2.=" <img src='".$userIcons[$o]."'>";
if(in_array($o, $hadmin) || in_array($o, $admins)||in_array($o, $mods))$onlineTeam[]=$o2;
elseif(in_array($o, $users))$onlineUsers[]=$o2;
else $onlineGuests[]=$o2;
}
echo "<br>Besucher<br>".implode("<br>",$onlineGuests);
echo "<br>Mitglieder<br>".implode("<br>",$onlineUsers);
echo "<br>Team<br>".implode("<br>",$onlineTeam);
?>