Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-28-2005, 10:57 AM
patriotcow patriotcow is offline
 
Join Date: Nov 2004
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default database linking and table linking

Ok I have this task that I want to do for 2 of my forums and maybe more in the future.
I would like to link tables from databases that are in seperate databases from each other.

E.g:

I have a database named vbulletin1 and in vbulletin1 there is a table called vb_users. Then I have a database named vbulletin2 and there is a table called vb_users. How would I link the 2 vb_users together so that on both forums the users are updated on both if you get me?

Thanks
Reply With Quote
  #2  
Old 01-28-2005, 11:05 AM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This has been asked several times and as it stands it's a pretty major undertaking There's no easy way to do it.
Reply With Quote
  #3  
Old 01-28-2005, 11:19 AM
patriotcow patriotcow is offline
 
Join Date: Nov 2004
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The best method would be in phpmyadmin?
Reply With Quote
  #4  
Old 01-28-2005, 11:49 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can't.
Having x installations share a common user base requires almost all vBulletin PHP files to be modified.
Reply With Quote
  #5  
Old 01-28-2005, 12:12 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just think of all the duplicate userid's for example, then you will understand this is not something that can easily be done
Reply With Quote
  #6  
Old 01-28-2005, 01:01 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It could be done via the database class if vBulletin used aliases on all table names it would be possible to do it internally (in theory) with a few reg exps in the db class
Reply With Quote
  #7  
Old 01-28-2005, 01:56 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Something interesting to think about:
PHP Code:
    $dbprefix 'newdb';
    
$string "SELECT * FROM user AS user WHERE userid='moo'";
    
$pattern '/(.*)FROM[\s\n\r]+([A-Za-z]+)[\s\n\r]+AS[\s\n\r]+(\\2)(.*)/';
    if(
preg_match($pattern$string$array))
    {    
        
print_r($array);
        
$nstring preg_replace($pattern"$1 FROM $dbprefix.$2 AS $3 $4"$string);
        echo 
'<br />' $nstring;
    } 
Now thinking about it, if we did the same for INSERT, UPDATE, REPLACE INTO and DELETE we could be on to something as it seems the devs have introduced aliases to all tables since the first gold release
Reply With Quote
  #8  
Old 01-28-2005, 09:07 PM
patriotcow patriotcow is offline
 
Join Date: Nov 2004
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ahh that looks like somthing :nervous: Trouble is I am no expert on hacks :disappointed:
Reply With Quote
  #9  
Old 01-28-2005, 09:14 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I did it earlier, it works. But usergroup and forum permissions are big issues which require too much code editing to even think about
Reply With Quote
  #10  
Old 01-28-2005, 09:40 PM
patriotcow patriotcow is offline
 
Join Date: Nov 2004
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You should tell me how so I can work on it more I might pay somone...but wouldn't mind a bit of knoledge on what youve done so far :nervous:
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:09 PM.


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.04238 seconds
  • Memory Usage 2,248KB
  • Queries Executed 11 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete