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)

jklap 06-10-2007 04:02 AM

Joel,

Sure, my g2 and vb are in separate folders-- the trick is that global.php sets up CWD as the current working directory-- and if you are calling/including global.php from outside of the vb directory you have a problem. I made a change to global.php:

Code:

if( !defined(CWD) ) {
  define('CWD', (($getcwd = getcwd()) ? $getcwd : '.'));
}

And then in my embed code (most people here seem to be naming their embed file gallery2.php), I simply do the following:

Code:

define('CWD', '/var/www/html/vb');
require_once(CWD . '/global.php');

Then, continuing on, I include g2 stuff:

Code:

require_once('/var/www/html/g2/embed.php');
Then you init as usual and go on your merry way.

Also, I've noticed that if you are including vb SIMPLY so you can use $vbulletin->userinfo['userid'] to pass into g2, you do not seem to need to include vb/global.php, you can include vb/includes/init.php instead-- it's faster as it doesn't load up a bunch of stuff not needed.

Another side note. If you want to make sure that accessing g2 pages keeps the vb session alive, include the vb stuff as mentioned above, but also make sure to call exec_shut_down() near the end of your script-- this makes vb flush out the session to the db, which then keeps the session alive.

I should note though that I'm not using the vb templating system (fetch_template('gallery2')) to accomplish my display (as this thread discusses). Instead, I simply take the output from the runGallery() call and embed it directly in html in the same script. My script ends up looking like this (obviously pseudocode):

Code:

  set THIS_SCRIPT
  include vb/includes/init.php
  include g2/embed.php
  get userid from $vbulletin->userinfo['userid']
  GalleryEmbed::init( 'embedUrl' => '<<points to this script such as /regstuf/g2.php>>'
    'g2Url' => '<<points to url for g2 directory such as /g2/'
    'activeUserId' => $userid
  )
  $data = GalleryEmbed::handleRequest();
  check isDone, if so, return
  parse header  into javascript,title and css

  <html>
  <head>
  echo $data['javascript']
  echo $data['css']
  </head>
  <body>
  stuff......
  echo $data['bodyHtml']
  </body>
  </html>

  exec_shut_down();

The above is the basics, you should also include error checking and such, I just didn't bother typing.

Also, this works in 3.6.6, 3.6.7 and 3.6.7 PL1

Before you ask me a question, make sure you read this whole thead, cause if you ask something dumb that can be answered by looking at the code or reading this thread like 'what do you mean by set THIS_SCRIPT' or how do you do 'set THIS_SCRIPT, I will ignore you. Think before you ask.



Next....



Looks to me like file access permission errors. Maybe your webserver can no longer can write to your g2data directory?

Your last error leads me to believe your plugins have a path to your embed.php file and embed.php is no longer where it should be.

Look at the paths in the errors and figure out what it's complaining about-- it's all there.


Quote:

Originally Posted by scan-pa (Post 1251653)
I updated the forums to 3.6.7pl and all I get are errors now.

How do I remove everything to do with this mod and gallery 2

here is some of the errors I get when people come to my forum main page and forum index page and admin login page:

Warning: rename(/tmp/0.incndrdBN,/home/centram2/CPAg2data/cache/module/thumbnail/0/0/0.inc) [function.rename]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 487

Warning: mkdir(/home/centram2/CPAg2data/cache) [function.mkdir]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 624

Warning: rename(/tmp/0.incjeNH1a,/home/centram2/CPAg2data/cache/module/rss/0/0/0.inc) [function.rename]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 487

Warning: mkdir(/home/centram2/CPAg2data/cache) [function.mkdir]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 624

Warning: rename(/tmp/0.incJIcqty,/home/centram2/CPAg2data/cache/module/panorama/0/0/0.inc) [function.rename]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 487

Warning: mkdir(/home/centram2/CPAg2data/cache) [function.mkdir]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 624

Warning: rename(/tmp/0.inczi6mWV,/home/centram2/CPAg2data/cache/module/publishxp/0/0/0.inc) [function.rename]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 487

Warning: mkdir(/home/centram2/CPAg2data/cache) [function.mkdir]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 624

Warning: rename(/tmp/0.inc53owqj,/home/centram2/CPAg2data/cache/module/sizelimit/0/0/0.inc) [function.rename]: Permission denied in /gallery2/modules/core/classes/GalleryPlatform.class on line 487

