Seite 10 von 19

Re: Eigene Loginseite

Verfasst: 10.12.2010, 10:30
von Brause-Junior
Huhu, ich bin es mal wieder.

Ich habe eine Frage zu einem Tread was geschlossen ist aber hier sollte es eigentlich reinpassen.

Ich möchte auf meiner Homepage ein Link zurverfügung stellen, wo sich ne Onlineliste hinter verbirgt.

Habe folgendes im Forum gefunden:


http://servername.webkicks.de/chatname/ ... onlinelist

Wie binde ich Sie ein?

Es erscheint immer:

Mit dieser XML-Datei sind anscheinend keine Style-Informationen verknüpft. Nachfolgend wird die Baum-Ansicht des Dokuments angezeigt.

Habt ihr ne Idee?



Brause-Junior

Re: Eigene Loginseite

Verfasst: 26.01.2011, 09:52
von Brause-Junior
*push*

Re: Eigene Loginseite

Verfasst: 26.01.2011, 10:15
von 1. FC Keller
Warum nimmst du nicht einfach die Onlineliste des Chats?

http://serverX.webkicks.de/cgi-bin/ol.cgi?cid=CHATNAME

Oder ohne "Derzeit im Raum":
http://serverX.webkicks.de/cgi-bin/ol_n ... d=CHATNAME

Re: Eigene Loginseite

Verfasst: 26.01.2011, 10:22
von Brause-Junior
Danke für die Antwort, sie ist besser als das was man jetzt sieht..

Ich wollte das andere, weil man da sieht welchen Status der User hat und in welchem Raum er sich befindet.

Re: Eigene Loginseite

Verfasst: 01.02.2011, 16:55
von Brause-Junior
?

*push*

Re: Eigene Loginseite

Verfasst: 03.02.2011, 22:56
von 1. FC Keller
ich habe eben mal eine PHP-Datei gebastelt, die die XML-onlineliste ausliest und verarbeitet... sicherlich gibt es da elegantere Möglichkeiten, aber mit regulären ausdrücken arbeite ich in letzter Zeit häufiger und ich glaube die PHP-Bibliothek zum parsen von XML-Dateien ist nicht bei jeder PHP-Installation automatisch enthalten

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";
	$file=file("http://server$server.webkicks.de/$cid/api/get_onlinelist");
	$file=implode("", $file);

	preg_match_all("/<onlineuser>\n\s+<name>(\w+)<\/name>\n\s+<channel>(\w+)<\/channel>\n\s+<profil>([01])<\/profil>\n\s+<rang>(\w+)<\/rang>\n\s+<away>([01])<\/away>\n\s+<awayreason>([^<]*)<\/awayreason>\n\s+<\/onlineuser>/", $file, $m);
	

  $userOnline=count($m[1]);
  
	echo "Es sind momentan $userOnline Chatter online:<br>\n";
	foreach($m[1] as $i => $name){
	  $raum = $m[2][$i];
	  $profil = $m[3][$i];
	  $rang = $m[4][$i];
	  $away = $m[5][$i];
	  $awayreason = htmlentities($m[6][$i]);
	  if($profil==1)$profil="<a href='http://server$server.webkicks.de/$cid/pv/$name/open' onclick='window.open(this.href,"_blank","width=510,height=600");return false;'>(P)</a>";
	  else $profil="";
	  
	  if($rang=="admin")$color="#ff0000";
	  elseif($rang=="mod")$color="#0000ff";
	  else $color="#000000";
	  
	  if($away==1)$away=" style='font-style:italic;' title='$awayreason'";
  	else $away="";
	  
	  echo "<font color='$color'$away>$name</font> $profil <small>($raum)</small><br>\n";
	}

?>
angepasst werden müssen in erster Linie die ersten beiden Zeilen mit Server und Chatname... unten wird dann unter anderem definiert, dass Admins rot, Mods blau und alle anderen schwarz dargestellt werden. Wer away ist wird kursiv dargestellt und der Abwesenheitsgrund wird wie in der Onlineliste des Chats als Titel angezeigt (also als Tooltip wenn man mit der Maus auf den Namen zeigt). Außerdem wird das Profil verlinkt wenn man eins hat.

Re: Eigene Loginseite

Verfasst: 04.02.2011, 09:20
von Brause-Junior
Vielen Dank!

Wie kann ich folgende Sachen verändern/hinzufügen?

(main) ändern in Admin, Moderator, User oder Gast
oder
Bilder hinter dem Nick mit anzeigen

Re: Eigene Loginseite

Verfasst: 11.02.2011, 20:35
von Brause-Junior
?

Re: Eigene Loginseite

Verfasst: 11.02.2011, 23:59
von Linus

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";
	$file=file("http://server$server.webkicks.de/$cid/api/get_onlinelist");
	$file=implode("", $file);

	preg_match_all("/<onlineuser>\n\s+<name>(\w+)<\/name>\n\s+<channel>(\w+)<\/channel>\n\s+<profil>([01])<\/profil>\n\s+<rang>(\w+)<\/rang>\n\s+<away>([01])<\/away>\n\s+<awayreason>([^<]*)<\/awayreason>\n\s+<\/onlineuser>/", $file, $m);
	

  $userOnline=count($m[1]);
  
	echo "Es sind momentan $userOnline Chatter online:<br>\n";
	foreach($m[1] as $i => $name){
	  $raum = $m[2][$i];
	  $profil = $m[3][$i];
	  $rang = $m[4][$i];
	  $away = $m[5][$i];
	  $awayreason = htmlentities($m[6][$i]);
	  if($profil==1)$profil="<a href='http://server$server.webkicks.de/$cid/pv/$name/open' onclick='window.open(this.href,"_blank","width=510,height=600");return false;'>(P)</a>";
	  else $profil="";
	  
	  if($rang=="admin")$color="#ff0000";
	  elseif($rang=="mod")$color="#0000ff";
	  else $color="#000000";
	  
	  if($away==1)$away=" style='font-style:italic;' title='$awayreason'";
  	else $away="";
	  
	  echo "<font color='$color'$away>$name</font> $profil <small>($rang)</small><br>\n";
	}

