marocnl
01-28-2009, 10:05 AM
Hi All,
My aim is to "mirror" user profile information to another mySQL table.
So I need to update this mirror table on profile changes (when user edited his profile).
for exemple, if user modify his/her email address in userCP.
The following hook is working but ...
// User Edited Profile on VBulletin
$etnoresult1 = $db->query_first("SELECT field4 FROM vb_userfield WHERE userid = " . $vbulletin->userinfo['userid'] . ";");
$etnoresult2 = $db->query_first("SELECT * FROM vb_user WHERE userid = " . $vbulletin->userinfo['userid'] . ";");
// Update phplist user info
//$db->query_write("UPDATE pl_usr_user SET email = \"" . $etnoresult2['email'] . "\" WHERE uniqid= \"" . $etnoresult1['field4'] . "\" LIMIT 1 ;");
$db->query_write("UPDATE pl_usr_user SET email = \"" . $vbulletin->userinfo['email'] . "\" WHERE uniqid= \"" . $etnoresult1['field4'] . "\" LIMIT 1 ;");
Wherever I put the hook location (see above) both $vbulletin->userinfo['email'] and the value read in vB database is pointing the former email address and not the new one (entered by user).
I tried placing hook in many location like profile_updatepassword_complete, profile_complete, etc.
I tried refresh by calling global.php
I even try to move hook location after $userdata->save(); in profile.php
Hope I am clear enough. Thanks for your help.
vB version is 3.8.0
My aim is to "mirror" user profile information to another mySQL table.
So I need to update this mirror table on profile changes (when user edited his profile).
for exemple, if user modify his/her email address in userCP.
The following hook is working but ...
// User Edited Profile on VBulletin
$etnoresult1 = $db->query_first("SELECT field4 FROM vb_userfield WHERE userid = " . $vbulletin->userinfo['userid'] . ";");
$etnoresult2 = $db->query_first("SELECT * FROM vb_user WHERE userid = " . $vbulletin->userinfo['userid'] . ";");
// Update phplist user info
//$db->query_write("UPDATE pl_usr_user SET email = \"" . $etnoresult2['email'] . "\" WHERE uniqid= \"" . $etnoresult1['field4'] . "\" LIMIT 1 ;");
$db->query_write("UPDATE pl_usr_user SET email = \"" . $vbulletin->userinfo['email'] . "\" WHERE uniqid= \"" . $etnoresult1['field4'] . "\" LIMIT 1 ;");
Wherever I put the hook location (see above) both $vbulletin->userinfo['email'] and the value read in vB database is pointing the former email address and not the new one (entered by user).
I tried placing hook in many location like profile_updatepassword_complete, profile_complete, etc.
I tried refresh by calling global.php
I even try to move hook location after $userdata->save(); in profile.php
Hope I am clear enough. Thanks for your help.
vB version is 3.8.0