The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#4
|
||||
|
||||
![]()
Thanks for the info. I've been scouring this forum all day and have found info that almost answers my question, but not quite. I finally overcame my laziness and print_r'd the $vbulletin object and figured out my problem. Here's the answer:
The $vbulletin->config array contains all the relevant vars you need to make your standard vBulletin connection, which you need if you want to switch back to the vBulletin db after you switch to a different db: Code:
$vbulletin->config['MasterServer']['servername'] $vbulletin->config['MasterServer']['port'] $vbulletin->config['MasterServer']['username'] $vbulletin->config['MasterServer']['password'] $vbulletin->config['Database']['dbname'] So to switch databases in my plugin, I basically did this: Code:
global $vbulletin; //get the config options for the plugin or use the vBulletin db info as default $wp_db_host = ($vbulletin->options['wp_db_host']?$vbulletin->options['wp_db_host']:$vbulletin->config['MasterServer']['servername']); $wp_db_username = ($vbulletin->options['wp_db_username']?$vbulletin->options['wp_db_username']:$vbulletin->config['MasterServer']['username']); $wp_db_password = ($vbulletin->options['wp_db_password']?$vbulletin->options['wp_db_password']:$vbulletin->config['MasterServer']['password']); $wp_db_name = ($vbulletin->options['wp_db_name']?$vbulletin->options['wp_db_name']:$vbulletin->config['Database']['dbname']); $wp_table_prefix = ($vbulletin->options['wp_table_prefix']?$vbulletin->options['wp_table_prefix']:""); $wp_db_port = ($vbulletin->options['wp_db_port']?$vbulletin->options['wp_db_port']:$vbulletin->config['MasterServer']['port']); //here we connect to our secondary database... // Connecting to the wordpress db if it's on a different server if($wp_db_host != $vbulletin->config['MasterServer']['servername']){ $this->dbobject->connect($wp_db_name,$wp_db_host,$wp_db_port,$wp_db_username,$wp_db_password,false); } //else just select the wordpress db if it has a different name from the current db. elseif($vbulletin->config['Database']['dbname'] != $wp_db_name){ $this->dbobject->select_db($wp_db_name); } Code:
//reconnect to the vBulletin DB if it's on a different server if($wp_db_host != $vbulletin->config['MasterServer']['servername']){ $this->dbobject->connect( $vbulletin->config['Database']['dbname'], $vbulletin->config['MasterServer']['servername'], $vbulletin->config['MasterServer']['port'], $vbulletin->config['MasterServer']['username'], $vbulletin->config['MasterServer']['password'], $vbulletin->config['MasterServer']['usepconnect'], $vbulletin->config['SlaveServer']['servername'], $vbulletin->config['SlaveServer']['port'], $vbulletin->config['SlaveServer']['username'], $vbulletin->config['SlaveServer']['password'], $vbulletin->config['SlaveServer']['usepconnect'], $vbulletin->config['Mysqli']['ini_file'] ); } //else reselect the wordpress db elseif($vbulletin->config['Database']['dbname'] != $wp_db_name){ $this->dbobject->select_db($vbulletin->config['Database']['dbname']); } Thanks again to the previous posters for their suggestions. I didn't end up needing them, but they are appreciated nonetheless. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|