Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Change Guest to User on threads (EZBoard) Details »»
Change Guest to User on threads (EZBoard)
Version: 1.00, by Freddie Bingham Freddie Bingham is offline
Developer Last Online: Aug 2016 Show Printable Version Email this Page

Version: 3.5.1 Rating:
Released: 11-11-2005 Last Update: Never Installs: 12
 
No support by the author.

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

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.

PHP Code:
<?
/***************************************************************************
*        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();

// #############################################################################

?>

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 09-16-2006, 11:03 AM
perfphysio's Avatar
perfphysio perfphysio is offline
 
Join Date: Sep 2006
Location: London, UK
Posts: 212
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

And does it work on 3.6.1

Actually I will try to see if it does so now. Wish me luck. Really it would be great if this was a standard feature on the admin cp

OK... the udpate is ....... wait for it.......... this all seems to work flawlessly on my new inport and subsequent upgrade form 3.6 to 3.6.1

thanks to all for making this possible
Reply With Quote
  #13  
Old 09-16-2006, 12:18 PM
perfphysio's Avatar
perfphysio perfphysio is offline
 
Join Date: Sep 2006
Location: London, UK
Posts: 212
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by perfphysio
And does it work on 3.6.1

Actually I will try to see if it does so now. Wish me luck. Really it would be great if this was a standard feature on the admin cp

OK... the udpate is ....... wait for it.......... this all seems to work flawlessly on my new inport and subsequent upgrade form 3.6 to 3.6.1

thanks to all for making this possible
I have run into one small problem. I have setup new user titles to match those in my old board. Once mapping the userid's the script suggests that I update the titles section, i.e. rerun it. I have done this several times and have also rerun the post counts for the users several times. The news users posts count all is displaying and searching correctly however the titles are remaining as if they have a post count of 0.

Is there something I am missing?

Reply With Quote
  #14  
Old 11-20-2006, 09:46 PM
mfarmerhi mfarmerhi is offline
 
Join Date: Apr 2003
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can this script be used for associating old guest posts on your vB board with current users?
Reply With Quote
  #15  
Old 12-03-2006, 12:44 PM
deeoo deeoo is offline
 
Join Date: Nov 2006
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works great on 3.6.4
Reply With Quote
  #16  
Old 08-03-2007, 05:13 PM
NeutralizeR NeutralizeR is offline
 
Join Date: Aug 2005
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wish it was possible to merge all of the deleted user accounts with a specific registered member account.
Reply With Quote
  #17  
Old 02-09-2008, 01:04 PM
NeutralizeR NeutralizeR is offline
 
Join Date: Aug 2005
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

I need a small help with this script.

This is the script content:
PHP Code:
<?
***************************************************************************
*        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
*
*        
*******************************************************************************/

error_reporting(E_ALL & ~E_NOTICE);

define('THIS_SCRIPT', 'misafir');

$phrasegroups = array();
$specialtemplates = array();
$globaltemplates = array();
$actiontemplates = array();

require_once('./global.php');
require_once(DIR . '/includes/adminfunctions.php');

print_cp_header('Silinmiş ?ye Mesajı Aktarıcısı');

if ($_POST['do'] == 'update')
{
    $vbulletin->input->clean_array_gpc('p', array(
        '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']))
    {

        if (!($getuser = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username='Misafir'")))
        {
            echo "<b>Ge?ersiz bir ?ye adı girdiniz!</b><br />\n";
            echo "<b>Misafir</b> adında bir ?ye kayıtlı değil.<br><br>\n";
        }
        else
        {
            echo "Silinmiş <b>" . $vbulletin->GPC['oldusername'] . "</b> hesabının mesajları <b>Misafir (#" . $getuser['userid'] . ")</b> hesabına aktarılıyor...";
         $db->query_write("
             UPDATE " . TABLE_PREFIX . "post
             SET userid = $getuser[userid],
                 username = 'Misafir'
             WHERE username = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
         ");
         $db->query_write("
             UPDATE " . TABLE_PREFIX . "thread
             SET postuserid = $getuser[userid],
                 postusername = 'Misafir'
             WHERE postusername = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
         ");
         $db->query_write("
             UPDATE " . TABLE_PREFIX . "thread
             SET lastposter = 'Misafir'
             WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
         ");
         $db->query_write("
             UPDATE " . TABLE_PREFIX . "forum
             SET lastposter = 'Misafir'
             WHERE lastposter = '" . $db->escape_string($vbulletin->GPC['oldusername']) . "'
         ");
         echo "<b>Bitti!</b><br /><br />\n";

         if (!($totalposts = $db->query_first("SELECT COUNT(postid) AS posts FROM " . TABLE_PREFIX . "post WHERE userid = $getuser[userid]")))
         {    
             $totalposts['posts'] = 0;
         }
         $db->query_write("UPDATE " . TABLE_PREFIX . "user SET posts = $totalposts[posts] WHERE userid = $getuser[userid]");
         echo "Misafir'in toplam mesaj sayısı <b>" . $totalposts['posts'] . "</b><br />\n";

            echo "Şimdi ?ye başlıklarını g?ncellemelisiniz.<br /><br />\n";
        }
    }
    else
    {
        echo "<b>Silinmiş ?yenin adını girmediniz!</b><br />\n";
        echo "L?tfen silinmiş ?ye hesabının adını girip kaydet tuşuna tıklayınız.<br />\n";
    }
echo '</td></tr></table>';
}

print_form_header('misafir', 'update');
print_table_header('Silinmiş ?yenin Mesajlarını Misafir Hesabına Aktarın');
print_input_row('Silinmiş ?yenin Adı', 'oldusername');
print_submit_row();
print_table_footer();

print_cp_footer();

?>
It helps me to merge deleted members' posts with the "Misafir" account. I'm going to add this script to the modcp but there is a problem.

It doesn't check if a user is deleted or still registered. Moderators can move registered members' posts to "Misafir" account and i want to prevent this.

Shortly, i need a usergroup id check for

PHP Code:
if $vbulletin->GPC['oldusername'] = $vbulletin->userinfo['usergroupid'] == 
Not sure how to do this.

Can you PLEASE tell me how to check if 'oldusername' is a usergroupid=1 or NOT.

Regards!
Reply With Quote
  #18  
Old 02-12-2008, 12:44 PM
holwebs holwebs is offline
 
Join Date: Jan 2008
Location: Colchester, UK
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Am just reporting back that I've used this script fine with v3.6.8 (latest patch).

Re the comment on User Titles - if you go to User Titles in Admin after you've all your linking, change titles to what you want & click on the link on that screen 'Update User Titles' (or something similar), it works fine & all my users have their correct titles.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:24 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06484 seconds
  • Memory Usage 2,314KB
  • Queries Executed 22 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (7)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete