vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Menalto's G2 integration into VB3 (https://vborg.vbsupport.ru/showthread.php?t=80478)

whodah 04-23-2005 10:00 PM

Menalto's G2 integration into VB3
 
NOTE: Development for G2.1 and vB 3.5 is on this page: https://vborg.vbsupport.ru/showthread.php?t=111931

I was about to post this on Menalto's site until i realized that I'd be publicly posting VB3's code... A no-no!!! heh!

So, I'll post the instructions here, and then refer people to this post on how to do it! :) (obviously they'll have to log on w/ their licensed account to see it)

Ok, here's how to integrate menalto's G2 gallery into VB3.

Menalto's gallery is sweet.
Menalto's gallery is free.
Menalto's gallery is here: http://gallery.menalto.com/index.php

:D

This works on my system of vBulletin 3.0.7 and Gallery 2 Holy Hand Grenade.

Known issues: VB3 has a password structure that consists of the user's password
plus the salt md5'ed together. It is not possible to strip out just the user's
password
. Thus, this script pushes the users's password plus salt from VB3 into
G2. The outcome - the standalone G2 passwords will not match *just* the user's
password! There is talks of looking into salt'ing in the future w/ G2
integration, but that's the dealio as of this integration technique... If you
are using G2 as 'embedded only', then game on, no worries. If not, then your
users will need to log on through the VB3 install to setup their session, then
can visit the G2 standalone if they wish...

Step 1 - create a new file named 'gallery2.php' as per this thread:
https://vborg.vbsupport.ru/showthread.php?t=62164
(thx Gary King!!!)

in that thread, the first box (the gallery2.php file), the contents will be (this is the section that contains the G2 embeded code which is available on Menalto's site... i'll update this thread w/ direct links once it's in place! *only* the G2 code is on their site, no VB3 code in accordance w/ the VB license agreement! :) ):
Code:

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'gallery2'); // 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(
    'galley2',
);

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

);

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = array();
$navbits[$parent] = 'Gallery G2';

