vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Gallery 2.1 and vBulletin 3.5.X integration (https://vborg.vbsupport.ru/showthread.php?t=111931)

SilVert 05-04-2006 04:30 PM

try this....

on line 77 change the following from
PHP Code:

    $ret GalleryEmbed::init(array('embedUri' => '/gallery2.php'

to
PHP Code:

    $ret GalleryEmbed::init(array('embedUri' => 'gallery2.php'

i am just shooting in the dark.. as i said, i really dont remember how i got it to work on my site :)

silkie 05-04-2006 05:32 PM

nope no change. it's just driving me nuts now.

SilVert 05-04-2006 08:26 PM

ooooooo

you deleted the user that you are attempting to run the script with correct?

2 things you can do.... either go into the ?externalid? table in the gallery DB and remove the users VBB ID number(admin is 1, you would be 2, that kinda stuff), or create a ANOTHER NEW user and then run the script with him again.

basically gallery does not ?ever? delete the external ID's of users. so you have to manualy manipulate the table to get them working agin. i am, about 70% sure that this is the problem... not 100% sadly ;)

ngocluyen 05-05-2006 12:44 AM

thanks it work great!thanks U so much !

Jayphen 05-06-2006 04:53 AM

Hmm after installing this it all seems to work fine (with the exception of the error when I log in myself.. I get that user collision error)

However, at random intervals, users are experiencing errors saying 'this post is identical to a post you have made in the past 5 minutes.. returning you to that thread now' .. and alot of posts seem to be going through twice.

edit: It only happens with the plugins installed

silkie 05-06-2006 02:03 PM

Quote:

2 things you can do.... either go into the ?externalid? table in the gallery DB and remove the users VBB ID number(admin is 1, you would be 2, that kinda stuff), or create a ANOTHER NEW user and then run the script with him again.

I went into phpmyadmin and looked at my gallery db and in the externalid table I have 0 users and when I look at the users table I have 2 users. guest with is id 5 and silkie with id 19. shouldn't my id as admin be id 1?

SilVert 05-08-2006 03:09 PM

Quote:

Originally Posted by Jayphen
Hmm after installing this it all seems to work fine (with the exception of the error when I log in myself.. I get that user collision error)

However, at random intervals, users are experiencing errors saying 'this post is identical to a post you have made in the past 5 minutes.. returning you to that thread now' .. and alot of posts seem to be going through twice.

edit: It only happens with the plugins installed

sadly i dont know much abotu the plugin version.. i have only looked at the code, nothign else.... johnmount has not posted back abotu a beta of his plugin... :(

Quote:

Originally Posted by silkie
I went into phpmyadmin and looked at my gallery db and in the externalid table I have 0 users and when I look at the users table I have 2 users. guest with is id 5 and silkie with id 19. shouldn't my id as admin be id 1?

if i am understanding this correctly, the integration script is not working(duhhhh ;))... when it registeres the users, it should throw the VBB id in the externalid's table of Gallery2. which would mean that something is defined wrong in that upper section where you define paths. without knowing your system better/being in there it is hard for me to guess(sadly).

here is my script:
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/httpd/vhosts/racersden.net/httpdocs/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/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' => '/gallery/',
        
'loginRedirect' => 'index.php',
        
'activeUserId' => $uid));

    if (
$vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == 11 or $vbulletin->userinfo[usergroupid] == 12)
    {

        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', true);

// 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') . '");');

?>

forum is in racersden.net/forum
gallery is in racersden.net/gallery
template name is gallery
integration name is gallery.php

see if this helps you at all :)





For users using the ingegration script, i have put in the code to allow you to get vbb groups's to create accounts, all others will just be looking on as guests... the code needs to be put in after this code:
PHP Code:

$ret GalleryEmbed::init(array('embedUri' => 'gallery.php',
        
'g2Uri' => '/gallery/',
        
'loginRedirect' => 'index.php',
        
'activeUserId' => $uid)); 

the code is:
PHP Code:

if ($vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == or $vbulletin->userinfo[usergroupid] == 11 or $vbulletin->userinfo[usergroupid] == 12)
    { 

replace the number(for my code it is 5, 6, 7, 11, and 12) with the VBB group number of your board. this can all be found in the adminCP if you look at the usergroups.

you will also need to put a "}" below the 2nd else statement, so it shoudl look like this:
PHP Code:

else
            {
                echo 
'<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml();
                return 
false;
            }
        }



a bit confusing to explain, but its a pretty simple edit to the script :)

ragtek 05-11-2006 06:17 PM

i have the german version of the gallery and the board
there are troubles with de äöü because of the UTF-8
how can i solve that?

silkie 05-13-2006 12:33 AM

Quote:

forum is in racersden.net/forum
gallery is in racersden.net/gallery
template name is gallery
integration name is gallery.php

silvert my forums is in vampirecommunity.com/forums
gallery is vampirecommunity.com/gallery2
template name is gallery2
integrations name is gallery2.php

that's why I can't figure out why it won't work. here's the snippets in gallery2.php where I have to set the paths and as far as I know it's the only places I"m supposed to edit anything.

Code:

// Full path to vBulletin
    define('CWD', '/home/vampirec/public_html/forums');

    // Call global.php
    require_once(CWD . '/global.php');

Code:

function runGallery() {
global $vbulletin, $userinfo;
require_once('/home/vampirec/public_html/gallery2/embed.php');

Code:

$ret = GalleryEmbed::init(array('embedUri' => '/gallery2.php',
'g2Uri' => 'http://www.vampirecommunity.com/gallery2/',


silkie 05-15-2006 02:35 PM

I give up. I totally removed menalto's gallery and now I can't delete posts, add to reputation or anything because I'm getting this error

Warning: Unknown(/home/vampirec/public_html/gallery2/embed.php): failed to open stream: No such file or directory in /includes/class_dm_user.php(1571) : eval()'d code on line 1

Fatal error: (null)(): Failed opening required '/home/vampirec/public_html/gallery2/embed.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/vampirec/public_html/forums/includes/class_dm_user.php(1571) : eval()'d code on line 1

any idea's why or what I should do about it?

SilVert 05-15-2006 05:44 PM

on my site the gallery integration script HAS TO BE IN THE FORUM DIRECTORY.... im trying to work around that now so that the mod rewrite will work. but i haev had no sucess yet...

if i understand correctly.... try to diable the gallery plugin, im assuming you installed it since you are getting that error... or are you getting that error when you attempt to run the integration script?

Quote:

Originally Posted by ragtek
i have the german version of the gallery and the board
there are troubles with de ??? because of the UTF-8
how can i solve that?

sadly i dont know much of anythign about foreign language installs

CoolHand_79 05-15-2006 10:51 PM

My site: Canuck Clan

The Error occurs when logging out. However if you reload the page it reloads and you are indeed logged out. I first noticed this after installing gallery following THESE INSTRUCTIONS as well as installing the gallery plugins.

The Error at the top of the page:
Code:

Parse error:  parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/content/L/u/k/Lukeharris/html/vbullet/forums/includes/class_dm_user.php(1571) : eval()'d code on line 10
The Error in the text box that normal says cookies cleared:
Code:

Unable to add cookies, header already sent.
File: /home/content/L/u/k/Lukeharris/html/vbullet/forums/includes/class_dm_user.php(1571) : eval()'d code
Line: 10

Thanks,

Luke

PS: I just de-ativated the Delete Gallery User/Update Gallery User and the problem has disapeard.





UPDATE WITH MY GALLERY INTERGRATION


Well, I have tried to get this working and the gallery is working. I can view it by going to /vbullet/forums/gallery2/main.php

However the intergration does not work. It lists the album I creat but does not show any pictures. I have place the gallery2.php @ /vbullet/forums/gallery2.php

Any ideas?

Luke

SilVert 05-16-2006 05:09 PM

saldy i dotn know much abotu the plugin... i have recevied a copy from johnmount(and i forgot the 2nd guys username). i have yet to install it on my board. we are having CPU issues, and i dont really want to mess with it now that we are stable.... i will try soon hopefully...

Quote:

Originally Posted by CoolHand_79
UPDATE WITH MY GALLERY INTERGRATION


Well, I have tried to get this working and the gallery is working. I can view it by going to /vbullet/forums/gallery2/main.php

However the intergration does not work. It lists the album I creat but does not show any pictures. I have place the gallery2.php @ /vbullet/forums/gallery2.php

Any ideas?

Luke

just found your gallery and attempted to look at an images....

here is the path:
http://www.canuckclan.com/vbullet/forums/vbullet/forums/gallery2/main.php?g2_view=core.DownloadItem&g2_itemId=15&g2 _serialNumber=1

look at the bold part... there are 1 to many of those in that path... edit the path in the gallery2.php file. i think it will be the g2uri, but im not 100%

CoolHand_79 05-16-2006 09:50 PM

Thanks, you nailed it. The gallery is now showing images. I guess I will have to mess around with the templates abit. Thanks a lot!


Luke
Canuck Clan

silkie 05-17-2006 07:48 PM

now every post is posting in triplicate and I can't get rid of that message. any clues what I should do to fix it?

SilVert 05-17-2006 07:52 PM

Quote:

Originally Posted by silkie
now every post is posting in triplicate and I can't get rid of that message. any clues what I should do to fix it?


thats an odd one... you HAVE disabled the gallery plugin? if so try removing it. i dont know why it would be doing that... did you throw any other plugins or customizations in other than the gallery one?

Quote:

Originally Posted by CoolHand_79
Thanks, you nailed it. The gallery is now showing images. I guess I will have to mess around with the templates abit. Thanks a lot!


Luke
Canuck Clan


glad i could help man :) do me a favor and check back every off and on to see if you can offer a hand :) im only here so often :)

silkie 05-18-2006 04:33 AM

OMG! LOL now that is something I forgot! thank you, I was freaking out trying to figure out to fix it. I plan to do a test board after I get my site done and when I do I"m going to have another go at this. I really like this gallery and wished it worked for me but for now I just want to get a gallery going. thanks alot for your help silvert I appreciate it.

SilVert 05-18-2006 03:28 PM

Quote:

Originally Posted by silkie
OMG! LOL now that is something I forgot! thank you, I was freaking out trying to figure out to fix it. I plan to do a test board after I get my site done and when I do I"m going to have another go at this. I really like this gallery and wished it worked for me but for now I just want to get a gallery going. thanks alot for your help silvert I appreciate it.

not a problem man... come over to RacersDen.net and look for me there if you dont heard form me here... i check this thread every day or so now, but in a few weeks who knows :)

