PDA

View Full Version : registration_activate_process variables problem


citricguy
07-11-2008, 09:19 PM
I have a plug-in I'm working on that is running at the registration_activate_process hook. (Is this the best place to be running code "post-signup/email confirmation?"

I am using these variables:

$username = $vbulletin->userinfo[username];
$email= $vbulletin->userinfo[email];
$userid= $vbulletin->userinfo[userid];

Here is my problem.

60% of the time that the code is run, the actual username is found in the variable (for example: $vbulletin->userinfo[username] = <registering users name>), the other 40% of the time, the variable contains "Unregistered" or the default "guest" user(?).

Is there another hook location that I should be using or another variable that will always capture the "user currently confirming their email address?" For reference, here is the plug-in I'm working on.

$username = $vbulletin->userinfo[username];
$email= $vbulletin->userinfo[email];
$userid= $vbulletin->userinfo[userid];


$xml = "<xmlrequest>
<username>hidden</username>
<usertoken>hidden</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>
<details>
<emailaddress>$email</emailaddress>
<mailinglist>1</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>
<customfields>
<item>
<fieldid>1</fieldid>
<value>$username</value>
</item>
<item>
<fieldid>2</fieldid>
<value>$userid</value>
</item>
</customfields>
</details>
</xmlrequest>
";

$ch = curl_init('http://www.hidden.com/email/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if($result === false) {
echo "Error performing request";
}
else {
$xml_doc = simplexml_load_string($result);
//echo 'Status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
//echo 'Data is ', $xml_doc->data, '<br/>';
} else {
//echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}

For reference: http://www.interspire.com/forum/showthread.php?t=10505

--------------- Added 1215820833 at 1215820833 ---------------

I think I may have pinpointed the problem... help! :)

So when I have cookies disabled during registration I get:


PHP Code:
$vbulletin->userinfo[username] = Unregistered

And when cookies are enabled during registration I get:


PHP Code:
$vbulletin->userinfo[username] = Correct User Name

tested that theory 4 times now and it seems to be accurate.

Any ideas for always being able to collect data from $vbulletin->userinfo[username] even if cookies are disabled on the userside during the registration_activate_process hook run?

Opserty
07-11-2008, 11:33 PM
Its always best to check the PHP Code running there. $userinfo is the variable you're looking for. ;)


$userinfo['username']

citricguy
07-11-2008, 11:40 PM
Nailed it. Thank you!