$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 $bbuserinfo;
        require_once('../gallery2/embed.php');
   
        $data = array();
   
    // if anonymous user, set g2 activeUser to null
        $uid = $bbuserinfo['userid'] = 0 ? '' : $bbuserinfo['userid'];
 
        // initiate G2
        // you need to edit the following 4 lines to suite your VB3/G2 install!!!
        // this is setup for a install that looks like:
        //    public_html/VB/<vb files>
        //    public_html/gallery2/<gallery2 files>
        // and also setup for a VB3 tempalte 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... i.e. if you've changed it
        // to forums.php or something of the like.
        $ret = GalleryEmbed::init(array('embedUri' => 'gallery2.php',
                    'embedPath' => '/VB',
                        'relativeG2Path' => '../gallery2',
                    'loginRedirect' => 'index.php',
                    'activeUserId' => $uid));
                       
    if ($ret->isError())
        {
          if ($ret->getErrorCode() & ERROR_MISSING_OBJECT)
          {
            // check if there's no G2 user mapped to the activeUserId
            $ret = GalleryEmbed::isExternalIdMapped($uid, 'GalleryUser');
            if ($ret->isError() && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
            {
                // user not mapped, map create G2 user now
                // Get Arguments for the new user:
                $args['fullname']    =  $bbuserinfo['username'];
                $args['username']    = $bbuserinfo['username'];
                $args['hashedpassword'] =  $bbuserinfo['password'];
                $args['hashmethod'] =    'md5';
                $args['email']      =  $bbuserinfo['email'];
                $args['language']  =  $bbuserinfo['lang_code'];
                $args['creationtimestamp']  =  $bbuserinfo['joindate'];
                 
                $retcreate = GalleryEmbed :: createUser($uid, $args);
                if (!$retcreate->isSuccess())
                {
                    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->isError()) {
                    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') . '");');

?>

in the above, you'll need to edit:
Code:

        $ret = GalleryEmbed::init(array('embedUri' => 'gallery2.php',
                    'embedPath' => '/VB',
                        'relativeG2Path' => '../gallery2',
                    'loginRedirect' => 'index.php',
                    'activeUserId' => $uid));

and
Code:

require_once('../gallery2/embed.php');
to suit your directory structure...

step 2 - creating the template
as per the same thread, https://vborg.vbsupport.ru/showthread.php?t=62164 (2nd code box) create a template named 'gallery2' (no tics) and in it, place the following code:
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>

that's it, enjoy! :)

oh, forgot to add!

in scouring the net, i've seen a couple of posts where people have offered to pay for this solution. if you are one of them, and are serious, then here's Menalto's donation link! ;)

(nope, i'm not affiliated w/ them... if you wanna donate to me, then i'll redirect you to the donation link to the site that this is for: a non-profit saltwater aquariast club's site! :) )


edit 2006.01.11
Quote:

links in navbar don't work w/ rewrite module enabled. you can enable them, but then need to 'hardcode' the links in your navbar templates and do one phrase adjustment. it's still 'dynamic' as the encoding involves vB variables and not your actual url... but a change none the less! see #41 in this thread:
https://vborg.vbsupport.ru/showpost....8&postcount=41

can you put a 'user's gallery' link near the users' posts? yup, see post #65 in this thread:
https://vborg.vbsupport.ru/showpost....2&postcount=65

does it work in 3.5.x as a NON-plugin? yup, if you read through this post, you'll find tidbits here and there on what it takes to get it to work in 3.5.x

does it work in 3.5.x as a plugin? nope, not yet. nobody has coded it as a plugin as of this edit's date.
/edit 2006.01.11

Reeve of shinra 04-24-2005 11:16 PM

Glad to see you got it working. So your solution entails running Gallery in embedded mode which basically allows Gallery to utilize the Vbulletin log in system?

Do you have a link to your site for people to see what the results are?

whodah 04-25-2005 12:13 AM

hello Reeve of shinra!

yup, that's the solution! :)

G2 was written w/ integration in mind from day one from what i understand. whether it's postnuke, vBulletin, or your own user table you custom coded.

here's a link to how it looks. this site isn't live yet (the live site is just the root domain running postnuke). i hope to have the site migrated and live on VB this week! :)

just a couple things i need to do still... (banner integration for our sponsors being the sole thing from making it live i think... i've yet to search, but betting there's a solution on these forums, heh!)

i'll probably edit the G2 css to match the VB3 css. i havn't done it yet because i'm not sure what style/colors we'll use in VB3 yet, so why edit G2's twice? ;)

at first i disabled G2's css and of course then VB3's kicks in and G2 matches perfectly. but you loose functionality in G2 if you do that (slideshow and such).

so, w/ the help over at menalto - G2's css is in place as well.

and here's the link! this link will be broken eventually as the site goes live, but then it'll just be the root domain.

http://www.cvreefers.org/VB/gallery2.php

jugo 04-25-2005 05:17 PM

Awesome work dude. Glad to see someone finally took on this task of integrating the Best Gallery on the planet with the Best Forums System on the Planet.

Thanks a lot!!!

whodah 04-25-2005 05:54 PM

:) yer welcome jugo!

and i agree on the gallery/forum combo! :D

subnet_rx 05-03-2005 08:17 PM

anyone get this working and has a demo for me to look at?

kyouens 05-03-2005 08:26 PM

Quote:

Originally Posted by subnet_rx
anyone get this working and has a demo for me to look at?

http://www.cvreefers.org

subnet_rx 05-03-2005 09:16 PM

thanks!

whodah 05-03-2005 09:44 PM

currently fighting a couple of things... didn't notice them right off the bat until it had been running a while...

a) mod_rewrite - i can enable mod_rewrite and it works for the gallery2 installation, but not the embedded installation. i've done preliminary research on it and see that some embeded mod_rewrite issues were resolved w/ the latest CVS which i'm not runnin...

b) the menu to the left to add/edit/delete items is not appearing for all users... again - i've yet to dig too deep into this.

remember that G2 is still beta! :)

jugo 05-04-2005 01:01 AM

<a href="http://www.ao1-squad.com/bb/gallery2.php" target="_blank">http://www.ao1-squad.com/bb/gallery2.php</a>

And yes to the issues stated above. I was going to post those.

But so far the installation works as far as integration where users are concerned

It' be cool if the theme would be inherited as well.

ZED28 05-06-2005 10:39 PM

I've been looking for a Menalto Gallery integration for vBulletin and this was great news! Right now I'm just running a test board to see how it works and have the intention of migrating an existing board over to it after testing.

Regarding the side-bar missing when integrated, I don't ever seem to be able to get it to show. My install is as vanilla as it can be, no mods, out of the box install for both Gallery2 and vBulletin.

Just wondered if you could shine any light on it at all. I noticed it works like a champ on your site AND with the CMS addon, this is exactly what I'm hoping to achieve.

whodah 05-06-2005 10:59 PM

as for issue:
b) the 'missing side bar' was a line of code i overlooked. not a bug, a feature!