sending me a PM here, there is no promise that i willg et back to you in a quick amoutn of time. it goes to my "spam" e-mail adress ;)

silkie 05-19-2006 03:05 AM

you do realize there's nothing "manly" about me don't you? LOL:cool:

I'll look for you over at racersden if I need you. thanks again.

SilVert 05-19-2006 12:30 PM

Quote:

Originally Posted by silkie
you do realize there's nothing "manly" about me don't you? LOL:cool:

I'll look for you over at racersden if I need you. thanks again.

well hello then ;) my bad, didnt mean to offend :)

silkie 05-19-2006 05:17 PM

ROFLMAO! absolutely no offense taken.

Webmist 05-20-2006 04:19 AM

Okay I've gone over everything with the users. I've checked user tables and they are duplicating into the gallery users nicely but I can't view any images. I keep getting this error. I have a fresh install of Gallery2 and one album. I run under the following:
Subdreamer is root/
Forums is forum/
Gallery2 is gallery2/

Code:

line: 115, G2 did not return a success status. Here is the error message from G2:
Error (GALLERY_SUCCESS)

    * in at line 0


Warning: Cannot use a scalar value as an array in /gallery2.php on line 51

I changed the query to report to true and line #51 is the following:
PHP Code:

$data['title'] = (isset($data['title']) && !empty($data['title'])) ? $data['title'] : 'Gallery'

