Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Gallery 2.1 and vBulletin 3.5.X integration
Brent H's Avatar
Brent H
Join Date: Sep 2004
Posts: 162

Poprocks on toast, yo.

Phoenix, AZ
Show Printable Version Email this Page Subscription
Brent H Brent H is offline 03-31-2006, 10:00 PM

This tutorial will outline the steps needed to integrate your vBulletin 3.5.X and Menalto Gallery 2.1 installations. The original thread located here has become a little too scattered, and since it's original focus was on the Gallery 2.0 and vBulletin 3.0 series, I think it'd be beneficial to start this new thread so that the information is more easily found for the 3.5.X and 2.1 series.

Before we begin, you should be aware that this tutorial assumes that you'll be placing your gallery in the root directory for your forums. My directory structure looks a little like this:

public_html/Vbulletin Files
and
public_html/gallery2/Gallery Files

As long as your gallery folder is located within your root vBulletin directory, this should work just fine.

Step 1:
Install Menalto Gallery 2.1. Remember to upload the "gallery2" folder INSIDE your root vBulletin directory!

Step 2:
Create a new file containing the following, and save it as gallery2.php:
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('./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(
'/home/paranorm/public_html/gallery2/embed.php');

$data = array();

// If it's an anonymous user, set the g2 activeUser to null
$uid $vbulletin->userinfo['userid'] = '' $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' => 'http://www.paranormalis.com/gallery2/',
'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') . '");');

?>
(or download the attached gallery2.php)

Step 3:
Find and edit the following code to suit your site setup:
PHP Code:
 require_once('/home/paranorm/public_html/gallery2/embed.php'); 