i'm actually quite embarassed i missed it...

see the lines in the gallery2.php file in the first post:
Code:

// user interface: disable sidebar in G2 and get it as separate HTML to put it into a block
    GalleryCapabilities::set('showSidebar', false);

well, if u comment out that showsidebar false, it works.. heh!

i.e., change it to:
Code:

// user interface: disable sidebar in G2 and get it as separate HTML to put it into a block
    //GalleryCapabilities::set('showSidebar', false);

what's going on there is that i saw a sample code using that and they are not showing the side bar so they can make it a block in their CMS manager.

for instance, i'm using vBAdvanced and eventually plan on making the 'sidebar' controls a block on the left hand menu.

why? real estate... i'll get my left hand VB menu, PLUS my gallery2 left hand menu. (only on the G2 pages of course!)

i havn't figured out how to do that just yet (havn't messed w/ it much) so in the interim, i've just commented out that line and you'll instantly get the side G2 'bar'.

revisiting issue:
a) mod_rewrite

G2 'holy hand grenade' has integration mod_rewrite issues. it has already been corrected according to the G2 developers, and u can grab it via the CVS if u like.

i'm going to wait about a week or so and hope that the next beta release of G2 comes out. looking at their timeline, they have seemed to release udpates about every 4-5 weeks. if this pattern holds, we should have a release soon!

if not, i'll go the CVS route.

as for the other known issue, the VB salt pw vs. G2's 'regular' pw, no news on that front. but... as long as your users enter through the VB site, all is well! :)

HTH! :)

and lmk if u guys come across any other bugs!! :) once i get around to putting the G2 sidebar into vBAdvanced, i'll post that too! (no ETA, it's low priority compared to the other gazillion things i need to do to the site from the migration of postnuke)

RichieBoy67 05-06-2005 11:00 PM

This is great!!

How hard would it be to get 3 random images to show up on forum home??? I know..... this belongs in the hack request forum but I would love that hack intergrated with this one...... Nice work!!

whodah 05-06-2005 11:06 PM

very doable! :)

there are random block and newest pic and random album and newest album and....... blocks built into G2 which INCLUDE integration blocks!

i've started to research this a bit, and don't quote me 100% because i got distracted during the research (pretty butterfly!!) but i believe that similar to issue a), there were some integration block issues that have been sorted out and are on the CVS.

i plan on revisiting this once i do the next G2 update, so i'll post that too (unless of course someone beats me to it! ;) )

but oh man, u just GOTTA have a random pic block or four, heh! :D

RichieBoy67 05-06-2005 11:08 PM

Awesome!!! I will be waiting for that!!!

Thanks again,

Rich

whodah 05-06-2005 11:14 PM

notta prob, glad ya like it!

:)

ZED28 05-06-2005 11:23 PM