Anyone want to take a shot at this?

SilVert 05-22-2006 04:53 PM

Quote:

Originally Posted by Webmist
Okay I've gone over everything with the users. I've checked user tables and they are duplicating into the gallery users nicely but I can't view any images. I keep getting this error. I have a fresh install of Gallery2 and one album. I run under the following:
Subdreamer is root/
Forums is forum/
Gallery2 is gallery2/

Code:

line: 115, G2 did not return a success status. Here is the error message from G2:
Error (GALLERY_SUCCESS)

    * in at line 0


Warning: Cannot use a scalar value as an array in /gallery2.php on line 51

I changed the query to report to true and line #51 is the following:
PHP Code:

$data['title'] = (isset($data['title']) && !empty($data['title'])) ? $data['title'] : 'Gallery'

Anyone want to take a shot at this?

did you create an account and then remove it?

the #51 thing i dont know.... all the scripts have that, yours is reporting an error for some reason....

Webmist 05-23-2006 12:02 AM

Quote:

Originally Posted by SilVert
did you create an account and then remove it?

the #51 thing i dont know.... all the scripts have that, yours is reporting an error for some reason....

Yes I did. I found the culprit though. I had a 2.1 beta developers kit installed and hadn't got it upgraded to full version on the site with vb yet. Once I did everything was fine.

