The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Add new Users (automatically)
As this is a common request for integration purposes, I thought I should write up another HowTo If you want to add a new user to the vBulletin database, you can use Class vB_Datamanager_User. This Calss does make sure that everything is OK, it will also take care of the default registration options. Example PHP Code:
PHP Code:
If everything is OK PHP Code:
You can also set many other info too:
Besides that, you can also set the options Bitfield (Receive Admin PMs, etc.) PHP Code:
Value must be 0 or 1 (false or true), depending if you want to set the option or not. If the Options are not set, the Default Registration Options/Board Default Options will be used. Important Notice It is assumed that you are using this code from 'within' vBulletin, eg with the vBulletin backend loaded. If this is not the case, you must include smth. like the following code in global context: PHP Code:
This How-To is (C) 2005 by KirbyDE and you are not allowed to redistribute it in any way without my explicit consent. |
#32
|
|||
|
|||
following code place earlier plus example of code for the curl call in php
STEP I this file need to to be placed in the forum directory of vbulletin (make sure it is in this directory to initialise vbulletin stuff ......) no change done from previous poster you can include the code below in one php page. call it whatever you want i call it great_stuff_dude.php thus i need to MAKE sure that the name of the page is correctly entered in the define below define('THIS_SCRIPT', 'GREAT_STUFF_DUDE.php'); do the same in the code below ---------------------------------------------------------------------- <?php # Add a user to vBulletin (offline) function qpc_post($varname) { return trim(stripslashes((get_magic_quotes_gpc()) ? $_POST[$varname] : addslashes($_POST[$varname]))); } define('THIS_SCRIPT', 'GREAT_STUFF_DUDE.php'); require_once('./global.php'); require_once('./includes/class_dm.php'); require_once('./includes/class_dm_user.php'); $userdm = new vB_DataManager_User($vbulletin, ERRTYPE_ARRAY); $userdm->set('username', qpc_post('username')); $userdm->set('email', qpc_post('email')); $userdm->set('password', qpc_post('password')); $userdm->set('usergroupid',qpc_post('usergroupid')); $userdm->set('ipaddress', qpc_post('ipaddress')); $userdm->set('referrerid', qpc_post('referrername')); $userdm->set('timezoneoffset', qpc_post('timezoneoffset')); $userdm->set_bitfield('options', 'adminemail', intval(qpc_post('adminemail'))); $userdm->set_bitfield('options', 'showemail', intval(qpc_post('showemail'))); $dst_setting = intval(qpc_post('dst')); switch ($dst_setting) { case 0: case 1: $userdm->set_bitfield('options', 'dstonoff', $dst_setting); break; case 2: $userdm->set_bitfield('options', 'dstauto', 1); break; } #If there are errors (eMail not set, eMail banned, Username taken, etc.) you can check for errors using if (count($userdm->errors)) { for($i=0; $i<count($userdm->errors); $i++) { print "ERROR{$i}:{$userdm->errors[$i]}\n"; } } else { # If everything is OK $newuserid = $userdm->save(); print "vbuserid:$newuserid\n"; } ?> ------------------------------------------------------------------- STEP II You can have the following code on server running PHP WHEREVER YOU WANT. it does not need to be on the same domain as long as you have the curl compiled in that script (again call it whatever you want it does not matter) you call the url of your web server and path to go to the page GREAT_STUFF_DUDE.php you can of course include it in the login code of your CMS to create profiles in both systems in one step. ------------------------------------------------------------------- <?php $url="http://www.mysite.com/vbulletin3000/GREAT_STUFF_DUDE.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, "username=keith_mayass&email=keith_mayass@no_worry s.com&password=up_yours&usergroupid=2&"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $store = curl_exec ($ch); $content = curl_exec ($ch); # This returns HTML curl_close ($ch); ?> --------------------------------------------------------- you can of course pass as may variables as you want if you have them available in your CMS to complete the profile. like parentemail showbirthday homepage icq aim yahoo msn skype usertitle customtitle birthday __-----__________------___ Ni vu ni connu, jt' embrouille |
#33
|
|||
|
|||
I use Postnuke, so which file in Postnuke to I put the curl code in and where in the file?
|
#34
|
|||
|
|||
This code dose not work i try it and give me error please Help :*
|
#35
|
|||
|
|||
Thread might be dead.
|
#36
|
|||
|
|||
Any update on this? I managed to add a user to the Vb database w/ just a couple simply mysql calls. But.... the password encryption was wrong ( i'm assuming ) it wouldn't allow the user to login. BUT if the user went through the lost password function, it would allow them to. Could someone help me w/ the command to encrypt the password w/ salt or whatever its using to add it into my database w/out having to hook anything from vb?
Thanks |
#37
|
|||
|
|||
Quote:
|
#38
|
|||
|
|||
I've managed to automatically add users to vBulletin via our website which is done in ASP. The only issue I'm having is that a user cannot 'SAVE' their signature (strange). Everything else works great...
Anyone have any ideas why? Thanks. |
#39
|
|||
|
|||
Why you have make it in ASP and not php ?
|
#40
|
|||
|
|||
How would a new user be added without using curl?
Thanks, Tim |
#41
|
||||
|
||||
Hi. I'd like to be able to send the registration email after the user registers. How do I do this. Thanks in advance.
-- edit -- I answered this one myself $activateid = build_user_activation_id($newuserid, 2, 0); eval(fetch_email_phrases('activateaccount')); vbmail($email, $subject, $message, true); |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|