PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 'Wer ist online' richtig nutzen


Andreas
09.08.2007, 17:31
Worum geht es hier?
vBulletin bietet über die Funktion 'Wer ist online' die Möglichkeit (sofern man über entsprechende Rechte verfügt) den momentanen Aufenthaltsort jedes Benutzers anzuzeigen.
Diese Anleitung zeigt wie man diese Möglichkeiten für eigene Modifikationen nutzen kann.

Brauche ich das? Mein Hack funktioniert doch auch so
Brauchen tut man es natürlich nicht, aber es wirkt einfach schöner/professioneller wenn da der korrekte Eintrag angezeigt wird - anstatt fälschlicherweise "Betrachtet Startseite" (bzw. Ort unbekannt für den Admin).
Vielleicht finden so ja auch User Funktionen die sie vorher gar nicht kannten?

Klingt sinnvoll, wie mache ich das?
In den meisten Fällen braucht man lediglich 2 Plugins: Eines für den Einstiegspunkt online_location_unknown und eines für online_location_process.

In online_location_process wird zunächst einmal das eigene Script abgefragt.

Beispiel
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
'myhack' ist hierbei ein Bezeichner für die jewilige Aktivität. Dieser kann frei gewählt werden, muss aber eindeutig sein. Über $values['do'] kann man an dieser Stelle falls nötig auch noich unterschiedliche Script-Aktionen abfragen und dementsprechend die Aktivität setzen.

Beispiel
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Im Einstiegspunkt online_location_unknown wird dann noch die Aktivität geprüft und der anzuzeigeende Text sowie ggf. Link konstruiert.

Beispiel
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Wichtig ist hierbei dass $handled auf true gesetzt wird wenn das Plugin die Aktivität behandelt hat, da ansonsten der Default-Text eingesetzt wird.

Besonderheiten
Wenn vBulletin PHP Scripten neue Funktionalität hinzugefügt wird und auch für diese 'Wer ist online'-Unterstützung bereitgestellt werden soll, so muss der Einsteigspunkt online_location_preprocess anstatt online_location_process verwendet werden.

Für komplexere Modifikationen kann es auch nötig sein ein Plugin für online_ids_titles zu schreiben - dies jedoch hier zu behandeln würde den Rahmen sprengen. Hierfür empfehle ich die Datei includes/functions_online.php zu betrachten

MrGoodbyte
15.12.2007, 12:10
Hmmm ... sei mir nicht böse, aber so ganz verstehe ich diese Anleitung nicht ... das muss aber nicht an der Anleitung, das kann durchaus auch an mir liegen! :)

Grundsätzlich wird doch die Ausgabe der "Wer ist online"-Liste über das Template "WHOSONLINE" geregelt. Aus Deiner Anleitung geht aber nicht hervor, an welcher Stelle ich etwas in dieses Template einfügen bzw. an welcher Stelle ich sagen muss, dass statt dieses Templates die neuen abgefragt werden ...

Überseh ich da was, oder hast Du was vergessen? ;)

http://img525.imageshack.us/img525/4570/greetzio5.png

entertain
15.12.2007, 12:24
Du musst nur Hooks hinzufügen unter AdminCP -> Add-ons & Plug-ins -> Plug-in hinzufügen ;)

Andreas
15.12.2007, 15:26
An den Templates musst Du gar nichts ändern, es fehlt lediglich PHP Code.
Wie Du diesen erstellst sagt dir das Tutorial :)

MrScorpion
18.12.2007, 15:23
An den Templates musst Du gar nichts ändern, es fehlt lediglich PHP Code.
Wie Du diesen erstellst sagt dir das Tutorial :)

Ich bin wahrscheinlich zu doof oder habe eben Angst, etwas falsch zumachen.
Ist es zuviel verlangt, wenn ich Dich bitte, dass auch für ganz doofe zu erklären?
Was muss ich wo eintragen?
Mir wäre das schon wichtig, aber bis jetzt habe ich mich immer nur mit MODs befasst und diese entsprechenden eingebaut.

Aber man will ja mehr lernen... ;)

Andreas
18.12.2007, 18:04
Es steht alles in diesem Tutorial :)

Falls dir die Basics fehlen:
http://www.vbulletin-germany.org/showthread.php?t=20
http://www.vbulletin-germany.org/showthread.php?t=23
http://www.vbulletin-germany.org/showthread.php?t=21

MrScorpion
19.12.2007, 18:41
Also ich habe gelesen und ich habe probiert und ich habe nur Fehlermeldungen verursacht.
Ich habe auch Deine Anleitung gelesen, aber mir fehlt einfach zuviel Fachwissen um hinter diese Geheimnisse zukommen.
Kann ich mir irgendwo diese Grundkenntnisse aneignen?

Du schreibst z.B. in deinem Code myhack.php , dass ist für mich eine eigenständige PHP-Date, oder nicht?
Muss ich diese Namen ändern und wenn ja in welche?

Sorry, dass ich so weit am Anfang stehe.... ;)

LG MrScorpion

ragtek
20.12.2007, 00:33
Du schreibst z.B. in deinem Code myhack.php , dass ist für mich eine eigenständige PHP-Date, oder nicht?
Muss ich diese Namen ändern und wenn ja in welche?In den Namer der Datei die aufgerufen wird

MrGoodbyte
22.02.2008, 16:57
Da ich das irgendwann tatsächlich hinbekommen hab (Danke nochmal) frag ich lieber vorher, bevor ich da nu wieder was verwurschtel ...

Die online_location_process sieht bei mir nun so aus und läuft auch:

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Die Frage ist nun, wie das aussehen muss, wenn ich da nicht nur eine, sondern auch weitere Seiten eintragen will. Geht das z.B. so:

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Das ist insbesondere deswegen fraglich, weil die userpages.php mit einem
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
daherkommt ...

Auch hier danke ich schonmal im Voraus für die Hilfe ..

http://sims2com.de/greetz.gif

entertain
06.07.2008, 01:15
Ich brauche mal eure Hilfe. :o

Ich erstelle die 2 Plug-ins folgendermaßen: (in einem Produkt)
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Die Phrasen sehen so aus:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Aber unter wer ist Online sieht das nur so aus: :(

3595

Hat jemand ne Ahnung wieso das nicht so ganz klappt? :o

Vossi
06.07.2008, 07:55
Schick mir das AddOn mal rüber, ich schau's mir mal an.

Vossi
06.07.2008, 12:12
Du hattest fieldname und name bei den Phrasen vertauscht, ich habe Dir auch nochmal eine detailiertere WOL-Ansicht eingebaut.

entertain
06.07.2008, 12:47
rofl, kein Wunder wieso er die Phrase nicht gefunden hat.

Danke. :)

Sebijk
20.08.2008, 16:06
Ich habe ein kleines Problem mit der WOL-Anzeige:

online_location_process:

PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

online_location_unknown:

PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

zeigt aber immer noch:

Aufenthaltsort unbekannt
sendmessage.php?do=im&type=jabber&u=UserID

an.

Wo liegt hier genau das Problem? Oder gibt es mit vBulletin-Standarddateien Probleme?

Andreas
20.08.2008, 20:08
> Oder gibt es mit vBulletin-Standarddateien Probleme?
Exakt. Für diese die Handler zu überschreiben ist etwas tricky.
Hints: functions_online.php & online_location_preprocess

Sebijk
21.08.2008, 10:47
Ah, Danke für den Tipp :)

Und wiedermal mal was dazugelernt :)