Wodah, thanks so much for the VERY quick reply!!! This is a superb integration and it's also nice that we don't have to hack the snot out of vBulletin! Makes future upgrades a breeze! Kudos on this and I will be re-visiting. posting and watching your progress with baited breath! :)

whodah 05-06-2005 11:29 PM

np!

big kudos to the folks at menalto!! coding from the ground up w/ a integration as a core feature has really shown it's strength!

i too love the fact that you don't have to hack into your vB install to get it to work! :)

kompakt 05-11-2005 02:13 AM

Thanks guys, I was really looking for this mod as well. I beleive I followed the noted steps correctly, but I'm getting this error...

Quote:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 84 bytes) in /home/hagasny/public_html/gallery2/lib/smarty/Smarty_Compiler.class.php on line 35
The (tried to allocate) number and the file (name/line number) keep changing if I try to refresh.. any ideas?

whodah 05-11-2005 04:07 AM

ya, u need to up the:
memory_limit

in your php.ini file

or request that your admin does... looks like it's set to 8M. i had to REALLY increase mine on my G1 to G2 import...

kompakt 05-11-2005 04:22 AM

Well I searched around and upped the memory limit from within the gallery2.php file it self to 12mb. So the gallery2.php file now shows me the gallery embedded with the forum. Its just showing the album names.

But, I cant login to the gallery with either the G2 users or my VB3 Forum users. I've tried both from gallery2.php and the normal /gallery2

-EDIT
Its working now. The short-url mod that wasnt working with the embedding, I took it off and it worked. Howevery, only people who do not have a previous account registered with G2 can log into the new embedded gallery using their VB accounts.

Thanks...

JimBeam 05-13-2005 07:14 AM

Hi. I'm sorry but I have encountered some problems doing the integration.
I got the below error.
Code:

Warning: main(./global.php): failed to open stream: No such file or directory in /home/iwap/public_html/gallery/gallery.php on line 32

Fatal error: main(): Failed opening required './global.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/iwap/public_html/gallery/gallery.php on line 32

What I've done is change the filename to gallery and also the gallery folder to gallery. The template is still the same gallery2.

Code:

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = array();
$navbits[$parent] = 'Gallery G2';

$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 $bbuserinfo;
                require_once('../gallery/embed.php');
   
                $data = array();
       
    // if anonymous user, set g2 activeUser to null
                $uid = $bbuserinfo['userid'] = 0 ? '' : $bbuserinfo['userid'];
 
                // initiate G2
                // you need to edit the following 4 lines to suite your VB3/G2 install!!!
                // this is setup for a install that looks like:
                //    public_html/VB/<vb files>
                //    public_html/gallery2/<gallery2 files>
                // and also setup for a VB3 tempalte 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... i.e. if you've changed it
                // to forums.php or something of the like.
                $ret = GalleryEmbed::init(array('embedUri' => 'gallery.php',
                                    'embedPath' => '/forums',
                                                'relativeG2Path' => '../gallery',
                                    'loginRedirect' => 'index.php',
                                    'activeUserId' => $uid));

The final thing different is that the url is a sub domain. (gallery.mysite.com/gallery.php)

jugo 05-13-2005 11:57 AM

Quote:

Originally Posted by JimBeam
require_once('./global.php');


Change that to

Code:

require_once('/full/path/to/forum/global.php');

whodah 05-13-2005 01:26 PM

Quote:

Originally Posted by kompakt
Well I searched around and upped the memory limit from within the gallery2.php file it self to 12mb. So the gallery2.php file now shows me the gallery embedded with the forum. Its just showing the album names.

But, I cant login to the gallery with either the G2 users or my VB3 Forum users. I've tried both from gallery2.php and the normal /gallery2

-EDIT
Its working now. The short-url mod that wasnt working with the embedding, I took it off and it worked. Howevery, only people who do not have a previous account registered with G2 can log into the new embedded gallery using their VB accounts.

Thanks...

sorry, didn't notice this reply until just now!!

