Found a bug:
if your includes/config.php has its db type set to mysqli, it breaks registration, e.g:
Code:
$config['Database']['dbtype'] = 'mysqli';
To fix it, you need to update the register_addmember_process under Manage Products to the following:
Code:
//if the cookie exists then we know that the user already has an account
if (isset($_COOKIE['IDstack']) && $vbulletin->options['marpon'])
{
//set the usergroup to the one specified in options, or Users Awaiting Moderation
$userdata->set('usergroupid', $vbulletin->options['marpusergroup']);
//Automatic banning of previously banned users
if ($vbulletin->options['marpautobanon'] && $vbulletin->options['marpbannedgroup'])
{
$marpautoban = FALSE;
if($idstack = explode(',',$_COOKIE['IDstack']))
{
foreach ($idstack as $uid)
{
if (is_numeric($uid))
{
//check to see if any of the multiple users are banned
if (is_member_of(fetch_userinfo($uid), $vbulletin->options['marpbannedgroup']))
$marpautoban = TRUE;
}
}
//ban the user
if ($marpautoban)
$userdata->set('usergroupid', $vbulletin->options['marpbannedgroup']);
}
}
}
//IP based prevention
else
{
if ($vbulletin->options['marpipon'])
{
$ip = $_SERVER['REMOTE_ADDR'];
//check to see if another user exists with the same ip address
if ($multip = $vbulletin->db->query_read("SELECT userid,username,ipaddress FROM " . TABLE_PREFIX . "user WHERE ipaddress='{$ip}'"))
{
if ($vbulletin->db->num_rows($multip) > 1)
{
$userdata->set('usergroupid', $vbulletin->options['marpusergroup']);
$andids = " ". $vbulletin->userinfo['username'] ." ";
$andusers = $vbulletin->userinfo['username'];
while ($mip = $vbulletin->db->fetch_array($multip))
{
$andids .= ', ' . " ". $mip['username'] ." ";
$andusers .= ','.$mip['username'];
}
$message = construct_phrase($vbphrase['marp_ipmessage'], htmlspecialchars_uni($vbulletin->userinfo['username']), $andids, $ip);
$subject = construct_phrase($vbphrase['marp_subject'], htmlspecialchars_uni($vbulletin->userinfo['username']), $andusers, '[IP]');
// get admin users
$adminusers = split(",", $vbulletin->options['ae_adminusers']);
$fromuser = fetch_userinfo($vbulletin->options['ae_sender']);
$allowsmilie = '1';
$visible = '1';
// create the DM to do error checking and insert the new PM (needs to be here)
$pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_SILENT);
$ipaddress = $vbulletin->config['ae_adminip'];
if($vbulletin->options['ae_sendpm'] == '1')
{
$pmdm->set('fromuserid', $fromuser['userid']);
$pmdm->set('fromusername', $fromuser['username']);
$pmdm->set_info('reciept', false);
$pmdm->set_info('savecopy', false);
$pmdm->set('title', $subject);
$pmdm->set('message', $message);
$pmdm->set_recipients($vbulletin->options['ae_recipients'], $fromuser['permissions']);
$pmdm->set('dateline', TIMENOW);
$pmdm->save();
}
if($vbulletin->options['ae_startthread'] == '1' AND $vbulletin->options['ae_forumid'])
{
require_once(DIR . '/includes/class_dm_threadpost.php');
// setup variables
$forumid = $vbulletin->options['ae_forumid'];
$threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);
// insert thread
$threaddm->do_set('forumid', $forumid);
$threaddm->do_set('userid', $fromuser['userid']);
$threaddm->do_set('username', $fromuser['username']);
$threaddm->do_set('pagetext', $message);
$threaddm->do_set('title', $subject);
$threaddm->do_set('allowsmilie', $allowsmilie);
$threaddm->do_set('visible', $visible);
$tid = $threaddm->save();
require_once(DIR . '/includes/functions_databuild.php');
build_forum_counters($forumid);
}
}
}
}
}
it is changing "mysql_num_rows($multip)" to "$vbulletin->db->num_rows($multip)"