and
PHP Code:
 $ret GalleryEmbed::init(array('embedUri' => '/gallery2.php',
'g2Uri' => 'http://www.yoursite.com/gallery2/',
'loginRedirect' => 'index.php'
Save and upload the file to your root vBulletin directory.

Step 4:
Create a new template in your style manager called gallery2 containing the following:
HTML Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>$headinclude
  $data[headHtml]
</head>
<body>
$header
$navbar
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
  <tr>
    <td class="tcat">Gallery</td>
  </tr>
  <tr>
    <td class="alt1">$data[bodyHtml]</td>
  </tr>
</table>
$footer
</body>
</html>
And that's basically it! Your gallery should now be accessable via www.yoursite.com/gallery2.php or www.yoursite.com/forums/gallery2.php (depending on how you have it set up).

You can achieve further integration by using johnmont's plugins which will:
  1. Delete users from the Gallery when you delete them from the vBulletin control panel.
  2. Update user information in the gallery when they change their information in the User CP.
John has given me permission to post them The attached gallery-plugins.xml file will create two new plugins called Delete Gallery User and Update Gallery User. You'll need to edit both of these plugins after installation and change
PHP Code:
require_once('/home/paranorm/public_html/gallery2/embed.php''); 
(it's the very first line in both of them) to match your site setup.

Hopefully this tutorial sparks a little more interest in this area and we can get some additional people contributing solutions to achieve tighter integration :banana:

As the integration progresses, I'll update this thread to keep everything together and accessable.

Enjoy!
Attached Files
File Type: php gallery2.php (5.5 KB, 751 views)
File Type: xml gallery-plugins.xml (1.8 KB, 722 views)
Reply With Quote
  #112  
Old 06-04-2006, 07:29 AM
jerx jerx is offline
 
Join Date: Feb 2006
Posts: 188
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I like to show the user' s gallery in his profile. Does anybody know how to do this?
Reply With Quote
  #113  
Old 06-06-2006, 02:02 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jerx
I like to show the user' s gallery in his profile. Does anybody know how to do this?
got a link for me? it woudl most likley require you to modify one of the VBB templates.

there is a way to integrate gallery related pictures into an external webpage. so i assume its doiable, but i dont know about just x users images(without looking at it again)

if you do a search on gallery2.org, you might be able to find somebody who did the code for PHPBB(or something). if so post up a link, and i will see if i can decyfer what they are doing into VBB... odds are i cant, but somebody might be able to

Quote:
Originally Posted by Brent H
Still, it's not my code and there was more than one or two people involved in writing said code, so obtaining permission would be more trouble than it's worth for me... If you want to release this as a plugin, feel free to do so.

JohnMount and 1 other person(i keep forgetting who it is) were working on the code. they sent me a copy that was not posted, but i have yet to have the time to install it and test it on my board. i sadly only have my LIVE site, and i dont reallllly want to risk blowing it up
Reply With Quote
  #114  
Old 06-07-2006, 11:58 AM
balkanf balkanf is offline
 
Join Date: Apr 2006
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
line: 98, Failed to create G2 user with extId [1]. Here is the error message from G2:
Error (ERROR_COLLISION)
in modules/core/classes/GalleryUser.class at line 166 (gallerystatus::error)
in modules/core/classes/GalleryEmbed.class at line 300 (galleryuser::create)
in /home/vampirec/public_html/portal/forums/gallery2.php at line 95 (galleryembed::createuser)
in /home/vampirec/public_html/portal/forums/gallery2.php at line 50

if I'm NOT logged in I get this error:
line: 115, G2 did not return a success status. Here is the error message from G2:
Error (GALLERY_SUCCESS)
in at line 0
I also have this problem. I get the last error not only if i'm not logged in but even if logged in with a normal user.

I just made a fresh installation of gallery and placed it in my root directory

vb: http://www.balkanium.com/index.php
gallery: http://www.balkanium.com/gallery/main.php

There is only one gallery user (me). My vb already has many users. What should i do?

My gallery.php file:
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( 
'gallery'
); 

// pre-cache templates used by specific actions 
$actiontemplates = array( 

); 

// ######################### REQUIRE BACK-END ############################ 

require_once('./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(
'/home/balkan/public_html/gallery/embed.php'); 

$data = array(); 

// If it's an anonymous user, set the g2 activeUser to null 
$uid $vbulletin->userinfo['userid'] = '' $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/gallery/<gallery files> 
// and also setup for a VB3 template name of 'gallery'. 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.balkanium.com/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('gallery') . '");'); 

?>
Question: will all my vb users automatically get a user account in gallery?
Reply With Quote
  #115  
Old 06-07-2006, 05:30 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by balkanf
I also have this problem. I get the last error not only if i'm not logged in but even if logged in with a normal user.

I just made a fresh installation of gallery and placed it in my root directory

vb: http://www.balkanium.com/index.php
gallery: http://www.balkanium.com/gallery/main.php

There is only one gallery user (me). My vb already has many users. What should i do?

My gallery.php file:
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( 
'gallery'
); 

// pre-cache templates used by specific actions 
$actiontemplates = array( 

); 

// ######################### REQUIRE BACK-END ############################ 

require_once('./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(
'/home/balkan/public_html/gallery/embed.php'); 

$data = array(); 

// If it's an anonymous user, set the g2 activeUser to null 
$uid $vbulletin->userinfo['userid'] = '' $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/gallery/<gallery files> 
// and also setup for a VB3 template name of 'gallery'. 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.balkanium.com/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('gallery') . '");'); 

?>
Question: will all my vb users automatically get a user account in gallery?

try creating a new user, then log into gallery VIA the integration script... i think it will work fine... the issue(most likley) is that you had a user, then removed it. gallyer still have the VBB userid saved in the DB.. you would need to go into the DB and remove the VBB id from ?Ext IDs?.
Reply With Quote
  #116  
Old 06-08-2006, 02:42 AM
majorxp majorxp is offline
 
Join Date: Aug 2005
Posts: 120
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't manually create a user in g2 that has the same name as a vb user or you get the collision error.

I'm also right now working on a user import system for my board. I wasn't planning on releasing it, but if anyone wants it, I'll make it available - when I finish it.. The only reason you would need to import all the users is to have matching ids for an existing photo album....otherwise, the script on the original post will create them on the fly.


also...unless I missed it.. it is super important that you should deactivate G2's user registration module since all new users should register with VB (or don't install it).

ps- thanks brent....this is a great script and good info!!!
Reply With Quote
  #117  
Old 06-08-2006, 05:46 PM
redlabour's Avatar
redlabour redlabour is offline
 
Join Date: Mar 2004
Location: Wuppertal, NRW, Germany
Posts: 1,541
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does it work with vBulletin 3.6 BETA ?
Reply With Quote
  #118  
Old 06-09-2006, 01:12 PM
Jayphen Jayphen is offline
 
Join Date: May 2005
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by majorxp
I'm also right now working on a user import system for my board. I wasn't planning on releasing it, but if anyone wants it, I'll make it available - when I finish it.. The only reason you would need to import all the users is to have matching ids for an existing photo album....otherwise, the script on the original post will create them on the fly.
Will this also solve the collision error?

I have a pre-existing G2 installation and have integrated it with vbulletin - however when I attempt to view it whilst logged in to vbulletin, I get the collision error.
Reply With Quote
  #119  
Old 06-09-2006, 05:26 PM
majorxp majorxp is offline
 
Join Date: Aug 2005
Posts: 120
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No. It won't solve your collision errors.

The collision error is a result of creating a new user outside the integration. As I said 2 posts up, you can't do that. What happens is when you visit the integrated G2 site, it first looks in a link table for your VB userid to find the appropriate G2 userid. When it can't find one (since you never registered inside the integrated G2) it then attempts to create a new user - with the same username - and then you will get the collision error.

There are a bunch of ways you can fix the error. If you are the only submitting user, just manually add the two userids in the useridmap table (I forget the exact name of the table offhand) and you will be set. If you have a lot of users, you could delete all the users in G2 (but lose who the owner is of each picture).

Frankly, the best option if you have more than a few users, is to edit the gallery.php script so that after it checks for id in the link table it looks for matching usernames. If it finds one, then insert the link record rather than going straight to creating a new user. If someone does bother to make this addition, it should be part of the default gallery.php people use.
Reply With Quote
  #120  
Old 06-13-2006, 07:15 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by majorxp
No. It won't solve your collision errors.

The collision error is a result of creating a new user outside the integration. As I said 2 posts up, you can't do that. What happens is when you visit the integrated G2 site, it first looks in a link table for your VB userid to find the appropriate G2 userid. When it can't find one (since you never registered inside the integrated G2) it then attempts to create a new user - with the same username - and then you will get the collision error.

There are a bunch of ways you can fix the error. If you are the only submitting user, just manually add the two userids in the useridmap table (I forget the exact name of the table offhand) and you will be set. If you have a lot of users, you could delete all the users in G2 (but lose who the owner is of each picture).

Frankly, the best option if you have more than a few users, is to edit the gallery.php script so that after it checks for id in the link table it looks for matching usernames. If it finds one, then insert the link record rather than going straight to creating a new user. If someone does bother to make this addition, it should be part of the default gallery.php people use.

wahooo, somebody to help with support!!!

how are you going(or planning) on getting your script/plugin to work with gallery? a similar way to the plugin mentioned earlyer in this thread, or some other way that i am unaware of
Reply With Quote
  #121  
Old 06-13-2006, 07:29 PM
majorxp majorxp is offline
 
Join Date: Aug 2005
Posts: 120
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have the script completed.

It is a one time use script that will copy the users from your existing VB database into a clean G2 database.

There are going to be very few folks who want this (or could use it). The only purpose (I know of) is if you have an existing photo album and you import the photoalbum into G2, then you will need to have all the IDs matched before it will work correctly.

If anyone wants it, I'll release it.
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 06:19 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.07075 seconds
  • Memory Usage 2,509KB
  • Queries Executed 26 (?)
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)bbcode_html
  • (6)bbcode_php
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)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
  • (2)postbit_attachment
  • (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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete