Alright, new to vbulletin and this is the first site that I've used it with. I decided to go the way of using gallery2 with my vB install and got this entire integration to work properly.
My setup is as follows in case you need to know:
hswaves2008/forum/(forum files)
hswaves2008/forum/gallery2.php
hswaves2008/forum/index.php (the default file with vbulletin)
hswaves2008/gallery/(gallery files)
hswaves2008/index.php (the vbadvanced CMPS file)
My gallery2.php code:
PHP 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('/kunden/homepages/16/d95423082/htdocs/hswaves2008/forum/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('/kunden/homepages/16/d95423082/htdocs/hswaves2008/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' => '../gallery2.php',
'g2Uri' => '/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') . '");');
?>
I am, however, receiving some link errors it seems. I don't have the gallery2.php file posted on the site, but you can definitely go directly to it here:
http://www.hswaves.com/forum/gallery2.php
Now, the problem that I am having is this.
1) Click on the image that I uploaded t the gallery. (its the only one there)
2) If you scroll down to where it says "Photo Properties", just under that is an option to click on DETAILS. If you click this link to see more details on the image, the link is broken.
Is there something that I need to do to get these links working properly. I have read this thread through several times and finally got the gallery2.php file working and searched through a couple more times for this issue and to no avail, I have found nothing that addresses this issue. Or maybe I don't know what solution I should be looking for. Any help here would be greatly appreciated.
BTW... I have to say that vBulletin far surpasses any other forum/CMS that I have ever used in the past. I love it and it has been user friendly since day one. Now, tojust get this integration to work properly. Thank You.