The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
Hi. I'm writing a plugin to use our external user database via SOAP. It creates the user in vb if the user does not already exist. If it does exist, it updates the vb password for the user to match whatever got authenticated through SOAP.
Everything works perfectly, except when a new user is created in vbb, they then get the failed log message. Simply refreshing the page logs them in. It's currently hooked at global_complete. Is there an existing hook which would solve the failed login message on new account creation, or does it sound like I missing something in the code? Any example of this type of thing out there? Version is 3.82. Thanks in advance. |
#2
|
||||
|
||||
![]()
How are you authenticating vBulletin? Are you setting cookies?
|
#3
|
|||
|
|||
![]()
Cookieuser is set as soon as they pass external auth. The account gets created fine. The only problem is that VB gives an incorrect login message following new account creation. Refreshing the error page logs the new user in without a problem.
Here's my code from that point until the end of the plugin: Code:
// User passed external authentication so set cookie $vbulletin->GPC['cookieuser'] = $vbulletin->GPC['vb_login_username']; // Check to see if externally authed user exists in VB $userid = $vbulletin->db->query_first_slave(" SELECT userid FROM ".TABLE_PREFIX."user WHERE LOWER(email) = LOWER('".mysql_real_escape_string($vbulletin->GPC['vb_login_username'])."')"); // If they exist in VB, get the userid if ($userid) { $newuser->set_existing(fetch_userinfo($userid['userid'], 0)); $newuser->set('password', $passwd); } // If not set up the externally authed user in VB else { $newuser->set('email', strtolower($vbulletin->GPC['vb_login_username'])); $newuser->set('username', $myuser); $newuser->set('usergroupid', 9); $newuser->set_bitfield('options', 'adminemail', true); $newuser->set_bitfield('options', 'emailonpm', true); $newuser->set_bitfield('options', 'vm_enable', true); $newuser->set('pmpopup', 1); $newuser->set('password', $passwd); $newuser->set('ipaddress',$ip); } // Return errors if there are any if ($newuser->errors) { process_logout(); eval(standard_error("Error creating/updating user<br/>" . $newuser->errors[0])); } // If not, save user else { $newuserid = $newuser->save(); } |
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|