PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neue Seite in Wer ist Online


Metro Man
05.07.2005, 14:32
Hi,

habe nen neue seite Namens impresum und möchte das dies m Impressum angezeigt wird zb User betrachtet das Impressum oder so.

MFG

h75
05.07.2005, 15:16
Ich denke mal du musst nen Hook auswählen. und zwar online_location_process vermute ich. Dort fangen die Einstiegspunkte für die Online Anzeige an. hier ma ein Pic davon.

http://hollii.de/temp/pluginhookonline1s.jpg (http://hollii.de/temp/pluginhookonline1.jpg)

Nur was man da eingeben muss. :confused: Das was man vorher in die php-Dateien eingetragen hat? zum einen das case 'datenschutz':
$userinfo['action'] = $vbphrase['viewing_datenschutz'];
break; und weiter unten das case 'privacy.php':
$userinfo['activity'] = 'datenschutz';
break; in der funtions_online.php. ich denke das man ab vB 3.5 keine Datei mehr bearbeiten muss. Ahja und halt die Phrase anlegen. Unter Wer ist Online.

Metro Man
05.07.2005, 15:18
Danke ich werde es mal testen

Metro Man
05.07.2005, 15:52
wohl nicht so ganz hmm

pogo
07.07.2005, 15:03
Dafür benötigt man 2 Plug-ins.

1. Plug-in -> Hook online_location_process
if ($filename == 'impressum.php')
{
$userinfo['activity'] = 'impressum';
}

2. Plug-in -> Hook online_location_unknown
if ($userinfo['activity'] == 'impressum')
{
$userinfo['action'] = 'Lies mit Interesse das Impressum.';
$handled = true;
}

Wenn man mehrere eigene Seiten hat, die angezeigt werden sollen, kann man natürlich wie in functions_online.php wieder mit einem switch/case Konstrukt arbeiten.

Metro Man
07.07.2005, 15:06
Danke funktioniert einwandfrei

h75
07.07.2005, 18:14
Ey, das is echt geil :D Ich glaube ich verstehe das so langsam. Hab jetzt die ersten Seiten eingebunden. Wunderbar. Vor allem geht das nicht mehr verloren... :D

http://hollii.de/temp/pluginhookonline2s.jpg (http://hollii.de/temp/pluginhookonline2.jpg)

Gibt es eigentlich eine Art Übersicht, welcher Einstieg wofür am besten geeignet ist? Ich mein das sind ja schätzungsweise 450 Einstiegspunkte. Und es werden ja nicht weniger. :)

pogo
08.07.2005, 10:52
Eine Übersicht gibt es nicht. Entweder sind die Namen beschreibend genug oder du musst im Code gucken, welcher Hook am besten passt. Und ob du nun im Code guckst oder 450 Beschreibungen durchliest, macht auch keinen großen Unterschied..

Silmarillion
10.07.2005, 12:34
Was um alles in der Welt ist mit "Hook" gemeint? Diese besch...eidenen Anglizismen (im Grunde genommen sind es noch nicht einmal welche...) fangen langsam an zu nerven...

mfg

Mystics
10.07.2005, 12:38
Was um alles in der Welt ist mit "Hook" gemeint? Diese besch...eidenen Anglizismen (im Grunde genommen sind es noch nicht einmal welche...) fangen langsam an zu nerven...Einstiegspunkt.

Silmarillion
10.07.2005, 12:41
Mal unter uns, Mike - klingt das nicht gleich viel besser? :) Und vor allen Dingen ergibt es auch noch einen SINN!

mfg

Mystics
10.07.2005, 12:42
Mal unter uns, Mike - klingt das nicht gleich viel besser? :) Und vor allen Dingen ergibt es auch noch einen SINN!Deshalb hat pogo das in der deutschen Sprachdatei ja auch so genannt:
Einstiegspunkt (Hook)

Silmarillion
10.07.2005, 12:45
Sehr gut! Dann sollten wir uns künftig an Pogos Vorgehen alle mal ein Beispiel nehmen. Somit werden derlei "Kommunikationsprobleme" von vorneherein vermieden.:)

mfg

MarkusH.
10.07.2005, 16:16
Wo finde ich denn im Admin CP den ZUgang zu den "Hook´S".

Bin warsdcheinlich blind.

Metro Man
10.07.2005, 16:20
ganz unten bei den Plugins, musst du glaube aber vorher bei den Einstellungen erst festlegen ob diese aktiviert sind.

h75
10.07.2005, 16:23
Also ich finde den Begriff 'Hook' genial. Kann man auch gut sprechen und lesen. Und jeder der sich für vB interessiert, wird früher oder später wissen, was genau das ist.

Auf Deutsch. Dank dieser Hooks ist es in Zukunft möglich, vBulletin ohne Änderungen an den PHP-Dateien zu 'hacken'... ;)
Demnach werden Updates ein Kinderspiel :D

MarkusH.
10.07.2005, 16:45
ganz unten bei den Plugins, musst du glaube aber vorher bei den Einstellungen erst festlegen ob diese aktiviert sind.

Ich hab Version 3.0.7. Gibt es soetwas dort vielleicht noch garnicht ? Finde weder in Eintellungen noch etwas unter Plugin.

