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
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