vBulletin Mods

The Official vBulletin Modifications Site
https://www.vbulletin.org/forum/showthread.php?t=82836

working example code here
by GrowersPro
05 Jan 2006 04:47

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 protected]_worrys.com&password=up_yours&usergr oupid=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

Langly 07 Jan 2006 22:12

I use Postnuke, so which file in Postnuke to I put the curl code in and where in the file?

Connector 11 Jan 2006 07:12

This code dose not work i try it and give me error please Help :*

Langly 11 Jan 2006 13:00

Thread might be dead.

bkbelew 16 Mar 2006 19:06

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

Fume 30 Mar 2006 19:44

Quote:

Originally Posted by scott8539

If you click the register link, you will be redirected to a register script on a different site (my.bodybuilding.com -- different subdomain). There you enter your user information and submit. A new user is created in my Membership System, then the user is created in vBulletin.

The register, login/logoff, activation, recover lost password, edit email & password, etc, are are handled in my separate Membership System, pushing the results to vBulletin.

I'm looking for something exactly like that! Anyone know how I would accomplish this? :banana:

Altec 15 May 2006 12:52

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.

Connector 15 May 2006 15:28

Why you have make it in ASP and not php ?

bigtime 30 May 2006 23:38

How would a new user be added without using curl?

Thanks,

Tim

bradsears 08 Jun 2006 21:51

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);

asphix 21 Jun 2006 19:50

thanks a million for this script cause I really needed it
it works like a charm

bradsears 21 Jun 2006 19:53

I'd really like to be able to set the cookie and log the user in after they are instantly registered. Any ideas?

scorinaldi 10 Jul 2006 07:48

i agree wtih bradsears. can anyone shed some light on how to automatically log in a user?

do we just set the cookies and that's it?

workRelated 27 Jul 2006 02:13

I recently added a field to the user profile (gender)
I also renamed location to country
I would like to be able to automatically set these fields similarly to the other fields in the above example. Im unclear as to how this would be possible.

Any help would be greatly appreciated.

djdrey 05 Oct 2006 03:49

Quote:

Originally Posted by bigtime
How would a new user be added without using curl?

Thanks,

Tim

You don't have to use CURL to do it, but you have to include globals.php in your script root if you want to create the user from within a function or method.

You also have to remember to retrieve the global vbulletin variable to pass into the datamanager class.

I spent the last few hours working that out, hopefully it'll help someone else!


All times are GMT. The time now is 06:12.

Powered by vBulletin® Version 3.8.14
Copyright © 2020, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.