User mit Landesflagge nach Herkunft darstellen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      User mit Landesflagge nach Herkunft darstellen

      Hallo

      Ich möchte die User im chat je nach Herkunft mit der jeweiligen Landesflagge versehen.
      ich habe soweit alles fertig:
      1. die Datenbank mit allen IP-Ranges, Ländern und Landeskürzeln
      2. die schripte um die flagge darzustellen
      3. die intergration in den chat Aber

      hier gibt es mein Problem:
      das Ganze beruht auf der IP Adresse der jeweiligen User.
      das ganze soll in dem Template users.html hinter den jeweiligen Usern im chat angezeigt werden.
      Ich habe mir dazu die profile.html angesehen, wo ja die IP des Users verwandt wird.
      Nun habe ich die Stelle {GET|$user_information.ip} aus der profile.html versucht in der Datei users.html zu verwenden, allerdings wird mir da miier meine eigene IP zurückgegeben und nicht die der jeweiligen User.
      Ich habe es in der Schleife:
      {NEED|$user_information}
      {FOREACH|$user|$room.onlineusers}
      <tr><td nowrap>
      {IF|$user.name eq $current_user.name}
      {IMAGE|at|alt="Adressierte Nachricht"}
      {IMAGE|msg|alt="Privatnachricht"}
      {IMAGE|hupe|alt="Willst Dich selber rufen ???"}
      {ELSE}
      <a href="javascript:void(0)" onclick="insertText('@{GET_JS|$user.nick} ');return false;">{IMAGE|at|alt="Adressierte Nachricht"}</a>
      <a href="javascript:void(0)" onclick="{IF|$current_user.popup_privatemsg}writePrivateMsg('{GET_ESCAPED|$user.name}','{GET_ESCAPED|$user.nick}','');{ELSE}insertText('/msg {GET_JS|$user.nick} ');{ENDIF}return false;">{IMAGE|msg|alt="Privatnachricht"}</a>
      <a href="javascript:void(0)" onclick="sendText('/calluser {GET_JS|$user.nick}');return false;">{IMAGE|sound|alt="User rufen"}</a>
      {ENDIF}
      <a href="javascript:void(0)" onclick="openWindow('profile&username={GET_ESCAPED|$user.name}',480,480);return false;">{IIF|$user.away|<i><strike>(}{GET|$user.nick}{IIF|$user.away|)</strike></i>}</a>
      {IF|$user.vip}
      (VIP)
      {ELSE}
      {IF|$room.owner eq $user.name}
      (Besitzer)
      {ELSE}
      {IF_HAS_GROUPTAG|$user.tempgroup}
      <font size="1">({GROUPTAG|$user.tempgroup})</font>
      {ENDIF}
      {ENDIF}
      {ENDIF}
      <a href="{GET|$user_information.ip}">.</a>
      </td></tr>
      {ENDFOR}
      </table></td>
      </tr>
      {ENDIF}
      {ENDFOR}

      mit den rot markierten Zeilen eingebaut. Erstmal nur zum Testen der IP.
      Kann mir denn jemend einen Tipp geben, wie ich an die jeweilige IP der User in dem Template kommen kann?
      Ich habe den code als normalen text gelassen, damit ich die Farben nutzen konnte.

      Gruß
      CADwiesel
      müsste ich mir zuhause anschauen, ist aber mit sicherheit problemlos möglich. aber, wie fährst du fort, wenn dann zu jedem nick die ip vorhanden ist, wie willst du dann aus einem html-template heraus eine mysql-abfrage generieren und die ip abfragen, dass der wert von dort zurückgegeben wird? ich gehe davon aus, dass du dazu ein script von einem cms verwendet hast,es sei denn, du hast was anderes in petto.
      hier liegt aber ein manko des gt-chats. er entspricht nicht mehr dem stand der dinge, weil das ganze drumherum in html-templates aufgebaut wird. es wäre ja auch zu einfach, z.b. an gewünschter stelle ein <? echo "{GET|$user_information.ip}"; ?> einzubauen.
      Meine mommentane Vorgehensweise ist die, das ich ein phpscript per iframe in das html template eingebaut habe

      Quellcode

      1. <iframe src="flaggen.php?IP={GET|$user_information.ip}" width="20" height="12" frameborder="0" scrolling="0" marginwidth="0" marginheight="0"></iframe>

      dem script wird dann die ermittelte IP übergeben und es wird die dementsprechende Flagge dann dargestellt. Wie es final aufgebaut ist, würde ich euch später, wenn es funktioniert als Anleitung dokomentieren.
      Aber das Problem ist ja die Ermittlung der jeweiligen User IP's denn {GET|$user_information.ip} liefert immer nur meine eigene IP zurück. Es müsste eine andere Möglichkeit geben in der users.html an die jeweilige ip's der sich gerade im chat befindlichen User zu kommen. {IP} liefert gar keinen Wert.

      Gruß
      CADwiesel

      per iframe hast du denke ich keine chance, weil du ja inhalte von variablen mittels post oder get übermitteln musst. das heisst, dass deine werte im iframe bleiben oder dass sie vom template nicht in das ins inlineframe gebettete script kommen und dir dein parameter ?IP={GET... dort nicht weiterhilft.
      ich habe aber zur zeit in etwa dasselbe problem, weil ich in der profile u.a. über ips apis ansprechen will. mal schaun, was es da für eine lösung gibt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Joergoletto“ ()

      Vielen Dank Joergoletto, das du dich versuchst meinem Problem anzunehmen.

      in meinem ersten Post habe ich ja erstmal nur versucht die IP hinter jedem Usernamen anzeigen zu lassen. Das scheiterte ja schon daran, das mir hinter jedem User meine IP angezeigt wurde.
      Ich habe sogar versucht innerhalb der foreach schleife per {NEED|$user_information} an die jeweiligen Userinfos zu kommen, aber es scheint so nicht zu klappen.
      Es würde mir ja erstmal schon reichen, wenn ich jede userip in der users.html ermitteln könnte.
      {FOREACH|$user|$room.onlineusers} und dann {GET_JS|$user.nick} z.B liefert ja auch die jeweiligen user infos. Warum liefert dann {GET|$user_information.ip} nicht die IP des Users?
      Kann es sein, das irgendwo festgelegt ist, welche Variablen in welchen Templates zur verfügung stehen?
      Wo ist z.B. festgelegt, welcher Wert per
      GET_JS|$user.nick oder GET_ESCAPED|$user.name abgerufen wird?
      Vielleicht kann man da ja eine Variable belegen die dann mit GET|$user.ip abgerufen werden kann.

      Gruß
      CADwiesel
      {GET|$current_user.ip} liefert leider auch immer meine eigene IP dabei ist es egal, ob {NEED|$user_information} irgendwo steht oder nicht.
      Mist, da stellt sich doch echt diese kleine IP Sache als das Schwierigste an der ganzen Bastelei heraus....
      Naja hier sind ja sicher echt Versierte dabe, die sich mit den ganzen handlern auskennen, vielleicht ist's ja am Ende doch ganz einfach.
      Danke Joerg
      Wenn man im Profil mit {GET|$user_information.ip} die IP anzeigen kann (und ist jedes mal die IP des Users) dann MUSS es funktionieren darunter oder auch sonst irgendwo in der profile.html eine Flagge anzuzeigen wenn man die IP mit übergibt!!

      Ich kann das ganze gerne mal selber testen und ich weiß jetzt schon was dort für ein Resultat rauskommt...
      die ip ist ja in der userliste jedes einzelnen im membersordner eingetragen und somit war der ansatz auch richtig, dass die abfrage mit user_information.ip stimmen müsste. aber auch bei mir liefert diese abfrage in der users.html immer die eigene ip zurück. in der profile funktioniert es ja aber. entweder ist meine users auch so verbockt oder ich sehe den baum vor lauter wäldern nicht.



      {IF|$user.gender==1}
      {GET|$imageupload}
      {IF|$image and $user_information.image_activate}
      <a href="javascript:void(0)" onclick="sendText('/profilevisit {GET_ESCAPED|$user.nick} ');openWindow('profile&username={GET_ESCAPED|$user.name}',480,480);return false;"><img src="../../gt95/images/mann.gif" border="0" onmouseover="Tip('<b><font color=#bb0000><center>{GET|$user.nick} </b><br><br><img src=../../gt95/memberimages/{GET|$user.name}.{GET|$image_ext} width=80>',ABOVE, true)"></a>
      {ELSE}
      <a href="javascript:void(0)" onclick="sendText('/profilevisit {GET_ESCAPED|$user.nick} ');openWindow('profile&username={GET_ESCAPED|$user.name}',480,480);return false;"><img src="../../gt95/images/mann.gif" border="0" onmouseover="Tip('<b><font color=#bb0000><center>{GET|$user.nick} </b><br><br><img src=../../gt95/images/kein-bild.gif width=80>',ABOVE, true)"></a>
      {ENDIF}
      {GET|$user_information.ip}
      {ENDIF}

      bei diesem eintrag innerhalb der foreach-schleife und innerhalb einer gender-if-abfrage sehe ich immer nur meine eigene ip und nicht die des jeweiligen chatters. es muss aber gehen, irgendwo eine kleinigkeit
      Wenn ihr die Daten in der users.html wollt müsst ihr vorher die DataModules/OnlineModule.pm bearbeiten...

      my @online_fields = ...

      Diese Zeile müsste weit oben stehen da müsst ihr dann die IP adden, sonst geht es nicht!

      Hoffe das stimmt so ist schon ne Zeit her das ich mal was am GT-Chat gemacht hab.
      :hail: :serledigt: Super, vieleb Dank, Starlight, genau so geht's
      wenn ich in der Datei OnlineModule.pm in der Variablenliste von my @online_fields =noch ,'ip' hinzufüge, Kann ich es in dem Usertamplate auch mit {GET|$user.ip} holen und dann verwenden.

      Thema damit erledigt


      Gruß

      CADwiesel