Thanks for the help.

Smurky 05-23-2006 02:35 AM

Thanks for the hack, I use gallery2 but the performance of it is very poor, takes forever for pages to load but other scripts work just fine :p

SilVert 05-23-2006 01:21 PM

Quote:

Originally Posted by Smurky
Thanks for the hack, I use gallery2 but the performance of it is very poor, takes forever for pages to load but other scripts work just fine :p

on my VBB site, it takes a few seconds longer than i would like on the original load, but once gallery is loaded and you navigate, it seems to be normal. but i am running on a dedicated server. maybe that is the difference?

on my phpbb site with gallery, it seems to be a bit slow. but that is a shared machine. so i dont know what else is on the machine....

there are 1 or 2 tweaks you can do within gallery to attempt to improve performance. i enabled the full acceleration for guests and partial for the users(i dont remember the module name, i think it was "Performance")...

redlabour 06-01-2006 06:57 AM

Quote:

Originally Posted by Brent H
This tutorial will outline the steps needed to integrate your vBulletin 3.5.X and Menalto Gallery 2.1 installations.

Why did you not Post it as a Hack ?

I want to integrate it to my installed Hacks List. ;)

Brent H 06-02-2006 09:47 AM

I didn't release it as a hack because it wasn't me who coded the plugins or the php file. I know just enough PHP to be dangerous, so all I can really do is show people how I got things to work.

If I had released it as a hack, I'd also feel obligated to provide some kind of support, which I can't ;)

redlabour 06-02-2006 11:27 AM

You only have to uncheck the Box "supported". That´s the same and makes more comfort for all of us.

Brent H 06-02-2006 10:26 PM

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.

jerx 06-04-2006 07:29 AM

I like to show the user' s gallery in his profile. Does anybody know how to do this?

SilVert 06-06-2006 02:02 PM

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 :)

balkanf 06-07-2006 11:58 AM

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?

SilVert 06-07-2006 05:30 PM

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?.

majorxp 06-08-2006 02:42 AM

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!!!

redlabour 06-08-2006 05:46 PM

Does it work with vBulletin 3.6 BETA ?

Jayphen 06-09-2006 01:12 PM

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.

majorxp 06-09-2006 05:26 PM

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.

SilVert 06-13-2006 07:15 PM

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 :)

majorxp 06-13-2006 07:29 PM

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.


All times are GMT. The time now is 04:22 AM.

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.03857 seconds
  • Memory Usage 2,111KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_code_printable
  • (10)bbcode_php_printable
  • (20)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete