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

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

Poprocks on toast, yo.

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

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

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

public_html/Vbulletin Files
and
public_html/gallery2/Gallery Files

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

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

Step 2:
Create a new file containing the following, and save it as gallery2.php:
PHP Code:
<?php

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

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''gallery'); // change this depending on your filename

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(

);

// get special data templates from the datastore
$specialtemplates = array(

);

// pre-cache templates used by all actions
$globaltemplates = array(
'gallery2',
);

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

);

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

require_once('./global.php');

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

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

$navbits construct_navbits($navbits);
eval(
'$navbar = "' fetch_template('navbar') . '";');

// #######################################################################
// ###################### Begin G2 INTEGRATION CODE ######################
// #######################################################################

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

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

$data = array();

// If it's an anonymous user, set the g2 activeUser to null
$uid $vbulletin->userinfo['userid'] = '' $vbulletin->userinfo['userid'];

// initiate G2
// You need to edit the following 4 lines to suit your VB3 & G2 installations
// This is set up for an install that looks like:
// public_html/VB/<vb files>
// public_html/gallery2/<gallery2 files>
// and also setup for a VB3 template name of 'gallery2'. If you have any
// differences, make those changes here!
// You might need to change 'loginRedirect' if you have your VB3 setup to
// where index.php is not the root page of VB3... Like if you've changed it
// to forums.php or something of the like.

$ret GalleryEmbed::init(array('embedUri' => '/gallery2.php',
'g2Uri' => 'http://www.paranormalis.com/gallery2/',
'loginRedirect' => 'index.php',
'activeUserId' => $uid));
if (
$ret)
{
if (
$ret->getErrorCode() & ERROR_MISSING_OBJECT)
{
// Check if there's no G2 user mapped to the activeUserId
$ret GalleryEmbed::isExternalIdMapped($uid'GalleryUser');
if (
$ret && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
{
// User not mapped, create G2 user now
// Get Arguments for the new user:
$args['fullname'] = $vbulletin->userinfo['username'];
$args['username'] = $vbulletin->userinfo['username'];
$args['hashedpassword'] = $vbulletin->userinfo['password'];
$args['hashmethod'] = 'md5';
$args['email'] = $vbulletin->userinfo['email'];
$args['language'] = $vbulletin->userinfo['lang_code'];
$args['creationtimestamp'] = $vbulletin->userinfo['joindate'];

$retcreate GalleryEmbed :: createUser($uid$args);
if (
$retcreate)
{
echo 
'<HR>line: '.__LINE__.', Failed to create G2 user with extId ['.$uid.']. Here is the error message from G2: <br />'.$retcreate->getAsHtml();
return 
false;
}
$ret GalleryEmbed::checkActiveUser($uid);
if (
$ret) {
print 
$ret->getAsHtml();
return 
false;
}
}
else
{
echo 
'<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml();
return 
false;
}
}
else
{
echo 
'<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml();
return 
false;
}
}

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

// handle the G2 request
$g2moddata GalleryEmbed::handleRequest();

// show error message if isDone is not defined
if (!isset($g2moddata['isDone'])) {
$data['bodyHtml'] = 'isDone is not defined, something very bad must have happened.';
return 
$data;
}
// die if it was a binary data (image) request
if ($g2moddata['isDone']) {
exit; 
/* uploads module does this too */
}

// put the body html from G2 into the xaraya template
$data['bodyHtml'] = isset($g2moddata['bodyHtml']) ? $g2moddata['bodyHtml'] : '';

// get the page title, javascript and css links from the <head> html from G2
$title ''$javascript = array(); $css = array();

if (isset(
$g2moddata['headHtml'])) {
list(
$data['title'], $css$javascript) = GalleryEmbed::parseHead($g2moddata['headHtml']);
$data['headHtml'] = $g2moddata['headHtml'];
}

/* Add G2 javascript */
if (!empty($javascript)) {
foreach (
$javascript as $script) {
$data['javascript'] .= "\n".$script;
}
}

/* Add G2 css */
if (!empty($css)) {
foreach (
$css as $style) {
$data['css'] .= "\n".$style;
}
}

// sidebar block
if (isset($g2moddata['sidebarHtml']) && !empty($g2moddata['sidebarHtml'])) {
$data['sidebarHtml'] = $g2moddata['sidebarHtml'];
}

return 
$data;
}
// #######################################################################
// ####################### End G2 integration code #######################
// #######################################################################

eval('print_output("' fetch_template('gallery2') . '");');

?>
(or download the attached gallery2.php)

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

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

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

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

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

Enjoy!
Attached Files
File Type: php gallery2.php (5.5 KB, 751 views)
File Type: xml gallery-plugins.xml (1.8 KB, 722 views)
Reply With Quote
  #82  
Old 05-04-2006, 04:30 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #83  
Old 05-04-2006, 05:32 PM
silkie silkie is offline
 
Join Date: Feb 2006
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nope no change. it's just driving me nuts now.
Reply With Quote
  #84  
Old 05-04-2006, 08:26 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #85  
Old 05-05-2006, 12:44 AM
ngocluyen ngocluyen is offline
 
Join Date: Dec 2005
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks it work great!thanks U so much !
Reply With Quote
  #86  
Old 05-06-2006, 04:53 AM
Jayphen Jayphen is offline
 
Join Date: May 2005
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #87  
Old 05-06-2006, 02:03 PM
silkie silkie is offline
 
Join Date: Feb 2006
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #88  
Old 05-08-2006, 03:09 PM
SilVert SilVert is offline
 
Join Date: Oct 2003
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #89  
Old 05-11-2006, 06:17 PM
ragtek ragtek is offline
 
Join Date: Mar 2006
Location: austria, croatia
Posts: 1,630
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #90  
Old 05-13-2006, 12:33 AM
silkie silkie is offline
 
Join Date: Feb 2006
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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/',
Reply With Quote
  #91  
Old 05-15-2006, 02:35 PM
silkie silkie is offline
 
Join Date: Feb 2006
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:25 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.13720 seconds
  • Memory Usage 2,477KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_code
  • (1)bbcode_html
  • (10)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete