Einzelne Nicks aus der Onlineliste auslesen

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Brause-Junior

Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 07.08.2011, 07:13

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?

Benutzeravatar
hamigra
Beiträge: 567
Registriert: 31.08.2006, 16:02
Wohnort: Werdau
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von hamigra » 07.08.2011, 09:11

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 :wink:
Deutsche Sprache ist Freeware, aber nicht OpenSource! Du darfst sie benutzen, aber nicht verändern.

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 07.08.2011, 13:52

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!

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 02:00

*push*

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von 1. FC Keller » 12.08.2011, 09:44

Ist das für eine eigene Seite (z.B. irgendwo auf deiner Homepage) oder soll das im Chat so angezeigt werden?

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 09:46

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.

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von 1. FC Keller » 12.08.2011, 10:19

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&auml;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.)

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 10:55

Werde es mir angucken und prüfen, vielen Dank!

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 11:12

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...

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von 1. FC Keller » 12.08.2011, 11:17

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&auml;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>";
?>

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 11:26

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.
Zuletzt geändert von Brause-Junior am 12.08.2011, 11:56, insgesamt 3-mal geändert.

Benutzeravatar
ZischDings
Moderator
Beiträge: 672
Registriert: 22.12.2004, 16:01
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von ZischDings » 12.08.2011, 11:50

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).
Meine Meinung steht fest, verwirren Sie mich nicht mit Tatsachen!

http://www.wasguckstu.de

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von 1. FC Keller » 12.08.2011, 12:15

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)

Code: Alles auswählen

siehe unten
Nicks-Bildchen-Paare können beliebig viele per Komma getrennt hinzugefügt werden. Bei den Nicks muss auf Groß-/Kleinschreibung geachtet werden.

Brause-Junior

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von Brause-Junior » 12.08.2011, 12:19

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)

Bild

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?

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Einzelne Nicks aus der Onlineliste auslesen

Ungelesener Beitrag von 1. FC Keller » 12.08.2011, 12:27

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);
?>

Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 46 Gäste