?>
Bittesehr! :)

Re: Eigene Loginseite

Verfasst: 12.02.2011, 22:05
von Brause-Junior
Vielen Dank :!:

Könnte man überhaupt das z.b. Admin weg machen und das Bild anzeigen lassen?

Re: Eigene Loginseite

Verfasst: 14.02.2011, 12:01
von 1. FC Keller

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";
	$file=file("http://server$server.webkicks.de/$cid/api/get_onlinelist");
	$file=implode("", $file);

	preg_match_all("/<onlineuser>\n\s+<name>(\w+)<\/name>\n\s+<channel>(\w+)<\/channel>\n\s+<profil>([01])<\/profil>\n\s+<rang>(\w+)<\/rang>\n\s+<away>([01])<\/away>\n\s+<awayreason>([^<]*)<\/awayreason>\n\s+<\/onlineuser>/", $file, $m);
	

  $userOnline=count($m[1]);
  
	echo "Es sind momentan $userOnline Chatter online:<br>\n";
	foreach($m[1] as $i => $name){
	  $raum = $m[2][$i];
	  $profil = $m[3][$i];
	  $rang = $m[4][$i];
	  $away = $m[5][$i];
	  $awayreason = htmlentities($m[6][$i]);
	  if($profil==1)$profil="<a href='http://server$server.webkicks.de/$cid/pv/$name/open' onclick='window.open(this.href,"_blank","width=510,height=600");return false;'>(P)</a>";
	  else $profil="";
	  
	  if($rang=="admin"){
            $color="#ff0000";
            $rangbild="<img src='http://deineDomain.de/admin.gif'>";
	  }elseif($rang=="mod"){
            $color="#0000ff";
            $rangbild="<img src='http://deineDomain.de/mod.gif'>";
	  }else{
            $color="#000000";
            $rangbild="";
         }
	  
	  if($away==1)$away=" style='font-style:italic;' title='$awayreason'";
	  else $away="";
	  
	  echo "<font color='$color'$away>$name</font> $profil $rangbild<br>\n";
	}

?>
Die URL http://deineDomain.de/admin.gif bzw. mod.gif müsste natürlich entsprechend ersetzt werden.

Re: Eigene Loginseite

Verfasst: 15.02.2011, 09:45
von Brause-Junior
Vielen Dank :!:

Kann der Raum in dem man sich befindet nicht mit ausgegeben werden?

Re: Eigene Loginseite

Verfasst: 15.02.2011, 14:29
von Linus
Kannst du nicht einfach mal von Anfang an ALLE Wünsche äußern?!
Script:Zeigen

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";
   $file=file("http://server$server.webkicks.de/$cid/api/get_onlinelist");
   $file=implode("", $file);

   preg_match_all("/<onlineuser>\n\s+<name>(\w+)<\/name>\n\s+<channel>(\w+)<\/channel>\n\s+<profil>([01])<\/profil>\n\s+<rang>(\w+)<\/rang>\n\s+<away>([01])<\/away>\n\s+<awayreason>([^<]*)<\/awayreason>\n\s+<\/onlineuser>/", $file, $m);
   

  $userOnline=count($m[1]);
  
   echo "Es sind momentan $userOnline Chatter online:<br>\n";
   foreach($m[1] as $i => $name){
     $raum = $m[2][$i];
     $profil = $m[3][$i];
     $rang = $m[4][$i];
     $away = $m[5][$i];
     $awayreason = htmlentities($m[6][$i]);
     if($profil==1)$profil="<a href='http://server$server.webkicks.de/$cid/pv/$name/open' onclick='window.open(this.href,"_blank","width=510,height=600");return false;'>(P)</a>";
     else $profil="";
     
     if($rang=="admin"){
            $color="#ff0000";
            $rangbild="<img src='http://deineDomain.de/admin.gif'>";
     }elseif($rang=="mod"){
            $color="#0000ff";
            $rangbild="<img src='http://deineDomain.de/mod.gif'>";
     }else{
            $color="#000000";
            $rangbild="";
         }
     
     if($away==1)$away=" style='font-style:italic;' title='$awayreason'";
     else $away="";
     
     echo "<font color='$color'$away>$name</font> $profil $rangbild ($raum)<br>\n";
   }

?>

Re: Eigene Loginseite

Verfasst: 15.02.2011, 14:51
von Brause-Junior
Ja sorry. :cry:

Danke :!:

Zwei Fragen noch:

1.tens Ist es Normal, dass jetzt als Raum im Hauptraum (main) steht?
Wenn ich das Script benutze, um den Hauptraum umzubennenen, kann das auch so ausgelesen/eingefügt werden?

Das wärs dann..

Danke schonmal. :oops:

Re: Eigene Loginseite

Verfasst: 27.02.2011, 11:14
von Brause-Junior
*push*