Freddie Bingham
11-11-2005, 10:00 PM
This is an updated of the Ezboard Guest -> Registered user script. I took feldon's copy and hacked it up to 3.5 support.
The 3.0 version is here (https://vborg.vbsupport.ru/showthread.php?p=743904#post743904)
Please realize that I am extremely busy and probably won't be able to support this much. I do plan to integrate something more robust into vBulletin so you no longer need to come here to gain this functionality. Perhaps you can bug feldon23 for support? The 3.0/3.5 code differences are easy enough to understand when you compare the two.
Save this as ezimport.php and place it in your admincp directory. Also note that it has no Admincp permission checking so buyer beware.
<?
/************************************************** *************************
* ezboard import member converter 3.0b2
* Originally By Jason "DarkReaper" Rodzik
* Special Thanks to Firefly and Stallion
* Updated to vBulletin 3.0.x by Feldon
* Updated to vBulletin 3.5.x by Freddie, pester Feldon for support
*
* http://www.unrealtournament.org/forums
*
* Support for this hack at:
* http://vbulletin.com/forum/showthread.php?t=31443
************************************************** *****************************/
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'ezimport');
// #################### PRE-CACHE TEMPLATES AND DATA ######################
$phrasegroups = array();
$specialtemplates = array();
$globaltemplates = array();
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/adminfunctions.php');
// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################
// ################################################## ###########################
print_cp_header('EZBoard Post Associator');
if ($_POST['do'] == 'update')
{
$vbulletin->input->clean_array_gpc('p', array(
'newusername' => TYPE_NOHTML,
'oldusername' => TYPE_NOHTML,
));
echo '<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" class="tborder"><tr><td class="alt1" style="padding-left: 20px; padding-top: 20px;">';
if (!empty($vbulletin->GPC['oldusername']) AND !empty($vbulletin->GPC['newusername']))
{
if (!($getuser = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username='" . $db->escape_string($vbulletin->GPC['newusername']) . "'")))
{
echo "<b>You have entered an invalid vBulletin username!</b><br />\n";
echo "There is no user by the name of <b>" . $vbulletin->GPC['newusername'] . "</b> registered on this forum.<br><br>\n";
}
else
{
// get hold of his/her posts and update threads
echo "Associating vB user <b>" . $vbulletin->GPC['newusername'] . " (#" . $getuser['userid'] . ")</b> with their EZBoard posts under username <b>" . $vbulletin->GPC['oldusername'] . "</b>...";
$db->query_write("
UPDATE " . TABLE_PREFIX . "post
SET userid = $getuser[userid],
username = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE username = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "thread
SET postuserid = $getuser[userid],
postusername = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE postusername = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "thread
SET lastposter = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "forum
SET lastposter = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
echo "<b>Done!</b><br /><br />\n";
// Update post counts
if (!($totalposts = $db->query_first("SELECT COUNT(postid) AS posts FROM " . TABLE_PREFIX . "post WHERE userid = $getuser[userid]")))
{ // some versions of mysql like to return nothing if there are no matching rows when they should return 0
$totalposts['posts'] = 0;
}
$db->query_write("UPDATE " . TABLE_PREFIX . "user SET posts = $totalposts[posts] WHERE userid = $getuser[userid]");
echo "New post count is <b>" . $totalposts['posts'] . "</b><br />\n";
echo "You should now update your member titles.<br /><br />\n";
}
}
else
{
echo "<b>You have not entered a vBulletin username!</b><br />\n";
echo "Please enter new and old usernames and then click Update!<br />\n";
}
echo '</td></tr></table>';
}
// ################################################## ###########################
print_form_header('ezimport', 'update');
print_table_header('Merge vBulletin account with old EZBoard Posts');
print_input_row('vBulletin username', 'newusername');
print_input_row('EZBoard username', 'oldusername');
print_submit_row();
print_table_footer();
print_cp_footer();
// ################################################## ###########################
?>
The 3.0 version is here (https://vborg.vbsupport.ru/showthread.php?p=743904#post743904)
Please realize that I am extremely busy and probably won't be able to support this much. I do plan to integrate something more robust into vBulletin so you no longer need to come here to gain this functionality. Perhaps you can bug feldon23 for support? The 3.0/3.5 code differences are easy enough to understand when you compare the two.
Save this as ezimport.php and place it in your admincp directory. Also note that it has no Admincp permission checking so buyer beware.
<?
/************************************************** *************************
* ezboard import member converter 3.0b2
* Originally By Jason "DarkReaper" Rodzik
* Special Thanks to Firefly and Stallion
* Updated to vBulletin 3.0.x by Feldon
* Updated to vBulletin 3.5.x by Freddie, pester Feldon for support
*
* http://www.unrealtournament.org/forums
*
* Support for this hack at:
* http://vbulletin.com/forum/showthread.php?t=31443
************************************************** *****************************/
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'ezimport');
// #################### PRE-CACHE TEMPLATES AND DATA ######################
$phrasegroups = array();
$specialtemplates = array();
$globaltemplates = array();
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/adminfunctions.php');
// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################
// ################################################## ###########################
print_cp_header('EZBoard Post Associator');
if ($_POST['do'] == 'update')
{
$vbulletin->input->clean_array_gpc('p', array(
'newusername' => TYPE_NOHTML,
'oldusername' => TYPE_NOHTML,
));
echo '<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" class="tborder"><tr><td class="alt1" style="padding-left: 20px; padding-top: 20px;">';
if (!empty($vbulletin->GPC['oldusername']) AND !empty($vbulletin->GPC['newusername']))
{
if (!($getuser = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username='" . $db->escape_string($vbulletin->GPC['newusername']) . "'")))
{
echo "<b>You have entered an invalid vBulletin username!</b><br />\n";
echo "There is no user by the name of <b>" . $vbulletin->GPC['newusername'] . "</b> registered on this forum.<br><br>\n";
}
else
{
// get hold of his/her posts and update threads
echo "Associating vB user <b>" . $vbulletin->GPC['newusername'] . " (#" . $getuser['userid'] . ")</b> with their EZBoard posts under username <b>" . $vbulletin->GPC['oldusername'] . "</b>...";
$db->query_write("
UPDATE " . TABLE_PREFIX . "post
SET userid = $getuser[userid],
username = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE username = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "thread
SET postuserid = $getuser[userid],
postusername = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE postusername = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "thread
SET lastposter = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
$db->query_write("
UPDATE " . TABLE_PREFIX . "forum
SET lastposter = '" . $db->escape_string($vbulletin->GPC['newusername']) . "'
WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
");
echo "<b>Done!</b><br /><br />\n";
// Update post counts
if (!($totalposts = $db->query_first("SELECT COUNT(postid) AS posts FROM " . TABLE_PREFIX . "post WHERE userid = $getuser[userid]")))
{ // some versions of mysql like to return nothing if there are no matching rows when they should return 0
$totalposts['posts'] = 0;
}
$db->query_write("UPDATE " . TABLE_PREFIX . "user SET posts = $totalposts[posts] WHERE userid = $getuser[userid]");
echo "New post count is <b>" . $totalposts['posts'] . "</b><br />\n";
echo "You should now update your member titles.<br /><br />\n";
}
}
else
{
echo "<b>You have not entered a vBulletin username!</b><br />\n";
echo "Please enter new and old usernames and then click Update!<br />\n";
}
echo '</td></tr></table>';
}
// ################################################## ###########################
print_form_header('ezimport', 'update');
print_table_header('Merge vBulletin account with old EZBoard Posts');
print_input_row('vBulletin username', 'newusername');
print_input_row('EZBoard username', 'oldusername');
print_submit_row();
print_table_footer();
print_cp_footer();
// ################################################## ###########################
?>