Seite 1 von 1
2 Styles für die Online-Liste ...
Verfasst: 22.06.2010, 10:56
von Knuddelmonster
hallöchen ...
nachdem ich einiges versucht habe und leider weder im neuen noch im alten forum fündig wurde versuch ich hier mal mein glück ...
ich weis das der titel nicht viel sagt daher muss ich es ein wenig genauer erklären was ich eigentlich will ...
ich würde gerne für meine onlineliste 2 styles benutzen.
also -
im chat = 1.style mit normalen hintergund und normaler schrift !
auf der loginseite = 2.style mit hintergrundbild und eigener schrift !
ich glaube mal gelesen zu haben das die OL ja ein CSS benutzt, nun wäre hier die frage wie kann ich zwei CSS nutzen - also eines für den chat selber und eben eines für die "eigene Loginseite" wo ich zB. bestimmte räume anzeige ?
für hinweise und hilfe wäre ich dankbar ...
LG vom Knuddelmonster
PS: wenn einer der mod´s einen besseren titel hat kann er diesen ändern !!! danke ...
Re: 2 Styles für die Online-Liste ...
Verfasst: 22.06.2010, 11:51
von 1. FC Keller
Man kann von der Loginseite leider nicht per JS auf die eingebundene Onlineliste zugreifen. Daher bliebe nur die Möglichkeit, im Adminmenü die Onlineliste so anzupassen wie man sie auf der Loginseite haben will und dann im Chat per JS das CSS auszutauschen... Leider gibt es da den Nachteil, dass die Onlineliste häufiger neu lädt, z.B. beim Reconnect oder Raumwechsel. Daher wäre wieder mal ein Interval notwendig der ständig prüft ob schon der eigene oder noch der originale Style geladen ist - je häufiger man ihn ausführt desto schneller wechselt der Style nach einem Reconnect/Raumwechsel aber es kostet eben auch mehr Last für den Browser.
Die Alternative wäre die Onlineliste per PHP serverseitig auf der Loginseite einzubinden und zu verändern. Dann hat man freien Zugriff auf Schriftarten, Hintergrundbilder, etc.
Code: Alles auswählen
<?php
$server = 2;
$cid = "kellerchat";
$raum="main"; // folgendes verwenden: "" um user aller raeume anzuzeigen. fuer Hauptchat "main" statt "hauptchat" benutzen
if($raum && $raum != ""){
$raum = "&raum=$raum";
}
$ol=file_get_contents("http://server$server.webkicks.de/cgi-bin/raw.cgi?cid=$cid$raum");
preg_match_all("/\(([^\)]+)\)/", $ol, $result);
$onlineUsers = $result[1];
foreach($onlineUsers as $u){
echo "$u<br>";
}
?>
Einfach die Servernummer (2) und den Chatnamen (kellerchat) (ggf. auch den Raumnamen) anpassen.
bei
echo "$u<br>"; kann man beliebig HTML-Code einsetzen um die Nicks zu verändern (nur ' statt " verwenden da man sonst den PHP-Code "zerstört").
Den Code habe ich aus der API und leicht angepasst (für so eine einfache Anwendung halte ich es für unnötig die API einzubinden).
Re: 2 Styles für die Online-Liste ...
Verfasst: 22.06.2010, 12:29
von Knuddelmonster
@re: 1. FC Keller
erst mal herzlichen dank, die API habe ich ja sowieso für eine anwendung am server, daher werd ich das ganze mal probieren und das ergebnis hier posten für diejenigen die es genau so machen wollen ...
also noch mal danke für auch die sehr schnelle antwort ...
es grüsst das Knuddelmonster ...
{edit on:}
tja, so schön es auch wäre, klappt es leider nicht auf meinen server, grund ist das mein server die PHP-funktion
get_file_contents nicht zuläst, das problem kenne ich ja von damals wo ich das "lastseen" einbauen wollte, dieses läuft dank anpassung von Linus aber ich denke hier werde ich leider auf der strecke bleiben ...
es grüßt wie wimmer das Knuddelmonster
{edit off:}
Re: 2 Styles für die Online-Liste ...
Verfasst: 23.06.2010, 11:50
von 1. FC Keller
Also funktioniert es bei dir mit fsockopen? Dann sollte das laufen:
Code: Alles auswählen
<?php
$server = 3;
$cid = "wkchat";
$raum="main"; // folgendes verwenden: "" um user aller raeume anzuzeigen. fuer Hauptchat "main" statt "hauptchat" benutzen
if($raum && $raum != ""){
$raum = "&raum=$raum";
}
$ol="";
$fp = fsockopen("server$server.webkicks.de", 80, $errno, $errstr, 30);
if(!$fp)echo "OL konnte nicht abgefragt werden";
fputs ($fp, "GET /cgi-bin/raw.cgi?cid=$cid$raum HTTP/1.0\r\nHost: server$server.webkicks.de\r\n\r\n");
$chk=0;
while (!feof($fp)) {
$tmp=fgets($fp);
if($chk)$ol .= $tmp;
if(!$chk && preg_match("/^\s*$/", $tmp))$chk=1;
}
preg_match_all("/\(([^\)]+)\)/", $ol, $result);
$onlineUsers = $result[1];
foreach($onlineUsers as $u){
echo "$u<br>";
}
?>
Für die API wäre es evtl. auch eine Idee eine Weiche zwischen file_get_contents und fsockopen zu machen (ginge nur bei GET, nicht bei POST), damit es auch funktioniert wenn eins von beiden nicht erlaubt ist.
Re: 2 Styles für die Online-Liste ...
Verfasst: 30.06.2010, 18:58
von Knuddelmonster
mal hallo hier ...
sorry für die verspätete antwort ...
1. FC Keller hat geschrieben:Also funktioniert es bei dir mit fsockopen? Dann sollte das laufen:
genau so funkt es !!! danke an
1. FC Keller wie immer seit ihr spitze
meine neue webseite für den chat ist nun fast fertig, und somit ist das style auch wesentlich schöner
es grüßt das knuddelmonster ...