glad to hear you got it worked out!!

as for the user issue: hrm.. i wonder if this directly stems from the known issue in the first post... i didn't come across this issue, but all of my gallery users were embedded in postnuke and now are embedded from G2. i.e. i had no G2 users other then the admin prior to the install of G2...

JimBeam 05-15-2005 12:18 PM

Quote:

Warning: main(./includes/init.php): failed to open stream: No such file or directory in /home/iwap/public_html/forums/global.php on line 54

Fatal error: main(): Failed opening required './includes/init.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/iwap/public_html/forums/global.php on line 54
The above was found after I specified the path. Can't find what's wrong I hope you can help me point it out.

whodah 05-20-2005 08:16 PM

heya!

a big step forward! :)

just thought i'd let you (others) know that i've installed G2b3, enabled/setup the mod_rewrite module (on the G2 Site Admin), copied the .htaccess file out of my G2 base dir (www/gallery2/.htaccess) and put it into my vB base dir (www/.htaccess), and it's workin!

we can now use bbcode [ i m g ] tags out of our gallery install again! (the pictures now retain their .jpg extension or whatever instead of a long database name)

w00t!

no changes to any files/templates other then the .htaccess files.

now we just gotta get that random block working...

MrToasty 05-21-2005 07:59 PM

Cheers Whodah... I've been meaning to look into this for a very very long time, as i love gallery, and love vbulletin... it looks like you've taken a lot of the hard work for me yourself, and have made it easy for us.

I'm uploading G2 as we speak, have the vb3 gallery2.php file and template at the ready.. I'll let you know how i go here...

Whodah - you da man... this installation does everything i ever hoped and dreamed for in a gallery setup linked to the forums...

I'm extremely impressed...

My only thoughts are, I slipped up with that side menu thing as well... perhaps edit the code in the first post? Other than that, you're a miracle worker!

Also, can anyone tell me what's the easiest way about adding "Viewing Gallery" to the who's online page? Looks a bit ugly at the moment?

ZED28 05-22-2005 04:19 AM

Quote:

Originally Posted by whodah
just thought i'd let you (others) know that i've installed G2b3, enabled/setup the mod_rewrite module (on the G2 Site Admin), copied the .htaccess file out of my G2 base dir (www/gallery2/.htaccess) and put it into my vB base dir (www/.htaccess), and it's workin!

Hey Wodah, I've just implemented this and it works nicley! However, clicking on any of the thumbnails takes the Gallery out of embeded to stand-a-lone mode. I took the liberty of checking your version out and it seems to do the same.

Do you have any idea how to retain the rewrite capabilities and have the images displayed while integrated/nested in VB?

Thanks bud. BTW, Gallery2 gets better with each release!!!

whodah 05-22-2005 05:12 AM

heya!

MrToasty: good idea - i've edited the first post commenting out the 'disable sidebar' line...

ZED28: yes, this was brought to my attention by a couple users as well.

the issue is in our vB .htaccess file... it's skipping our integration php file...

not sure how to fix it just yet, but it should be fixable w/ the current version (G2b3) i.e. we shouldn't have to wait for the next release on this one, woot! talking to one of the programmers, it looks like the next release will skirt this issue w/ a cookie/session setting. but for now, we gotta fix our .htaccess file.

i'll probably visit this issue in the next couple of days.

i got the random block working - kinda... getting some access errors on that so i disabled it. but i'll be working on that soon too.

ZED28 05-22-2005 01:06 PM

Quote:

Originally Posted by whodah
heya!

MrToasty: good idea - i've edited the first post commenting out the 'disable sidebar' line...

ZED28: yes, this was brought to my attention by a couple users as well.

the issue is in our vB .htaccess file... it's skipping our integration php file...

not sure how to fix it just yet, but it should be fixable w/ the current version (G2b3) i.e. we shouldn't have to wait for the next release on this one, woot! talking to one of the programmers, it looks like the next release will skirt this issue w/ a cookie/session setting. but for now, we gotta fix our .htaccess file.

