Thanks man! That is all easy stuff.
I am still unsure about my original DB question though and haven't seen an answer. I ASSume it doesn't matter where the vB database is in relation to the Gallery2 database because it is looking at that globals.php file which best I can tell pulls the user info from the vB database regardless of where it is - it knows where to look.
My question stems from Joomla and the fact that all of the vB integration features for it require the vB database to be installed within the Joomla database and I like to keep things separate.
Chances are, if you did not specifically create a new database for your Gallery2 install, then it dumped it into the vB database.
I think what I will do is just try it with Gallery2 in it's own database. If it doesn't work I am out about 20 minutes of time and it is easy to clean up. I'd rather start there and integrate them later if I need to than integrate them and then have to go back later and correct it.
--------------- Added 17 Feb 2008 at 14:48 ---------------
Ok all I am getting is the white screen. Install paths are as follows:
/chroot/home/mazdaoca/mazdaoca.org/html/community/global.php
/chroot/home/mazdaoca/mazdaoca.org/html/community/gallery/embed.php
Installed in the following:
vB: webroot/community/
G2: webroot/community/gallery/
URL I am using is:
http://www.mazdaoca.org/community/gallery.php
The direct G2 link works fine:
http://www.mazdaoca.org/community/gallery/main.php
VB template "gallery2" has been created and the "head" section contains the code posted in Step 4 of the instructions.
gallery.php is as follows:
Code:
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'gallery'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
);
// get special data templates from the datastore
$specialtemplates = array(
);
// pre-cache templates used by all actions
$globaltemplates = array(
'gallery2',
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
// ######################### REQUIRE BACK-END ############################
require_once('/chroot/home/mazdaoca/mazdaoca.org/html/community/global.php');
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
$navbits = array();
$navbits[$parent] = 'Gallery';
error_reporting(E_ALL );
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
// #######################################################################
// ###################### Begin G2 INTEGRATION CODE ######################
// #######################################################################
$data = runGallery();
$data['title'] = (isset($data['title']) && !empty($data['title'])) ? $data['title'] : 'Gallery';
function runGallery() {
global $vbulletin, $userinfo;
require_once('/chroot/home/mazdaoca/mazdaoca.org/html/community/gallery/embed.php');
$data = array();
// If it's an anonymous user, set the g2 activeUser to null
$uid = $vbulletin->userinfo['userid'] = 0 ? '' : $vbulletin->userinfo['userid'];
// initiate G2
// You need to edit the following 4 lines to suit your VB3 & G2 installations
// This is set up for an install that looks like:
// public_html/VB/<vb files>
// public_html/gallery2/<gallery2 files>
// and also setup for a VB3 template name of 'gallery2'. If you have any
// differences, make those changes here!
// You might need to change 'loginRedirect' if you have your VB3 setup to
// where index.php is not the root page of VB3... Like if you've changed it
// to forums.php or something of the like.
$ret = GalleryEmbed::init(array('embedUri' => 'gallery.php',
'g2Uri' => 'http://www.mazdaoca.org/community/gallery/',
'loginRedirect' => 'index.php',
'activeUserId' => $uid));
if ($ret)
{
if ($ret->getErrorCode() & ERROR_MISSING_OBJECT)
{
// Check if there's no G2 user mapped to the activeUserId
$ret = GalleryEmbed::isExternalIdMapped($uid, 'GalleryUser');
if ($ret && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
{
// User not mapped, create G2 user now
// Get Arguments for the new user:
$args['fullname'] = $vbulletin->userinfo['username'];
$args['username'] = $vbulletin->userinfo['username'];
$args['hashedpassword'] = $vbulletin->userinfo['password'];
$args['hashmethod'] = 'md5';
$args['email'] = $vbulletin->userinfo['email'];
$args['language'] = $vbulletin->userinfo['lang_code'];
$args['creationtimestamp'] = $vbulletin->userinfo['joindate'];
$retcreate = GalleryEmbed :: createUser($uid, $args);
if ($retcreate)
{
echo '<HR>line: '.__LINE__.', Failed to create G2 user with extId ['.$uid.']. Here is the error message from G2: <br />'.$retcreate->getAsHtml();
return false;
}
$ret = GalleryEmbed::checkActiveUser($uid);
if ($ret) {
print $ret->getAsHtml();
return false;
}
}
else
{
echo '<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml();
return false;
}
}
else
{
echo '<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml();
return false;
}
}
// user interface: disable sidebar in G2 and get it as separate HTML to put it into a block
// GalleryCapabilities::set('showSidebar', false);
// handle the G2 request
$g2moddata = GalleryEmbed::handleRequest();
// show error message if isDone is not defined
if (!isset($g2moddata['isDone'])) {
$data['bodyHtml'] = 'isDone is not defined, something very bad must have happened.';
return $data;
}
// die if it was a binary data (image) request
if ($g2moddata['isDone']) {
exit; /* uploads module does this too */
}
// put the body html from G2 into the xaraya template
$data['bodyHtml'] = isset($g2moddata['bodyHtml']) ? $g2moddata['bodyHtml'] : '';
// get the page title, javascript and css links from the <head> html from G2
$title = ''; $javascript = array(); $css = array();
if (isset($g2moddata['headHtml'])) {
list($data['title'], $css, $javascript) = GalleryEmbed::parseHead($g2moddata['headHtml']);
$data['headHtml'] = $g2moddata['headHtml'];
}
/* Add G2 javascript */
if (!empty($javascript)) {
foreach ($javascript as $script) {
$data['javascript'] .= "\n".$script;
}
}
/* Add G2 css */
if (!empty($css)) {
foreach ($css as $style) {
$data['css'] .= "\n".$style;
}
}
// sidebar block
if (isset($g2moddata['sidebarHtml']) && !empty($g2moddata['sidebarHtml'])) {
$data['sidebarHtml'] = $g2moddata['sidebarHtml'];
}
return $data;
}
// #######################################################################
// ####################### End G2 integration code #######################
// #######################################################################
eval('print_output("' . fetch_template('gallery2') . '");');
?>
When I go to the URL all I get is:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>