Sehr schön! Das Script ist dann fertig
Bitte beachte, dass du die neuste API-Version (ebenfalls von heute, welch ein Zufall

) brauchst! Die bekommst du auf
http://wkapi.wkprojects.org 
Außerdem wird die Grundscriptsammlung benötigt.
Folgendes Script muss nun in eine .php-Datei auf deinem Webspace:
Code: Alles auswählen
<?
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
require("wkapi.php");
$chat = new Webkicks("CID",2,"NICK","PASSWORT");
$teamarray = $chat->getTeam(); // Team-Liste auslesen
$chatteam = array_merge($teamarray[0],$teamarray[1]); // Hauptadmin und Admins zusammenfassen, Mods dürfen nicht!
//Daten aus Referer holen
preg_match_all("%http://server([0-4])\.webkicks\.de/([a-zA-Z0-9]{2,10})/(guest_stream|chatstream|stream)/([0-9A-Za-z_]{2,20})/%",$_SERVER['HTTP_REFERER'],$chatdata);
$server = $chatdata[1][0];
$cid = $chatdata[2][0];
$gast = ($chatdata[3][0] == "guest_stream")?true:false;
$mynick = $chatdata[4][0];
//Gültigkeit der Daten überprüfen
if ($server == "" || $cid == ""){ //Kommt die Anfrage wirklich aus dem Chat?
die(); // Wenn nein, Script abbrechen
}elseif (strtolower($mynick) != strtolower(preg_replace('/[^a-zA-Z0-9_]/','',$_GET['me']))){ //Ist der User, der dieses Script geöffnet hat, der, der den Befehl ausgeführt hat?
die('t=document.getElementsByTagName("table"); t[t.length-1].style.display="none";'); // Wenn nein, Zeile ausblenden
}elseif (!in_array($mynick, array_map("strtolower",$chatteam))){ // Ist der User, der dieses Script aufruft, im Team?
die('document.write("Dieser Befehl ist nur für das Team gedacht!");'); // Wenn nein, User darauf hinweisen
}
//Die Anfrage ist anscheinend gültig, also weiter gehts!
$user = preg_replace('/[^a-zA-Z0-9_]/','',$_GET['user']); // Ungültige Zeichen aus Usernamen entfernen, um JS-Injections vorzubeugen!!
$users_registered = $chat->getAllUsers(); // Alle User einlesen
$toplist = $chat->getToplist(); // Topliste einlesen
if (!in_array(strtolower($user),array_map("strtolower",$users_registered))){
$ausgabe=$user.' ist nicht registriert!';
}else{
$is_online = false;
$channel = false;
$users_online = $chat->getExtendedOnlinelist();
foreach ($users_online AS $dataset){
if (strtolower($dataset['name']) == strtolower($user)){
$is_online = true;
$channel = ($dataset['channel']=="main")?"Hauptchat":$dataset['channel'];
break;
}
}
$details=$chat->getDetails($user);
$ausgabe = '<table><tr><td>Username</td><td>'.$details['name'].'</td></tr><tr><td>Status</td><td>'.(($is_online)?'<span style="color:#00AA00;">online</span>':'<span style="color:#AA0000;">offline</span>').'</td></tr><tr><td>'.(($is_online)?"Raum":"Zuletzt online").'</td><td>'.(($is_online)?$channel:$details['lastlogin']).'</td></tr><tr><td>Chatzeit</td><td>'.$toplist[$user].'</td></tr><tr><td>eMail-Adresse</td><td>'.$details['mail'].'</td></tr><tr><td>Homepage</td><td>'.$details['hp'].'</td></tr></table>';
}
echo 'if (myNick.toLowerCase() == "'.preg_replace('/[^a-zA-Z0-9_]/','',$_GET['me']).'".toLowerCase()){document.write(\''.$ausgabe.'\');}else{t=document.getElementsByTagName("table"); t[t.length-1].style.display="none";}';
?>
Anzupassen ist der Pfad zur API-Datei (Zeile 3) sowie die API-Daten (Zeile 4). Außerdem wird folgender Chat-Befehl gebraucht:
Code: Alles auswählen
<script src="http://DEINE-SEITE.TLD/PFAD/ZUR/info.php?user=%text%&me=%myname%"></script>
Diesen Befehl gibst du nur für Admins frei, da normale User vom Script her schon ausgeschlossen sind
PS: @Alle "alten Hasen": Stand die Chat-Zeit nicht auch mal in der Detailansicht im Admin-Menü? o.O