i'll probably visit this issue in the next couple of days.

i got the random block working - kinda... getting some access errors on that so i disabled it. but i'll be working on that soon too.

Thanks for the update Whodah! That's GREAT news on the random block too, that will be the "cherry on the cake" for me!

MrToasty 05-24-2005 02:03 PM

After 2 days of usage, the verdict is brilliant! I couldn't be more happy, as I've been waiting forever to be able to merge these 2 babies together...

My old Gallery1 albums all imported accross beautifully... the permissions I'm able to set for different usergroups is excellent... I'm over the moon...

Cheers Whodah! This should be turned into an official integration hack as soon as Gallery2 becomes RC or full release. :)

whodah 05-24-2005 02:53 PM

i'm glad you like it! :)

as an update: sounds like the mod_rewrite redirection method in integration is becoming obsolete and they're working on a session/cookie based method for multi-directory, multi-embeded (cms, whatever) and even... mutli-site! integration...

it should be up on the CVS soon from what i read on the gallery forums.

for the random block: i had it up on our site, then it was erroring out. i think i was initializing it wrong... but i think i've got it straightened out. a couple more days of testing and i'll post it! :)

hey, anyone doing this w/ G2b3?

if so - do your users get logged out of G2 after you 'surf around' G2 a bit?

after about 5 navigations through G2, my IE users are getting logged out. my FF users stay logged in. i was wondering if anyone can replicate this?

ZED28 05-25-2005 11:50 PM

Whodah,

I just went live with my site today and the one problem I'm having is with the other Admin.

Anyone else who logs into the site, Gallery2 creates an account automatically and then permissions can be set on the individuals album. However, when the other admin logs in, he gets the following error message and an account is never created for him:-

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


Any idea what this could be?

Thanks bud!

Zeoran 05-26-2005 12:35 AM

I followed the instructions as requested, but I can't seem to get mine working.

www.guardianbrotherhood.org
www.guardianbrotherhood.org/forums (vb3)
www.guardianbrotherhood.org/forums/gallery2.php

My gallery install is in www.guardianbrotherhood.org/forums/gallery

and when I go to the php it gives me:

Code:

Unable to add cookies, header already sent.
File: /home/guardian/public_html/gb/forums/gallery2.php
Line: 1

Any ideas?

Ok... it looks like it's working now, but it's not picking up the color scheme/theme of my main vb site.

Also, I'm curious how I can control the permissions of users for the gallery????

It's also not letting me upload any pictures to any of the albums... the remote won't download, the xp tab doesn't work, even the java applet complains about something..

HELP!!!

My members have been begging for a picture gallery and I have been DESPERATELY trying to get one working that doesn't cost a fortune. I'd even be willing to pay someone to help me get this working right on my site... just PLEASE help.

whodah 05-26-2005 02:35 PM

ZED28: will your 2nd admin be entering the gallery stictly from vB3? i.e. will NOT be entering it through the standalone version? (not to be confused w/ accessing, we're talking entering here)

if so (and hopefully how it is!!) - i'd visit yer G2, delete the 2nd admin. then have the 2nd admin log on to vB3, click yer gallery2.php integration file, the integration script will then create the 2nd admin user.

you'll then have to go in as the 1st admin and edit the 2nd admin's account to make them an admin as at this point, they'd just be a regular user.

Zeoran: can you post your gallery2.php file and gallery2 template?

Zeoran 05-26-2005 02:45 PM

quick rundown:

my main site is www.zeoran.com. I'm running vb and the gallery on www.guardianbrotherhood.org which is a sub-domain pointer off my main site. So the web for guardianbrotherhood.org is under /home/guardian/public_html/gb/. I installed the gallery under the forums directory which is at www.guardianbrotherhood.org/forums/gallery.

here is my gallery2.php

Code:

/<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'gallery2'); // 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(
    'galley2',
);

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

);

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$navbits = array();
$navbits[$parent] = 'Gallery G2';

