PHP-Code ausführen

Stefan

Bekanntes Mitglied
Lizenzinhaber
Registriert
9. Juni 2013
Beiträge
469
Punkte
108
Ich möchte gerne einen PHP-Code ausführen, der nach der Registrierung in den benutzerdefierten Feldern die IP-Nummer des Mitgliedes hinterlegt. Meine Frage dazu habe ich auch hier gepostet:

http://www.xendach.de/threads/xen-callback-php-code-in-xenforo-templates-einbetten.1467/#post-21324

Wie kann ich denn dem PHP-Script die aktuelle User-ID mitgeben? Weil so gehts leider nicht:
<xen:callback class="XenDACH_XenCallbackTag_SimpleCallback" method="getSimpleOutput">{$user.user_id}</xen:callback>

bzw. wie muss ich dann in de PHP-Datei darauf zugreifen (weil so klappt es nicht public static function getSimpleOutput($user_id) {
... )? Danke für jeden Tipp!

Und gibt es noch ein Tipp, wie ich auf die Datenbank per PHP zugreifen kann, ohne großartig eine neue Datenbank per mysql_connect zu verbinden?

Wäre klasse, wenn mir da einer helfen kann. Danke im Voraus

Stefan
 
Ok ich habe es selber rausbekommen. Es geht so:
<xen:callback class="XenDACH_XenCallbackTag_SimpleCallback" method="getModifiedOutput">{$visitor.user_id}</xen:callback>

ABER: Die Frage wegen der MySQL-Verbindung besteht noch :-(
 
falscher Ansatz.
Für soetwas sind die Template Callbacks nicht gedacht.

Du "willst";) entweder den Register Controller oder den User DataWriter erweitern um dort nach dem Registrieren die IP zu speichern, WOBEI das eigentlich unnötig ist.
Das wird beim XF sowieso gemacht!

Wenn du dir den Register Controller ansiehst, findest du dort
PHP:
// log the ip of the user registering
     XenForo_Model_Ip::log($user['user_id'], 'user', $user['user_id'], 'register');
 
Aber in welcher Tabelle wird genau die IP-Nummer gespeichert?

Und kann ich in mein Callback Script auch auf die Datenbank zugreifen, ohne die config.php zu requiren? Komischerweise funktioniert auch das require_once("library/config.php"); nicht korrekt, musste in der config.php mit defines arbeiten, damit ich die Variablen auslesen kann ( define("host", $config['db']['host']); ) ...
 
Zurück
Oben