Metro Man
10.07.2005, 16:56
Ich hab Version 3.0.7. Gibt es soetwas dort vielleicht noch garnicht ? Finde weder in Eintellungen noch etwas unter Plugin.

genau so ist es das gibt es erst ab der Version 3.5

MarkusH.
10.07.2005, 17:00
:heul: Und wie kann ich in der 3.0.7 genau den gleichen Effekt erziehlen wenn jemand die impressum.php aufruft, dass dies dann in "Wer ist online" erscheint ??? :confused:

Metro Man
10.07.2005, 17:04
Das geht genaus und wurde hier einige mal beschrieben du musst das direkt dann in den php files machen ich suche mal ob ich das ganze finde.

h75
10.07.2005, 18:17
:heul: Und wie kann ich in der 3.0.7 genau den gleichen Effekt erziehlen wenn jemand die impressum.php aufruft, dass dies dann in "Wer ist online" erscheint ??? :confused: Du bist hier im Forum vBulletin 3.5 ;) vBulletin Germany Support Forum > vBulletin 3.5 > vBulletin 3.5 Wie geht das? Die gibts erst in einer Beta-Version. Für 3.0.7 geht das gleiche auch. Da musst du den Code aber in die functions_online.php einfügen. Suche mal hier über Suchfunktion. Da gibts schon einige Threads zu. :)

//edit^: z.b. http://www.vbulletin-germany.com/forum/showthread.php?t=9327&highlight=%2Afunctions_online.php%2A

Andreas
21.09.2005, 18:39
Hmm, anstatt für jede Datei 2 Plugins würde ich vielleicht nur 2 Plugins mit jeweils nem switch() machen.

RolandCP
07.02.2006, 14:03
Wenn ich eine externe Seite habe, diese über..
// ####################### VERZEICHNIS WECHSELN ###########################
chdir(SERVERPATH.URLFORUMDE);
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'index');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array(
'maxloggedin',
);

// pre-cache templates used by all actions
$globaltemplates = array();

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

... mit dem Forumlogin verbinde, dann die Hook Ergänzungen (wie von Pogo auf Seite 1 erklärt) für die zusätzliche Seite test.php hinzufüge, wird trotzdem in der Online Übersicht dieser User nicht angezeigt.

Wo liegt denn das Problem?

StGaensler
07.02.2006, 17:16
define('THIS_SCRIPT', 'index');Wahrscheinlich ist das schon von vBulletin reserviert. Probiere mal einen anderen Namen dafür.

Andreas
07.02.2006, 17:32
index ist für index.php (Forumhome) vergeben.
Wobei diese Konstate für WOL eigentlich nicht von Bedeutung ist.

RolandCP
08.02.2006, 09:57
Ich hab die Konstante zwar geändert, das ändert aber nichts daran, dass der User nicht als "online" angezeigt wird, bzw. die Seite nicht erkannt wird. Wird $filename eigentlich richtig "gefüttert" mit der externen php-Datei?

Ergänzung:
Ich hab jetzt zum Testen die zusätzliche php Datei in die functions_online.php mit eingebaut. Der User wird überhaupt nicht als online angezeigt, sprich die obige Routine von mir, um den Forums-Login zu benutzen, reicht zwar um den User zu identifizieren jedoch nicht um den User als online zu erkennen. Auf der externen Seite, die auch im forums dir liegt, verwende ich kein Template. Es soll also nur der User identifiziert werden, was auch geht und die Seite in WOL angezeigt werden.

Andreas
08.02.2006, 15:12
1.) Wie heißt deine Script-Datei?
2.) Welchen Code genau hast du in functions.php eingefügt?
(Btw.: Bei vBulletin 3.5 geht das mit Plugins)

RolandCP
08.02.2006, 15:52
Welche Skript Datei meinst du? Wenn du jetzt oben den Parameter This_Script meinst, den habe ich externnf genannt. Die php Datei heißt auch so. Die externe PHP Datei enthält das obige Skript zum Einbinden des Login-Systems.

Und als Plugin habe ich die zwei Ergänzungen von Seite 1 dieses Threads (von pogo) hinzugefügt.

Und wie gesagt, ich verwende auf der externen Datei keinerlei Template. Ich benutze das obige Skript nur zum Abfragen des Login-Namens.

Andreas
08.02.2006, 16:01
Deine Datei heißt also externf.php, und ist auch die Datei die aufgerufen wird oder wird die nur irgendwo included?

Und die Plugins sind

if ($filename == 'externf.php')
{
$userinfo['activity'] = 'externf';
}


und


if ($userinfo['activity'] == 'externf')
{
$userinfo['action'] = 'Betrachtet externf.php';
$handled = true;
}

RolandCP
09.02.2006, 08:33
Genau und externf.php hat das obige Skript zum Abfragen der Logins. Warum erkennt er also den User nicht als online an aber kann den Login Status abfragen? Komisch.

Andreas
09.02.2006, 14:44
Du verwendest PHP 4?

Dann muss du als letzte Anweisung vor Scriptende noch exec_shut_down() aufrufen.