The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Gallery 2.1 and vBulletin 3.5.X integration
This tutorial will outline the steps needed to integrate your vBulletin 3.5.X and Menalto Gallery 2.1 installations. The original thread located here has become a little too scattered, and since it's original focus was on the Gallery 2.0 and vBulletin 3.0 series, I think it'd be beneficial to start this new thread so that the information is more easily found for the 3.5.X and 2.1 series. Before we begin, you should be aware that this tutorial assumes that you'll be placing your gallery in the root directory for your forums. My directory structure looks a little like this: public_html/Vbulletin Files and public_html/gallery2/Gallery Files As long as your gallery folder is located within your root vBulletin directory, this should work just fine. Step 1: Install Menalto Gallery 2.1. Remember to upload the "gallery2" folder INSIDE your root vBulletin directory! Step 2: Create a new file containing the following, and save it as gallery2.php: PHP Code:
Step 3: Find and edit the following code to suit your site setup: PHP Code:
PHP Code:
Step 4: Create a new template in your style manager called gallery2 containing the following: HTML Code:
$stylevar[htmldoctype] <html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]"> <head>$headinclude $data[headHtml] </head> <body> $header $navbar <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <tr> <td class="tcat">Gallery</td> </tr> <tr> <td class="alt1">$data[bodyHtml]</td> </tr> </table> $footer </body> </html> You can achieve further integration by using johnmont's plugins which will:
PHP Code:
Hopefully this tutorial sparks a little more interest in this area and we can get some additional people contributing solutions to achieve tighter integration :banana: As the integration progresses, I'll update this thread to keep everything together and accessable. Enjoy! |
#122
|
|||
|
|||
maybe someone can shed some light on this for me
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 3 bytes) in ..../forum/gallery2/modules/imageblock/classes/ImageBlockHelper.class on line 248 george |
#123
|
|||
|
|||
Quote:
not me personaly, but i coudl see some instances where it might be usefull Quote:
Do have any themes installed? |
#124
|
|||
|
|||
Hi
I am getting blank page for gallary 2. I have just tried to debug the things, You can see the userid there http://aquariumboard.com/forums/gallery2.php I have installed gallary2 at location ( http://aquariumboard.com/forums/gallery/main.php ) I have created the templated in style manager also and name it "gallery2". can anyone plz help me out. #### here is the 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('/home/paranorm/public_html/gallery2/embed.php'); require_once('gallery/embed.php'); $data = array(); // If it's an anonymous user, set the g2 activeUser to null $uid = $vbulletin->userinfo['userid'] = 0 ? '' : $vbulletin->userinfo['userid']; // initiate G2 // You need to edit the following 4 lines to suit your VB3 & G2 installations // This is set up for an install that looks like: // public_html/VB/<vb files> // public_html/gallery2/<gallery2 files> // and also setup for a VB3 template name of 'gallery2'. If you have any // differences, make those changes here! // You might need to change 'loginRedirect' if you have your VB3 setup to // where index.php is not the root page of VB3... Like if you've changed it // to forums.php or something of the like. print "User id is $uid"; $ret = GalleryEmbed::init(array('embedUri' => 'gallery2.php', 'g2Uri' => 'http://aquariumboard.com/forums/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:arseHead($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') . '");'); ?> ########## |
#125
|
|||
|
|||
thanks for this great hack, i got gallery working.
but there's a minor error with style : Code:
<link rel="stylesheet" type="text/css" href="album/modules/icons/iconpacks/paularmstrongdesigns/icons.css"/> <script type="text/javascript" src="album/modules/search/SearchBlock.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Gallery</title> <link rel="stylesheet" type="text/css" href="album/themes/matrix/theme.css"/> gallery2 at root/album/<albumfiles> gallery2.php at root/forum/gallery2.php Please help to fix this style issue. Thanks!!! |
#126
|
|||
|
|||
$ret = GalleryEmbed::init(array('embedUri' => 'gallery2.php',
'g2Uri' => 'http://aquariumboard.com/forums/gallery/', 'loginRedirect' => 'index.php', 'activeUserId' => $uid)); this function does not give me the output .. do any one have any idea about this. |
#127
|
|||
|
|||
Nikhilphp: change this line to reflect your location, and remove the "#"
PHP Code:
Quote:
|
#128
|
|||
|
|||
Quote:
just change $ret to: $ret = GalleryEmbed::init(array('embedUri' => '/forum/gallery2.php', also is there any way to make url rewrite module works? i would like to have member gallery url like www.domain.com/gallery/username Thanks |
#129
|
|||
|
|||
Quote:
i know for a FACT that the "Download Item" part works. and i think that i have the Watermark working... if you have gallery in non embed mode, it will all work 1000% correctly. but then your links in embed mode will not work correctly... |
#130
|
|||
|
|||
How would i go about doing this ...
I have my vBulletin at www.movetonyc.com/forums (which would be /public_html/forum) then I have a add-on domain with the same hosting for my domain name www.photommunity.com and that would be /public_html/photommunity Could I install the gallery scrpit in the photommunity folder and have it stand alone for when people go to photommunity.com but also have it work for the intergration with movetonyc.com/forum ? If you don't understand what i am saying i want to have a part of the photommunity to be used for movetonyc.com but i want the gallery to be other things too for a totally different back-boned site? Understand? if not il try to explain it better. |
#131
|
|||
|
|||
If you want the images to be totally different for each gallery, then set them up as a multi-site installation.....sorry to do this, but the G2 manual will be a better reference than I can.
then have your core at /public_html/gallery2 your embedded site 1 at /public_html/forum/gallery2 and your other one at /public_html/photommunity/gallery2 If you want the same gallery on both sites, then you will have to do some redirects... ...hopefully that makes sense. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|