$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 $bbuserinfo;
                require_once('../forums/gallery/embed.php');
   
                $data = array();
       
    // if anonymous user, set g2 activeUser to null
                $uid = $bbuserinfo['userid'] = 0 ? '' : $bbuserinfo['userid'];
 
                // initiate G2
                // you need to edit the following 4 lines to suite your VB3/G2 install!!!
                // this is setup for a install that looks like:
                //    public_html/VB/<vb files>
                //    public_html/gallery2/<gallery2 files>
                // and also setup for a VB3 tempalte 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... i.e. if you've changed it
                // to forums.php or something of the like.
                $ret = GalleryEmbed::init(array('embedUri' => 'gallery2.php',
                                    'embedPath' => '/forums',
                                                'relativeG2Path' => '../forums/gallery',
                                    'loginRedirect' => 'index.php',
                                    'activeUserId' => $uid));
                                               
    if ($ret->isError())
        {
          if ($ret->getErrorCode() & ERROR_MISSING_OBJECT)
          {
            // check if there's no G2 user mapped to the activeUserId
            $ret = GalleryEmbed::isExternalIdMapped($uid, 'GalleryUser');
            if ($ret->isError() && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
            {
                // user not mapped, map create G2 user now
                // Get Arguments for the new user:
                $args['fullname']    =  $bbuserinfo['username'];
                $args['username']    = $bbuserinfo['username'];
                $args['hashedpassword'] =  $bbuserinfo['password'];
                $args['hashmethod'] =    'md5';
                $args['email']      =  $bbuserinfo['email'];
                $args['language']  =  $bbuserinfo['lang_code'];
                $args['creationtimestamp']  =  $bbuserinfo['joindate'];
                 
                $retcreate = GalleryEmbed :: createUser($uid, $args);
                if (!$retcreate->isSuccess())
                {
                    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->isError()) {
                    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') . '");');

?>

and here is the template I created

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>

All I want is the simple stuff. I want the user db for the gallery to be integrated with my vb install. I want the gallery to pickup the colors/theme of my vb install. And I need to know why none of the picture uploading features are working and how I can control permissions and stuff to the albums with vb users.

Thank you.

kompakt 05-30-2005 12:41 PM

Quote:

Originally Posted by Zeoran
I want the gallery to pickup the colors/theme of my vb install.

Edit the theme.css file in your gallery templates directory and change colors as you desire to match the theme of your site. You could check the style manager for your vb skin to see the html color codes used on your skin.

ZED28 05-31-2005 12:03 AM

Whodah,

I'm still tinkering with the admin problem I was having and that's on the back burner right now, I haven't heard from the guy to know if it's still a problem.

But on a totally unrelated note; I have changed my theme quite a bit and of course, the standard theme that comes with Gallery is not suitable so I changed the values in the Gallery CSS (Matrix) to make it fit my vBulletin theme. Well then I get to asking myself what I'm going to do if I want a different skin? :rolleyes: LOL

So I tried something that just seemed too easy for words, I copied the entire contents of the Matrix theme.css file from Gallery and apended it to the "Additional CSS Definitions" section of the Main CSS for my theme, deleted or renamed the original style.css file in Gallery and voila!

Switch themes in VB and the Gallery does the same!

Now of course, you do have to create a matching CSS file for Gallery to match your chosen theme but once you have done that, copy the modified CSS as stated above and that should work!

whodah 05-31-2005 03:03 AM

Zeoran: i'm not seeing the problem :(

ZED28:
admin issue: roger that!
css: nice!!!

whodah 06-02-2005 01:23 AM

JimBean: thought of you today when i read that they are implementing subdomain support. it's not there yet, but they are working on it...

more info here:
http://gallery.menalto.com/index.php...wtopic&t=30959


All times are GMT. The time now is 04:50 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.03607 seconds
  • Memory Usage 1,969KB
  • 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
  • (12)bbcode_code_printable
  • (9)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)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