Hey there,
if you haven't solved it yet, I took this out of the admincp/user.php, section "kill", so this is the official process
PHP Code:
$info = fetch_userinfo($vbulletin->GPC['userid']);
if (!$info)
{
print_stop_message('invalid_user_specified');
}
if ($vbulletin->GPC['transfer_groups'])
{
// fetch groupmember info for groups that the deleted user has ownership of
$sgmember_query = $vbulletin->db->query("
SELECT socialgroup.groupid AS sgroupid, sgmember.*
FROM " . TABLE_PREFIX . "socialgroup AS socialgroup
LEFT JOIN " . TABLE_PREFIX . "socialgroupmember AS sgmember
ON sgmember.groupid = socialgroup.groupid
AND sgmember.userid = " . $vbulletin->userinfo['userid'] . "
WHERE creatoruserid = " . $vbulletin->GPC['userid'] . "
");
if ($vbulletin->db->num_rows($sgmember_query))
{
while ($sgmember = $vbulletin->db->fetch_array($sgmember_query))
{
// ensure the current user is a full member of the group
if ($sgmember['type'] != 'member')
{
$socialgroupmemberdm = datamanager_init('SocialGroupMember', $vbulletin);
if ($sgmember['userid'])
{
$socialgroupmemberdm->set_existing($sgmember);
}
$socialgroupmemberdm->set('userid', $vbulletin->userinfo['userid']);
$socialgroupmemberdm->set('groupid', $sgmember['sgroupid']);
$socialgroupmemberdm->set('dateline', TIMENOW);
$socialgroupmemberdm->set('type', 'member');
$socialgroupmemberdm->save();
}
}
$vbulletin->db->free_result($sgmember_query);
// transfer all of the groups to the current user
$vbulletin->db->query_write("
UPDATE " . TABLE_PREFIX . "socialgroup
SET creatoruserid = " . $vbulletin->userinfo['userid'] . ",
transferowner = 0
WHERE creatoruserid = " . $vbulletin->GPC['userid'] . "
");
}
}
$userdm =& datamanager_init('User', $vbulletin, ERRTYPE_CP);
$userdm->set_existing($info);
$userdm->delete();
unset($userdm);