Andree
14.08.2005, 13:18
Ich habe folgendes Problem:
Füge ich folgenden Code ganz am Ende der global.php ein:
$idvorhanden = $db->query_first("
SELECT id_test
FROM " . TABLE_PREFIX . "test
WHERE id_test = " . $vbulletin->userinfo['userid'] . "
");
if ($idvorhanden == '')
{}
else
{
eval('$footer .= "' . fetch_template('test_script') . '";');
}
funktioniert das zu 100 %. und mein template wird richtig angezeigt.
Baue ich diesen Code nun in das PlugIn System ein und nutze den Einstiegspunkt (Hook) global_complete bekomme ich folgende Fehlerausgabe:
Fatal error: Call to a member function on a non-object in /srv/www/htdocs/web4/html/forum/includes/functions.php(4191) : eval()'d code on line 2
Hmm. Zuerst dachte ich ja das der Hook global_complete dafür steht, dass er am Ende der global.php Ausführung gesetzt wurde. (somit meine Schlussfolgerung, irgendwo am Ende der global.php).
Ist aber nicht der Fall.
Nun meine Frage.
Welchen Einstiegspunkt kann ich denn nun nutzen?
[I]Ich brauche einen Hook, der erst nach kompletter Ausführung der global.php steht und für alle Seiten gültig ist.
Und noch eine andere Frage. Wenn es keinen solchen Einstiegspunkt gibt, besteht die Möglichkeit, dass ein solcher bis zur finalen 3.5 Version noch integriert wird?
Sicherlich könnte ich mir am Ende der global.php ja selbst einen setzen, allerdings wäre das Plug-In-System in diesem Fall (für diese Modifikation) absolut überflüssig. Ziel soll es ja sein, seinen eigenen Code zu integrieren, ohne das man Änderungen an den orginalen Dateien vornehmen muss.
Ich meine mich zu erinnern, dass eine Frage um einen Hook am Ende der global.php auch auf vBulletin.com gestellt wurde. Dies wurde aber (so glaube ich) verworfen.
Leider ist mein englisch nicht so gut das ich mein Anliegen dort vortragen könnte.
Jemand eine Idee?
PcFreak
PS: Natürlich habe ich auch andere Hooks (Allgemeine) ausprobiert. Leider alles ohne Erfolg. Wie gesagt nur ein direktes Einfügen des Codes ganz am Ende der global.php funktioniert.
Füge ich folgenden Code ganz am Ende der global.php ein:
$idvorhanden = $db->query_first("
SELECT id_test
FROM " . TABLE_PREFIX . "test
WHERE id_test = " . $vbulletin->userinfo['userid'] . "
");
if ($idvorhanden == '')
{}
else
{
eval('$footer .= "' . fetch_template('test_script') . '";');
}
funktioniert das zu 100 %. und mein template wird richtig angezeigt.
Baue ich diesen Code nun in das PlugIn System ein und nutze den Einstiegspunkt (Hook) global_complete bekomme ich folgende Fehlerausgabe:
Fatal error: Call to a member function on a non-object in /srv/www/htdocs/web4/html/forum/includes/functions.php(4191) : eval()'d code on line 2
Hmm. Zuerst dachte ich ja das der Hook global_complete dafür steht, dass er am Ende der global.php Ausführung gesetzt wurde. (somit meine Schlussfolgerung, irgendwo am Ende der global.php).
Ist aber nicht der Fall.
Nun meine Frage.
Welchen Einstiegspunkt kann ich denn nun nutzen?
[I]Ich brauche einen Hook, der erst nach kompletter Ausführung der global.php steht und für alle Seiten gültig ist.
Und noch eine andere Frage. Wenn es keinen solchen Einstiegspunkt gibt, besteht die Möglichkeit, dass ein solcher bis zur finalen 3.5 Version noch integriert wird?
Sicherlich könnte ich mir am Ende der global.php ja selbst einen setzen, allerdings wäre das Plug-In-System in diesem Fall (für diese Modifikation) absolut überflüssig. Ziel soll es ja sein, seinen eigenen Code zu integrieren, ohne das man Änderungen an den orginalen Dateien vornehmen muss.
Ich meine mich zu erinnern, dass eine Frage um einen Hook am Ende der global.php auch auf vBulletin.com gestellt wurde. Dies wurde aber (so glaube ich) verworfen.
Leider ist mein englisch nicht so gut das ich mein Anliegen dort vortragen könnte.
Jemand eine Idee?
PcFreak
PS: Natürlich habe ich auch andere Hooks (Allgemeine) ausprobiert. Leider alles ohne Erfolg. Wie gesagt nur ein direktes Einfügen des Codes ganz am Ende der global.php funktioniert.