Nickänderungsscript - Name auch bei Raumliste anzeigen?

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 21.04.2011, 01:32

Hallo.
Ich benutze das Nickänderungsscript und es funktioniert auch alles perfekt.
Nur hab ich die frage ob es auch möglich ist dass der geänderte Name auch in der Raumliste auf der Startseite erscheinen kann? denn ich habe ne eigene startseite erstellt mit ner Raumliste als Iframe und möchte gerne dass auch dort der geänderte Name erscheint ist das möglich?

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

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von 1. FC Keller » 21.04.2011, 10:43

Wie hast du das Nickänderungsscript eingestellt? Kann jeder selbst seinen Nick ändern oder stellst du die geänderten Nicks fest im Script ein?

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 21.04.2011, 14:14

habs per script eingestellt, dass ich die namen eintragen muss

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

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von 1. FC Keller » 21.04.2011, 15:03

Das Nickänderungsscript selbst läuft per Javascript und wird in der Ankündigung eingebunden. Deshalb kann es auch nur von dort aus auf die Onlineliste zugreifen... Wenn die Onlineliste außerhalb des Chats eingebunden wird gibt es keinen Stream, keine Ankündigung und damit auch kein Nickänderungsscript, das die Namen ersetzen kann.

Es ist allerdings möglich per PHP die Onlineliste einzulesen und nach den eigenen Wünschen zu verändern... einige Scrips dazu sind im Thread "Eigene Loginseite" zu finden... evtl. auch schon eins mit Nickänderung... so genau habe ich da eben nicht nachgesehen... ich habe hier eins von der letzten Seite genommen da es die neue XML-API von Webkicks verwendet und damit auch den Rang, das Profil, den Raum in dem man sich aufhält etc. mit abfragen kann (im Gegensatz zu den alten Lösungen die direkt die Onlineliste, die man auch im Chat sieht auslesen)

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";

  $nickAenderer=array(
    'deinNick'=>'deinNeuerNick',
    'andererNick'=>'andererNeuerNick'
  );

  $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="";

    if(isset($nickAenderer[$name]))$name=$nickAenderer[$name];

    echo "<font color='$color'$away>$name</font> $profil $rangbild<br>\n";
  }
?>
Angepasst werden müssen Server, Chatname, das Array der zu ändernden Nicks ('deinNick'=>'deinNeuerNick', etc.) -> hier muss auf groß/kleinschreibung geachtet werden.. HTML ist im ersetzungs-Name auch möglich.
Außerdem enthält das Script gleich noch Grafiken und Farben für Admins und Mods. Bei den Grafiken muss die URL angepasst werden... wenn du irgendwas davon nicht brauchst könnte man das natürlich auch noch entfernen.

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 21.04.2011, 15:22

also wenn ich das so hochlade bekomme ich nur die fehlermeldung:
Parse error: syntax error, unexpected T_ARRAY, expecting T_STRING or T_VARIABLE or '$' in /home/www/cwcity/hosting/c/u/curuba/htdocs/UL.php on line 5

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

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von 1. FC Keller » 21.04.2011, 15:33

huch... da hab ich mal wieder JS mit PHP verwechselt.. bei JS verwendet man "new Array();".. in PHP ist es nur "array();". Habe den Code eben nochmal editiert. Jetzt sollte es passen.

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 21.04.2011, 15:49

mhm ok der fehler is beseitigt...
nun erscheint allerdings der nächste
Warning: file() [function.file]: URL file-access is disabled in the server configuration in /home/www/cwcity/hosting/c/u/curuba/htdocs/phpmybackup/ULN.php on line 12

Warning: file(http://server4.webkicks.de/curuba/api/get_onlinelist) [function.file]: failed to open stream: no suitable wrapper could be found in /home/www/cwcity/hosting/c/u/curuba/htdocs/phpmybackup/ULN.php on line 12

Warning: implode() [function.implode]: Invalid arguments passed in /home/www/cwcity/hosting/c/u/curuba/htdocs/phpmybackup/ULN.php on line 13


kenn mich auch bei php jetz nich wirklich aus... :(

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

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von 1. FC Keller » 21.04.2011, 16:33

oh... das ist ein schlechtes Zeichen... dein server ist so eingestellt, dass man keine Dateien von fremden Servern abfragen kann... davon unbeeinflusst ist allerdings die Funktion fsockopen... daher könnten wir es noch damit versuchen.

Code: Alles auswählen

<?php
  $server=4;
  $cid="wktools";

  $nickAenderer=array(
    'deinNick'=>'deinNeuerNick',
    'andererNick'=>'andererNeuerNick'
  );

  $file="";
  $fp = fsockopen("server$server.webkicks.de", 80, $errno, $errstr, 30);
  if(!$fp){
    echo "$errstr ($errno)<br />\n";
  }else{
    $out = "GET /$cid/api/get_onlinelist HTTP/1.1\r\n";
    $out .= "Host: server$server.webkicks.de\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
      $file.=fgets($fp, 128);
    }
    fclose($fp);
  }

   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="";

    if(isset($nickAenderer[$name]))$name=$nickAenderer[$name];

    echo "<font color='$color'$away>$name</font> $profil $rangbild<br>\n";
  }
?>

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 21.04.2011, 16:48

danke für die bemühungen aber scheinbar is mein webspace dafür nich gemacht...
werd mal gucken ob ichs bei nem freund mal hochladen kann mal sehen obs dann klappt

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 06.05.2011, 18:56

so habs jetz hochgeladen bekommen...
ein paar "kleinigkeiten" noch...

1. kann man noch irgendwie einfügen,dass die liste sich automatisch aktualisiert?

2. Kann man die schriftfarbe bei "es sind momentan..." ändern? habs mit <font... probiert geht aber nich... dann funktioniert garnichts mehr.

3. kann man eventuell ein hintergrundbild einfügen?

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 15.06.2011, 13:34

Aktualisierung hab ich hinbekommen...
nun brauch ich nur noch entweder andere schriftfarben oder nen anderen hintergrund...
kann da jemand helfen?

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

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von 1. FC Keller » 15.06.2011, 14:21

font sollte schon funktionieren... du darfst nur für das color="farbe" keine doppelten anführungszeichen verwenden, sondern einfache:

Code: Alles auswählen

echo "<font color='red'>Es sind momentan $userOnline Chatter online:</font><br>\n";

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Curuba » 12.08.2011, 17:44

Hallo!
Habe ein Problem und zwar hatte mein server einen großen Datenverlust und ich habe die Datei für die Onlineliste verloren. Kann sie auch nichtmehr herstellen.

Und wenn ich jetz folgenden code benutze:

Code: Alles auswählen

<?php
  $server=4;
  $cid="curuba";

  $nickAenderer=array(
    'deinNick'=>'deinNeuerNick',
    'andererNick'=>'andererNeuerNick'
  );

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

   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="";

    if(isset($nickAenderer[$name]))$name=$nickAenderer[$name];

    echo "<font color='$color'$away>$name</font> $profil $rangbild<br>\n";
  }
?>
dann erscheint nur folgende seite: http://smalltalk-24.com/chat/OL.php

Benutzeravatar
Linus
Moderator
Beiträge: 1125
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Re: Nickänderungsscript - Name auch bei Raumliste anzeigen?

Ungelesener Beitrag von Linus » 12.08.2011, 18:07

Dann ist PHP deaktiviert.
Kein Support per PN!

Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 1 Gast