Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Shared user database for multiple forums, same server Details »»
Shared user database for multiple forums, same server
Version: 1.00, by CyberRanger CyberRanger is offline
Developer Last Online: Jan 2015 Show Printable Version Email this Page

Version: 3.0.9 Rating:
Released: 10-11-2005 Last Update: Never Installs: 15
Code Changes  
No support by the author.

For version 3.5x+, please see https://vborg.vbsupport.ru/showthread.php?t=118473

This thread will detail how to have a single login for multiple forums. It makes the following assumptions:
  • A valid vbulletin license exists for each install
  • All forums will be on the same server
  • You already have one forum operational AND that forum uses a BLANK $tableprefix!
  • One database will contain all the tables
This thread is a follow-up from this discussion over at vbulletin.com. Thanks to Brains for some pointers!

Here are the steps:
  1. Copy your forum directories to a parallel directory (for example copy /www/forums to /www/new_forums)
  2. In /includes/config.php, change $tableprefix (line 91) to a new prefix [for example $tableprefix = 'new_';]
  3. Run the vb install from the new directory (/www/new_forums/install/install.php)
  4. During the install, be sure NOT to empty the tables. If you have any doubt about what this means, stop NOW! If you empty the tables, you will lose all of your existing data from a prior install!
  5. Download the files from these directories to your PC: /new_forums, /new_forums/admincp, /new_forums/archive, /new_forums/includes, /new_forums/modcp, /new_forums/subscriptions
  6. We are now going to make global changes to the files in the folders (and subfolders) above. I used Dreamweaver's "edit-find and replace" function with "find in" set to "Entire Current Local Site". We are basically going to remove the "TABLE_PREFIX" from any code dealing with the user. (Note - if you are comfortable with unix command, you could do these changes from the command line on the server.)
  7. Run the following find and replace operations:
    • Find [" . TABLE_PREFIX . "user] (find what's inside the brackets). Replace with [?.?user] This should find 562 instances of user, usergroup, userfield, and usertextfield
    • Find [" . TABLE_PREFIX . "strikes] (find what's inside the brackets). Replace with [?.?strikes] This should find 5 instances of strikes
    • Find [" . TABLE_PREFIX . "pm] (find what's inside the brackets). Replace with [?.?pm] This should find 61 instances of pm, pmtext, pmtextid, and pmreceipt.
    • Upload these directories back to the server.
  8. We now need to do a little fine tuning
    • In /includes/functions.php: on line 1171 remove the table_prefix before $idname.
    • In /includes/adminfunctions: modify print_choser_row (line 1161)to check for $tableid of user, usergroups

      PHP Code:
      if ($tableid == "user" OR $tableid == "usergroup") {
                      
      $result $DB_site->query("SELECT title, $tableid FROM "."$tablename $wherecondition ORDER BY title");
              } else {
                      
      $result $DB_site->query("SELECT title, $tableid FROM " TABLE_PREFIX "$tablename $wherecondition ORDER BY title"); // existing code
              

    • In /includes/adminfunctions_user.php around line 116 (construct_style_chooser)

      PHP Code:
          $tableid $tablename "id";

          if (
      $tablename == "user" OR $tablename == "usergroupid") {
              
      $result $DB_site->query("
                  SELECT title, 
      $tableid
                  FROM "
      ."$tablename
                  WHERE userselect = 1
                  ORDER BY title
              "
      );

          } else {
                      
      // existing code
                              
      $result $DB_site->query("
                  SELECT title, 
      $tableid
                  FROM " 
      TABLE_PREFIX "$tablename
                  WHERE userselect = 1
                  ORDER BY title
              "
      );
          } 

Done! Both forums are now accessed by the same user table! PM's are unified across forums as is the user count.

Show Your Support

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

Comments
  #72  
Old 01-31-2006, 10:54 AM
Avalon111 Avalon111 is offline
 
Join Date: Dec 2004
Location: Austria
Posts: 84
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by westpointer
I keep saying I intend to update this but between RL, helping with ecDownloads, finishing up a new extension I'm about to release ... not enough time in the day!
i am looking forward to it!

thank you for your efforts!!!
Reply With Quote
  #73  
Old 02-01-2006, 02:09 AM
hugojr hugojr is offline
 
Join Date: Oct 2005
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am getting the following errors in the admincp once I try to change a users permission.



Code:
Warning: Invalid argument supplied for foreach() in /admincp/user.php on line 905



Warning: Invalid argument supplied for foreach() in /admincp/user.php on line 924


can someone please tell me what this means
Reply With Quote
  #74  
Old 02-01-2006, 03:10 AM
psalzmann psalzmann is offline
 
Join Date: Mar 2004
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by westpointer
Peter - thanks for explaining some of the above. Yes, this is for vb3.0.x. The concept is the same for vb 3.5.x but you will need to make changes, especially for #8. I keep saying I intend to update this but between RL, helping with ecDownloads, finishing up a new extension I'm about to release ... not enough time in the day!
Sure,

One thing I can say that is not working as described in your how to, would be the Member Count. For some reason, after 2-3 days now, New Forum #2 is still only showing 1 user.... however is there something I can run to sync this up? You quickly mentioned something about waiting for Cron to refresh. Where exactly do I run this to refresh? and wouldn't it have done it already?

Regards,
Peter
Reply With Quote
  #75  
Old 02-01-2006, 12:01 PM
oldengine oldengine is offline
 
Join Date: Mar 2004
Posts: 257
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm looking forward to this on 3.5.3 so I can run a forum on one domain and classified ads on another.
Reply With Quote
  #76  
Old 02-07-2006, 06:54 AM
lanas lanas is offline
 
Join Date: Aug 2005
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Please help me, after applying this hack I can't login in the admincp!
Everything else seems working fine, but when I login in admincp I return to login form, maybe a session problem?

:ermm:
Reply With Quote
  #77  
Old 02-09-2006, 12:02 AM
oldengine oldengine is offline
 
Join Date: Mar 2004
Posts: 257
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This worked for me when I got locked out:

http://www.vbulletin.com/forum/showthread.php?t=73439

Post #23
Reply With Quote
  #78  
Old 02-12-2006, 08:30 PM
MSC MSC is offline
 
Join Date: Feb 2005
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is this the same code for 3.5.2 or do I need to change anything.

Cheers,

Chris
Reply With Quote
  #79  
Old 02-26-2006, 11:44 AM
xlguy's Avatar
xlguy xlguy is offline
 
Join Date: Feb 2004
Location: UK
Posts: 168
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Westy: Any luck working out how do this for 3.5.x? I really need to have two installs of vB sharing the same user database and so far this is the nearest thing I've found. Cheers for your help so far.
Reply With Quote
  #80  
Old 02-26-2006, 02:54 PM
hbalagh1's Avatar
hbalagh1 hbalagh1 is offline
 
Join Date: Jun 2005
Location: San Diego
Posts: 230
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I too could use this for 3.5.x
Reply With Quote
  #81  
Old 02-26-2006, 09:59 PM
psalzmann psalzmann is offline
 
Join Date: Mar 2004
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't think you guys realize... that this is a general hack that is not just for vb 3.. it can be used in ANY vb version, it's the "guts" behind the hack/info that defines how or what should be done.

Keep in mind, even with the proper info above for the "set" version he is writing this hack for, still does not work out of the box. Well, it does kinda, if you use the exact version the author is using. However, even the instructions I had to work with, I was missing some strikes table and a few others.. I just skipped them. No harm done.

The only problem I've had with this hack is very minor --

When you have a Running board, with say 1000 members or posts and then begin this hack to a fresh board, the new board statistics do not reflect the old board.

ie: 1 Thread, 1 Post, 1 Members

Then I made a tweak to at least show who's online (I made old board and the new board look at the same `sessions` table, so now if there are 5 users on the old board, there is 5 users + how many users are on the new board. That works.

The problem we have is the "new fresh board" member count. It's only showing 1 member - Admin. However, now I've got to find a way to refresh this stats.. if possible.. to reflect what both boards show. I think it's some serilized data somewhere in the db. I'll figure it out soon enough.
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 06:54 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05133 seconds
  • Memory Usage 2,326KB
  • Queries Executed 25 (?)
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
  • (1)bbcode_code
  • (2)bbcode_php
  • (2)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
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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