Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.7 > vBulletin 3.7 Add-ons

Reply
 
Thread Tools
Share users database among many forums Details »»
Share users database among many forums
Version: 0.10, by mangel.ajo mangel.ajo is offline
Developer Last Online: May 2012 Show Printable Version Email this Page

Category: Major Additions - Version: 3.7.2 Rating:
Released: 07-10-2008 Last Update: 07-12-2008 Installs: 61
Re-useable Code Code Changes Translations Is in Beta Stage  
No support by the author.

This is a feature requested many times, and we are still waiting, so I released a patch to be able to run many forums with the same user database.

This is an EXPERIMENTAL PATCH I'm running on my forums.

Code:
--- ../../../private/upload/includes/class_core.php     2008-07-10 11:17:32.000000000 +0200
+++ class_core.php      2008-07-11 17:44:20.000000000 +0200
@@ -405,6 +405,33 @@
                $this->connection_recent =& $link;
                $this->querycount++;

+               $shared_tables = Array("user","useractivation","userban","usertitle","userchangelog","usertextfield","userfield","usergroup","userlist","usernote","profilevisitor","reputation","reputationlevel","spamlog","strikes","pm","pmreceipt","pmtext","avatar","profilefield");
+
+               $main_prefix = "FP_";
+               foreach ($shared_tables as $shared_table)
+               {
+                       $orig = TABLE_PREFIX.$shared_table;
+                       $dst  = $main_prefix.$shared_table;
+
+                       $this->sql = str_replace($orig." ",$dst." "  ,$this->sql);
+                       $this->sql = str_replace($orig.".",$dst."."  ,$this->sql);
+                       $this->sql = str_replace($orig."\r",$dst."\r",$this->sql);
+                       $this->sql = str_replace($orig."\n",$dst."\n",$this->sql);
+                       $this->sql = str_replace($orig."\t",$dst."\t",$this->sql);
+
+               }
+

                if ($queryresult = $this->functions[$buffered ? 'query' : 'query_unbuffered']($this->sql, $link))
                {
You can add "session" to $shared_tables if you want to share your sessions among forums under the same domain (Thanks Lionel)

This is only useful for new forums joining anothers one user database.

Requirements:
  • An old forum where all users are.
  • Sharing the same database, using diferent prefixes for tables (TABLE_PREFIX)
For example: Imagine we have FORUM_A , FORUM_B, and FORUM_C each one with their respective licenses.

FORUM A has table prefix FA_ in database, FORUM_B has FB_ and FORUM_C has FC_

FORUM A is the main, and older forum, where we have all our users.

then we would install FORUM_B and FORUM_C normally, using the same database that FORUM_A uses, but setting up their own table prefixes.


once FB_ and FC_ are installed then we go patching class_core.php from FORUM_B and FORUM_C setting up $main_prefix = "FA_"; so they use FORUM_A for shared tables.

Possible problems:
  • memcached issues?, not sure
  • avatar/signature pics/etc issues when storage is set to disk.
  • more to come...


Author: Optimizacion Web

Show Your Support

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

Comments
  #122  
Old 10-22-2009, 08:41 PM
ps2wiz ps2wiz is offline
 
Join Date: Apr 2005
Posts: 217
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Shadawg View Post
Having one problem with this, if a user joins forum a, they are added to the total member list in forum b, but if a member joins forum b, they are not added to forum a.....

how can i fix this?
That is the only problem I myself have also.
Reply With Quote
  #123  
Old 10-24-2009, 05:27 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ps2wiz View Post
That is the only problem I myself have also.

https://vborg.vbsupport.ru/showpost....&postcount=109
Reply With Quote
  #124  
Old 11-25-2009, 10:25 AM
gibgib gibgib is offline
 
Join Date: Nov 2003
Location: Maroochydore, Australia
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can't get this to work with vb 4.0.

There's a lot of extra lines in the class_core.php in the new VB.
Reply With Quote
  #125  
Old 12-08-2009, 02:30 PM
cloferba cloferba is offline
 
Join Date: Apr 2009
Posts: 437
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gibgib View Post
Can't get this to work with vb 4.0.

There's a lot of extra lines in the class_core.php in the new VB.
please! help!

will this addon be upgrade to v4?? :erm::erm:
Reply With Quote
  #126  
Old 05-09-2010, 01:50 PM
lcp03o lcp03o is offline
 
Join Date: Jun 2004
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have a problem where on my 2nd / slave board when you click on on a members user name it should take you to the member list page for that user. But instead im getting a "Can not find user" error, Does anyone know what I can do to resolve this??

Master board www.pspmod.com
Slave Board www.console-mods.com

Thanks
Reply With Quote
  #127  
Old 05-14-2010, 10:10 PM
DragonMasterNYC's Avatar
DragonMasterNYC DragonMasterNYC is offline
 
Join Date: Jul 2007
Location: Bronx NY
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've started to get this to work on 4.0.3 PL1 suite. So far only a few of the connections work. I'm still trying to figure out a work around for the avatars.
Reply With Quote
  #128  
Old 05-15-2010, 01:00 AM
gibgib gibgib is offline
 
Join Date: Nov 2003
Location: Maroochydore, Australia
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I haven't had any luck with it on vB4 so I have stay with 3.8.
If you have any success please let us know.

lcp03o: here is a copy of what I add to classcore & have no problems with sharing the stuff I need, that being the users info only, so the threads & posts etc are unique.

Code:
  $shared_tables = Array("user","useractivation","userban","usertitle","userchangelog","usertextfield","userfield","usergroup","userlist","usernote","profilevisitor","reputation","reputationlevel","spamlog","strikes","pm","pmreceipt","pmtext","avatar","customavatar","profilefield");
 
               $main_prefix = "";
               foreach ($shared_tables as $shared_table)
               {
                       $orig = TABLE_PREFIX.$shared_table;
                       $dst  = $main_prefix.$shared_table;
 
                       $this->sql = str_replace($orig." ",$dst." "  ,$this->sql);
                      $this->sql = str_replace($orig.".",$dst."."  ,$this->sql);
                       $this->sql = str_replace($orig."\r",$dst."\r",$this->sql);
                       $this->sql = str_replace($orig."\n",$dst."\n",$this->sql);
                       $this->sql = str_replace($orig."\t",$dst."\t",$this->sql);
 
               }
Reply With Quote
  #129  
Old 05-16-2010, 03:28 PM
DragonMasterNYC's Avatar
DragonMasterNYC DragonMasterNYC is offline
 
Join Date: Jul 2007
Location: Bronx NY
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you add "customavatar","customprofilepic","sigpic","sigpar sed" all uploaded images will work between sites. Also "visitormessage" for those who want to share more profile information.

Now it works perfectly on 4.0.3 PL1. I only took out "userban" for my own usage, but it still works in vB4.

Code:
$shared_tables = Array("user","useractivation","usertitle","userchangelog","usertextfield","userfield","usergroup","userlist","usernote","profilevisitor","reputation","reputationlevel","spamlog","strikes","pm","pmreceipt","pmtext","avatar","customavatar","profilefield","customprofilepic","visitormessage","sigpic","sigparsed");

               $main_prefix = "FA";
               foreach ($shared_tables as $shared_table)
               {
                       $orig = TABLE_PREFIX.$shared_table;
                       $dst  = $main_prefix.$shared_table;

                       $this->sql = str_replace($orig." ",$dst." "  ,$this->sql);
                       $this->sql = str_replace($orig.".",$dst."."  ,$this->sql);
                       $this->sql = str_replace($orig."\r",$dst."\r",$this->sql);
                       $this->sql = str_replace($orig."\n",$dst."\n",$this->sql);
                       $this->sql = str_replace($orig."\t",$dst."\t",$this->sql);

               }
Only thing after this is modifications that you might share between sites if they don't use those tables.
Reply With Quote
  #130  
Old 05-17-2010, 07:45 AM
gibgib gibgib is offline
 
Join Date: Nov 2003
Location: Maroochydore, Australia
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's amazing.

It did not work for me at all, it completely ignored the added lines in classcore.
I'm a bit scared to try it again as it represents a lot of work creating temp forums.
May try at the weekend
Reply With Quote
  #131  
Old 05-17-2010, 07:47 AM
gibgib gibgib is offline
 
Join Date: Nov 2003
Location: Maroochydore, Australia
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Has anyone tried a common cookie domain yet?
I mean so the users can float between without any logging in at all, on any of the sites.
Reply With Quote
Reply

Thread Tools

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 03:20 PM.


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.05031 seconds
  • Memory Usage 2,313KB
  • 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
  • (3)bbcode_code
  • (3)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
  • (3)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (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