Warning: mkdir(/home/centram2/CPAg2data/cache) [function.mkdir]: Permission denied

-----------------------------------------------------------------------------

I just want to delete this whole mess and remove it from the system.

Any advice on doing that to restore my forums?

also getting these errors:

Warning: Unknown(/home/centram2/public_html/forum/gallery2/embed.php): failed to open stream: No such file or directory in /includes/class_dm_user.php(1668) : eval()'d code on line 1
Fatal error: (null)() [function.require]: Failed opening required '/home/centram2/public_html/forum/gallery2/embed.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/centram2/public_html/forum/includes/class_dm_user.php(1668) : eval()'d code on line 1


dotJoel 06-11-2007 02:32 PM

Alright,

Before I attempt using the unembeded version I thought I would try the mod first.

http://www.appozone.com/test/gallery.php

Looks like for some reason it includes /test/test/ twice and thus does not display any images.

Any advice appreciated.

Regards,

.Joel

snapshotz 06-15-2007 01:59 PM

i know this isn't a solution for all..but this integration never seems to be solid.
you are better off going with vbdrupal and integrating gallery..I do this on my site with no problems with full group synch between platforms.

cash7c3 06-17-2007 12:27 AM

cool hack

jklap 06-18-2007 01:11 PM

Quote:

Originally Posted by snapshotz (Post 1269075)
i know this isn't a solution for all..but this integration never seems to be solid.
you are better off going with vbdrupal and integrating gallery..I do this on my site with no problems with full group synch between platforms.

As far as this integration being stable, once it is configured and setup right (which is where just about every posted issue I've seen is concerned), there are no stability issues, in fact it is very clean and doesn't contain the overhead of a CMS system- of course this last point is only relevant to those that don't want nor need a CMS.

zincpony 06-28-2007 01:55 AM

anyway to set up access to only admins and super & general mods and have a second gallery for everyone to post into?

and will this work with vb 3.6.7 and gallery 2.2.2??

jklap 06-29-2007 11:19 AM

Basically, all the ideas here are valid for 3.6.X. I'm running 3.6.7 PL1 (uh, as I meantioned above), and Gallery 2.2.1 (although I've looked at the change list for 2.2.2 and I don't see much that would effect it except for the Download image rewriting fix, but thats pretty narrow and only valid if you are using main.php for core.DownloadItem).

Quote:

Originally Posted by zincpony (Post 1278173)
and will this work with vb 3.6.7 and gallery 2.2.2??


zincpony 07-04-2007 02:00 AM

hmmmm, i dont understand what it is that i am doing wrong. when i try to visit gallery2.php its loads up completely empty.

i followed the installation closely, but it doesnt work.

i have it set up as

...site/forum
&
...site/forum/gallery2/

Enigma Aus 07-28-2007 04:12 AM

Quote:

Originally Posted by zincpony (Post 1282375)
hmmmm, i dont understand what it is that i am doing wrong. when i try to visit gallery2.php its loads up completely empty.

i followed the installation closely, but it doesnt work.

i have it set up as

...site/forum
&
...site/forum/gallery2/

I followed it correctly and everything did work...
This tutorial doesn't clarify the correct dir for embedding gallery and vb

My structure is this

...site/forum>vbfiles
&
...site/forum/gallery2/>gallery2 files

The template loads but my images think there at ....site/forum/forum/gallery2

I cant seem to find a way to fix it... :mad:

oldgoat 07-28-2007 10:57 PM

hello to all
i followed the installation instructions and installed gallery 2.1.1, the program installed properly, everything is working as expected, except the navbar links from vbulletin do not show up, as a standalone product the gallery works fine, it also works as a forum link . I am running vbulletin 3.5.4, the url to the site is http://www.freemovie-downloads.net/gallery2/main.php
I have spent over two days trying to figure out what is not working. I cant get gallery2 to be embedded as part of vbulletin. I need some input as to what can be wrong.

vbulletin is in /httpdocs/forum
gallery2 is in /httpdocs/gallery2
gallery2.php is in /httpdocs/forum

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''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(

'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(
'usr/local/psa/home/vhosts/freemovie-downloads.net/httpdocs/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' => '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') . '");');



?>

thanks in advance


All times are GMT. The time now is 04:19 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02339 seconds
  • Memory Usage 1,851KB
  • 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
  • (4)bbcode_code_printable
  • (1)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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