Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

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
  #262  
Old 12-29-2007, 08:26 AM
Eclipsed830 Eclipsed830 is offline
 
Join Date: Jan 2007
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does this allow the VB users username and passwords to be transfered over too, so users don't need to create a new account to upload pictures?
Reply With Quote
  #263  
Old 01-22-2008, 04:14 PM
Alteran Ancient's Avatar
Alteran Ancient Alteran Ancient is offline
 
Join Date: May 2005
Location: Atlantis
Posts: 40
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yep. The script Carbon-copies the user's account to the gallery when the navigate to the integrated gallery page.

Also, I'm trying to use this in vB3.7, but http://www.alteranlabs.co.uk/forums/gallery2.php is screwed up; None of the images are there and the formatting is out-of-whack. I've looked at the image path for the placeholders, and it's done "/forums" twice! Any way to rectify this?
Reply With Quote
  #264  
Old 01-31-2008, 06:01 PM
stonner stonner is offline
 
Join Date: Jun 2006
Posts: 212
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I tried this integration with Gallery 2.2 i got this error message:
Quote:
line: 98, Failed to create G2 user with extId [1]. Here is the error message from G2:
Error (ERROR_COLLISION)

* in modules/core/classes/GalleryUser.class at line 149 (gallerycoreapi::error)
* in modules/core/classes/GalleryEmbed.class at line 344 (galleryuser::create)
* in /var/www/forums/gallery2.php at line 95 (galleryembed::createuser)
* in /var/www/forums/gallery2.php at line 50

���������\�w�F���>���e^��3����18��m���O! P[HD�Nf��������tH����Vݥ�V��vr���v�b�t�����&�J� ʯ[�J�{������9�(WY7���O�(��J���b�(M'��|>/Ϸ�Q<�t�+�� ����YvS�j�W�]?�[A[,��a��B�g����Km�NJ��SV��Q�zaZ��M<�9�S�J�oi��2gd lj��o��Ҟ�*@�B/+��^�z��i���x^�l��l���V�{ԭw7�b71 H�h]/qbB��q���;E��J%��tX'� �d�y)+����R��\'!�[�f}9�ݢ����*?1c�r;�t�z� �i����l�������Ty���w��� ��s;��i�/hm��C�v� �q��_tg�a|u����vh�3Z�ރ��x_lq��ufǾ������ $��R�������x�lg�@�ۉ�~8<`������}���:#�{6]�Y(r7��o�gg>D�s����C#F��l'�g��o�ǵ���ժ�T��C�`9� �E3Q����\R�������o���TN�l/. �d��"���GF��zN�p��(��K˞W(|ς(e��3$T�/�v���Bz��^��j�G0���i�V���% ~13I�R{�a^ͰpFYW�c[���� �q��+��$�+SRN�%���$DQ�^m�v��9�ܪ��mb0���ӥ �E� -dLW�+�n�P=]�?����d�\0�n;H7�;�F�@ �;�M�\dHi����6��vn��쇤�H ��M2{���w�?�>��7�P��d��؃6���['S)Ko���i�b���k�r�����k���/���N��$�O)��� # �M�4��~pw�,'c;|�[�}]4�?���ҥ�x�)3ڳ�-=�7bgy�G�ə*:�mRI��s�9����I�b��P�f����Ww���ۻ ��RŞ�a!��vk���ȶ�?a[�v(�w�&��� ���)�!�v2���^0/�uۭ�ST@�C(Xx��T��η2mo����c/��(⋣"����k�6 �UK�'�&f|��>�|'��GIJ��v`T�h����<�hK���c���٦ ���g��/Ģ�<�׎B��|AlB��h=�{ѕ��&�DY�\��AR�3�S�FRQ�H�b�(к ���n�E\��-l�aZq�qB��$�c���%��'^�v�tej����� �BP([/? Z�d)��,#��������{G���9�gb��0^P���v�9<���=�+ ����k܋�W�_�x$�~���2Ql��j���)rX��LXBђ���K� �AY�2�Tϱ?1���&�'�!�>�y�L��*W�_lwib @N]MRI]��L\�Μm?X�ӷ��3�4�12�~�rX ޟ���@�� ��b@��c�kb'�0�H�땼�dz��\�''���v�{�ŅL˨OR�� F�]�:|�<5Vɇ���€$�z�!e� � -e��"S.z�����/��Q'yP��i&%�7��>����#5%�<��gTJ�!"�����G�) �}B2��e +�> B�F�jJ�R9��A�IG�4��C������$�.��� ���ȭ� kAo�q6}ˉPq��+�����Y��rPB>x�\��w���i��{ҫ����d|� �3�*-���(w_)�ޫ'D9�L��g��KI{gE������F����]~��>gufY�:�}yvqzrvݻ8�4�[�L����������_�oxxB���0]���:�2ȕ�Yw�A�f’ة[N���R��� ��A�k�iV��g5���5�ڃ�� l�����O9\䔃��9� -��^X�ޠn�˕�x���(�ה�Oe�XVrz倖���JK��פ2�� s�Ab � %��5*���`�y�A� y��$�.2�RyA ��:���0*K��ji,�UK F ��gݚ�n::بV��p���mC�5\@h��ԭ���bC\�d�� E ��N+�˛�����fu�b; Yi�r� V�;�be(��0ِ/G8��Vc���� ��B��h�}�U�R ��d+��C1����S�0?UsRXf=�L�f��F�rB�ۺ���f�����ߓ� �No��߫�{�*�no���/�#�bx���K�5>�҄ؿ^��l,��n��@ ��!;�`�g��9��Qt���vm:� ��ط�+/�^�yy�J39�������v��sy�v��?En z�UN*(e� =�5b��g�s��ޜ���.h俘fi!� BWa%�/O/o�rIm[�4��RIA�i����N`' j��d3���j�23@j���I�0�[��L�7ȟ}Tx�G3: ��h�=��J��w���;MKX�:Z �������"�tz�״@b6��͋�_��d�=�A�f��Z?֝ �z8.4��V�����s[:�TI=��it(op+$�,��R`��3�L8�?�zi���E��Ц�s�@/��6u?�����AG�27�� �8B�Ey#���O��gjY%,��SSHK�Cx�񎭬�|y��|��㣱[}W�N<;vF sb�3�N������C��^|�ݤ7X�ӣ����o��:��h�`�zu=8����Є>v� ���c�ϝ�_f����8y1h_^�\|�K�˶o1���˛��� ?��|�[{�X����7P���i�{���~+;������ ȀJ��nx�;j6/o>w�(�_��97��}�w�<{�� ϜpJ��`���~RJQ4�U�3(ұ���.�9��9P�1�(�1Mх�VD2�� �u�������ݬc$O��1ʹ�U�W��� Y� ԭʳT|����(�Cf �GF�rmhru�Y��-3Nz$f`1���D-R�*N� Q��F$�-�we�<�m|8DB2��!�A�!��B[#�[��?Mz �xs��lO#v @�u����:�p!?��dr(EA�̯�H�ɵ�>�FMA��<M��q�DCK<��j ��� 掆@/�g�e���x?�Gm凪jU�H�����P�� *+�ӑ��&'X,�D����-2�.��,���5��?� m��+d V�D���C�S���P��.\ǃ+$��ǟ� �?539޴����h�[�]� 7r���⩨�� �h�z���rFm���-���F��8��k�1�r�C-dVc�z��/3�4�e�R�TaȮ��J�"�� yZN�1l����m�#&q��7�V�� j;�Y2i�*�6��[9X�Y9�+�iR���C�"&M�}�Hs5�)�ac�U���Р\��iW�YZmb� 3�7�� )C�FY[�0��}�)����ю�h�Ӏ�i��q��ݓTL�N�9�<*��|�c�)?�P� ���'Q(�9�Շ^z�F��7gWQ�&�q�� ���t�m)�2�9d���TB #Qֵ�m"�0��g��2�[ &������k 4a7��uAm)�~ ��y�L#l��ϢhG�F_���9@Ʈ��SU �-_��Ō}oZZ �=M#���R���G{<9����7�ǭnnlW�g�ll8�{�������֮� o�`$� ���� a(p1t}����8yC�u�~Z��/�9�Xn8 -"�� )������]��˫�+v��|ӑ�h�@�SaV'�!��1�O�۝3^��kN�{"�,��� ��r��ќ3�X�̹���θa�x�����b��o��c��S�i(R�i��a $ږ�6�R� @�+<�Lc�PL��4 �tAo�I D���������h�s�nĽ�).5��ڽ|猠A�2=e��i��w{�P��O�? w V�;�Ҥ�L��n�͌<5�V��)��p$ѣT�6w�&��e����9��Ǿ�� �d�b�s� s�˛!\�]_�n�!F7�f�JM��`5�V���^2A ?G�6��d�I6��B�6�� ާ3�[�� ��8��r���hr*D��O�d��UD"B�琈�5I����mi� 䮘#G�)'E�T�mb,c:�>C?�8)��Gv�#wf�z�:z��[��L��*�iY���#&�{S��� �9t웰 ��I������l�)���OZ��L� ����I��7�E̐��k�l" ]V��<&��O����=ԮLm ��V�W��k�ю�sј�Y�$zm������uц��`9S88hN��q��A:M ���h�@^�D�K�^��?�����F���O"s��S]��7�-tw�O`\�8vL��}h=o�r��D!{4E�q�#q��7:_���Ԩe@-��"���'���G�Q� � (|�� B�28���G!���D*Q\���q,�2 *��pI�z�W���Ž� Iݾ��� |Dqc�v XN����\��\��;v!��^<}l�"�F��Z�}�}�q���ܛ^�'�R�\ *�u�w�?�^�ϭ �u��]�;�׃�/���f�"}� [�����N[xDz�\Ё�a�]�����C��I�Q��Oy�*K�!ϊH��~�2�c����x#ɪ�v��� �.�H��a��}��Z+re�;�s��]Yr��P?%gWFF ϸ 7�;�|��1�H}e���ms��)� �t��+C�G���"�%�P�޺�����P�ՐI_)"x@$���% ���c��@f XSO�t�b~��D(���Ӌ.�ߍ2L�q�Ě!y]���ّ[��9�`z"��gE�/��\o�+��>��N ��%R Փb$�������9Q��&�<�B�;�Z������� �:4�&���@��>}��P��D�s?uF=4�Fҏ��ʓ����6Lހ� �96�-���R�E���>{�R��D_��HJ�x8��j�a1 ��(XSW�h�C8�#�v��`�2)'�tc>�~�>���!�V 7���b �5,(����f� y� ��>�ƨzB�ܫ,��Mx��Iv#Rz�$BSm��ݱ:�J&��#�E�'3k� ��/"��?M-z��|q��R��^���<0eP�{7Z��3t�/��ф@g��˅�44��Bmt�Z5g�I�����%zH�{%)%Y�V�'�V��� ��)JoN4��RD��4<͢?�/+��x|�T�q���ӯoշ6?nn#,��UI�?q�y��2�Ui0�` t<;�MPAƆ�xv�Dl0 �͗�Β��ݕR�g �͕dq�AIM�7�j&�J{Q�%��e��Y\����=2�a��'��Y���^ ��ۮ��;s=_���!�@4 "`v�/�O������1��t�ȉ������\�3:�a%��A���i���Bg�9��� `GzA&3�����sF��؁�5�q�� �0��Q�+��^�ǀ��?��>��}�r�Ugr�HI�$����1����n�N� �t!���,��}��z�V��V���~�=C:�2]=���Y�_ZtA�i��0���/���rRH�̇�i�:7ǝ����3�P�=�%���Y����=?tX����G�qO� ~-"��l h}�E��]�˰)�9�{�dO�1H�_ V�W�O??ɶsV��G����q� �ul(VBd"L�Z 2��(��S�}�~: V��
So i cant use the 2.2 version with vBulletin, no?!
Reply With Quote
  #265  
Old 02-13-2008, 06:04 AM
pHluid13's Avatar
pHluid13 pHluid13 is offline
 
Join Date: Feb 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Alright, new to vbulletin and this is the first site that I've used it with. I decided to go the way of using gallery2 with my vB install and got this entire integration to work properly.

My setup is as follows in case you need to know:
hswaves2008/forum/(forum files)
hswaves2008/forum/gallery2.php
hswaves2008/forum/index.php (the default file with vbulletin)
hswaves2008/gallery/(gallery files)
hswaves2008/index.php (the vbadvanced CMPS file)

My gallery2.php code:
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('/kunden/homepages/16/d95423082/htdocs/hswaves2008/forum/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(
'/kunden/homepages/16/d95423082/htdocs/hswaves2008/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' => '../gallery2.php',
'g2Uri' => '/gallery/',
'loginRedirect' => '../index.php',
'activeUserId' => $uid));
if (
$ret)
{
if (
$ret->getErrorCode() & ERROR_MISSING_OBJECT)
{
// Check if there's no G2 user mapped to the activeUserId
$ret GalleryEmbed::isExternalIdMapped($uid'GalleryUser');
if (
$ret && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
{
// User not mapped, create G2 user now
// Get Arguments for the new user:
$args['fullname'] = $vbulletin->userinfo['username'];
$args['username'] = $vbulletin->userinfo['username'];
$args['hashedpassword'] = $vbulletin->userinfo['password'];
$args['hashmethod'] = 'md5';
$args['email'] = $vbulletin->userinfo['email'];
$args['language'] = $vbulletin->userinfo['lang_code'];
$args['creationtimestamp'] = $vbulletin->userinfo['joindate'];

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

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

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

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

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

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

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

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

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

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

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

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

?>
I am, however, receiving some link errors it seems. I don't have the gallery2.php file posted on the site, but you can definitely go directly to it here: http://www.hswaves.com/forum/gallery2.php

Now, the problem that I am having is this.
1) Click on the image that I uploaded t the gallery. (its the only one there)
2) If you scroll down to where it says "Photo Properties", just under that is an option to click on DETAILS. If you click this link to see more details on the image, the link is broken.

Is there something that I need to do to get these links working properly. I have read this thread through several times and finally got the gallery2.php file working and searched through a couple more times for this issue and to no avail, I have found nothing that addresses this issue. Or maybe I don't know what solution I should be looking for. Any help here would be greatly appreciated.

BTW... I have to say that vBulletin far surpasses any other forum/CMS that I have ever used in the past. I love it and it has been user friendly since day one. Now, tojust get this integration to work properly. Thank You.
Reply With Quote
  #266  
Old 02-16-2008, 08:52 PM
Drew Manzella Drew Manzella is offline
 
Join Date: Jan 2008
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quick question - does the G2 database need to be in the same database as vB?

I will be starting from scratch on this. I have an existing vB 3.6.8 installation. No Gallery2 at all currently.

I am not currently convinced I need to embed. In fact I am leaning away from it for the simple fact that my forums are a fixed width right now. Letting the galleries break out will up the available width by about 250px. I do however need to unify logins for users. I'd also like to have links to user's galleries in their profiles.

As for Gallery2 version, it sounds like 2.1 will be a bit less painful to get up and running with vB 3.6.8. Is this assumption correct?
Reply With Quote
  #267  
Old 02-17-2008, 12:23 AM
pHluid13's Avatar
pHluid13 pHluid13 is offline
 
Join Date: Feb 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It has been a few days since I have seen a response. I have tried emailing and PMing a few of the users that responded and seemed proficient in correcting issues with this integration. I have it working and just need one little tweak to get some links working but it doesnt seem like this is supported anymore. No one checks this thread and the last few posts have seen no responses. The last support response was a month or two ago. Anyone out there that can help? Please?

BTW, I have Gallery 2.2 and IB 3.6.8 and it works just fine. The only issue that I am having is the one listed above. I am sure it can be corrected because I have seen a site in action with these two versions. Just waiting for a response from one of the users here. Hope they can help.
Reply With Quote
  #268  
Old 02-17-2008, 02:29 AM
Drew Manzella Drew Manzella is offline
 
Join Date: Jan 2008
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I sort of gathered that.

Maybe you can answer my question about the db since yours is up and running. Did you install G2 to your vB database or are they separate? Does it matter either way?

I looked at your site earlier and the details link wasn't pointing to your forum folder - it was formed as if the folder was in the doc root.

I just looked again now and the details link worked for me.
Reply With Quote
  #269  
Old 02-17-2008, 03:22 PM
pHluid13's Avatar
pHluid13 pHluid13 is offline
 
Join Date: Feb 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I figured it out last night and it is working for me now. I had one thing set wrong in my gallery2.php file. Looking through this thread over and overhelped me a lot even after I had already looked and looked through it man times a day until I had it right. Here is how you set it up.

install vbulletin to:
domain.com/forum/
install gallery to:
domain.com/gallery/

open up a text editor and insert this code:

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('/kunden/homepages/16/d95423082/htdocs/hswaves2008/forum/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(
'/kunden/homepages/16/d95423082/htdocs/hswaves2008/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' => 'gallery2.php',
'g2Uri' => '/gallery/',
'loginRedirect' => 'index.php',
'activeUserId' => $uid));
if (
$ret)
{
if (
$ret->getErrorCode() & ERROR_MISSING_OBJECT)
{
// Check if there's no G2 user mapped to the activeUserId
$ret GalleryEmbed::isExternalIdMapped($uid'GalleryUser');
if (
$ret && ($ret->getErrorCode() & ERROR_MISSING_OBJECT))
{
// User not mapped, create G2 user now
// Get Arguments for the new user:
$args['fullname'] = $vbulletin->userinfo['username'];
$args['username'] = $vbulletin->userinfo['username'];
$args['hashedpassword'] = $vbulletin->userinfo['password'];
$args['hashmethod'] = 'md5';
$args['email'] = $vbulletin->userinfo['email'];
$args['language'] = $vbulletin->userinfo['lang_code'];
$args['creationtimestamp'] = $vbulletin->userinfo['joindate'];

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

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

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

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

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

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

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

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

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

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

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

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

?>
This is my code, so you can feel free to copy it and save it as gallery2.php. There are two absolute paths that need to be altered toward the top. If you do a search for hswaves2008, you will find those paths. Put your absolute paths in there. One is for global.php and the other for embed.php. The other part of the code is already set for this type of setup so no need to edit the last part like the initial post of this thread tells you, I have already done it for you.

Save this file and upload to:
domain.com/forum/gallery2.php

Create the new template like Step 4 of the initial post instructs you to do.

That is all. Now you can use the gallery2.php file as the link to your gallery. You will need to edit the css file in gallery to match the colors of your vbulletin or vice-versa.

What this code does is integrate the gallery and the forums when anyone visits that file. When they register for your vbulletin forum, it WILL NOT create a gallery user yet. The user must first visit the gallery2.php file in order for a user account to be created in gallery. As I understand, there are two different db's. One for vbulletin and one for gallery. The password for the gallery will not be the same as the vbulletin forum for the user due to the fact that vbulletin wants to add SALT(password) to the password. When a user visits the gallery2.php file for the second time it will look to see if the user is registered in vbulletin and if so, will look in the gallery db for a user account that matches,and if so then all will be gravy. If you have any further questions, let me know. Im not good at this stuff but if you follow my instructions, it will work now that I have it all figured out.

It just sucks that someone like me has to be support for this for the fact that Im not really good at this stuff and am new to all this coding. Im a first timer to vbulletin, even if I have installed quite a few things in the past. I really would like to know what I am talking about when I help someone. What kind of code do I need to know to tweak this stuff. PHP? If I got a book on PHP, would that help me?
Reply With Quote
  #270  
Old 02-17-2008, 03:37 PM
Drew Manzella Drew Manzella is offline
 
Join Date: Jan 2008
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks man! That is all easy stuff.

I am still unsure about my original DB question though and haven't seen an answer. I ASSume it doesn't matter where the vB database is in relation to the Gallery2 database because it is looking at that globals.php file which best I can tell pulls the user info from the vB database regardless of where it is - it knows where to look.

My question stems from Joomla and the fact that all of the vB integration features for it require the vB database to be installed within the Joomla database and I like to keep things separate.

Chances are, if you did not specifically create a new database for your Gallery2 install, then it dumped it into the vB database.

I think what I will do is just try it with Gallery2 in it's own database. If it doesn't work I am out about 20 minutes of time and it is easy to clean up. I'd rather start there and integrate them later if I need to than integrate them and then have to go back later and correct it.

--------------- Added 17 Feb 2008 at 14:48 ---------------

Ok all I am getting is the white screen. Install paths are as follows:

/chroot/home/mazdaoca/mazdaoca.org/html/community/global.php
/chroot/home/mazdaoca/mazdaoca.org/html/community/gallery/embed.php

Installed in the following:

vB: webroot/community/
G2: webroot/community/gallery/

URL I am using is:

http://www.mazdaoca.org/community/gallery.php

The direct G2 link works fine:

http://www.mazdaoca.org/community/gallery/main.php

VB template "gallery2" has been created and the "head" section contains the code posted in Step 4 of the instructions.

gallery.php is as follows:

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('/chroot/home/mazdaoca/mazdaoca.org/html/community/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('/chroot/home/mazdaoca/mazdaoca.org/html/community/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. 
$ret = GalleryEmbed::init(array('embedUri' => 'gallery.php',
'g2Uri' => 'http://www.mazdaoca.org/community/gallery/',
'loginRedirect' => 'index.php', 
'activeUserId' => $uid));
if ($ret) 
{ 
if ($ret->getErrorCode() & ERROR_MISSING_OBJECT) 
{ 
// Check if there's no G2 user mapped to the activeUserId
$ret = GalleryEmbed::isExternalIdMapped($uid, 'GalleryUser'); 
if ($ret && ($ret->getErrorCode() & ERROR_MISSING_OBJECT)) 
{ 
// User not mapped, create G2 user now 
// Get Arguments for the new user: 
$args['fullname'] = $vbulletin->userinfo['username']; 
$args['username'] = $vbulletin->userinfo['username']; 
$args['hashedpassword'] = $vbulletin->userinfo['password']; 
$args['hashmethod'] = 'md5'; 
$args['email'] = $vbulletin->userinfo['email']; 
$args['language'] = $vbulletin->userinfo['lang_code']; 
$args['creationtimestamp'] = $vbulletin->userinfo['joindate']; 
$retcreate = GalleryEmbed :: createUser($uid, $args); 
if ($retcreate) 
{ 
echo '<HR>line: '.__LINE__.', Failed to create G2 user with extId ['.$uid.']. Here is the error message from G2: <br />'.$retcreate->getAsHtml(); 
return false; 
} 
$ret = GalleryEmbed::checkActiveUser($uid); 
if ($ret) { 
print $ret->getAsHtml(); 
return false; 
} 
} 
else 
{ 
echo '<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml(); 
return false; 
} 
} 
else 
{ 
echo '<HR>line: '.__LINE__.', G2 did not return a success status. Here is the error message from G2: <br />'.$ret->getAsHtml(); 
return false; 
} 
} 
// user interface: disable sidebar in G2 and get it as separate HTML to put it into a block 
// GalleryCapabilities::set('showSidebar', false); 
// handle the G2 request 
$g2moddata = GalleryEmbed::handleRequest(); 
// show error message if isDone is not defined 
if (!isset($g2moddata['isDone'])) { 
$data['bodyHtml'] = 'isDone is not defined, something very bad must have happened.'; 
return $data; 
} 
// die if it was a binary data (image) request 
if ($g2moddata['isDone']) { 
exit; /* uploads module does this too */ 
} 
// put the body html from G2 into the xaraya template 
$data['bodyHtml'] = isset($g2moddata['bodyHtml']) ? $g2moddata['bodyHtml'] : ''; 
// get the page title, javascript and css links from the <head> html from G2 
$title = ''; $javascript = array(); $css = array(); 
if (isset($g2moddata['headHtml'])) { 
list($data['title'], $css, $javascript) = GalleryEmbed::parseHead($g2moddata['headHtml']); 
$data['headHtml'] = $g2moddata['headHtml']; 
} 
/* Add G2 javascript */ 
if (!empty($javascript)) { 
foreach ($javascript as $script) { 
$data['javascript'] .= "\n".$script; 
} 
} 
/* Add G2 css */ 
if (!empty($css)) { 
foreach ($css as $style) { 
$data['css'] .= "\n".$style; 
} 
} 
// sidebar block 
if (isset($g2moddata['sidebarHtml']) && !empty($g2moddata['sidebarHtml'])) { 
$data['sidebarHtml'] = $g2moddata['sidebarHtml']; 
} 
return $data; 
} 
// ####################################################################### 
// ####################### End G2 integration code ####################### 
// ####################################################################### 
eval('print_output("' . fetch_template('gallery2') . '");'); 
?>
When I go to the URL all I get is:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
Reply With Quote
  #271  
Old 02-17-2008, 07:03 PM
pHluid13's Avatar
pHluid13 pHluid13 is offline
 
Join Date: Feb 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The infamous white page is due to the fact that your php file is not configured properly. You installed your gallery within the forum directory. It has been specified that you need to install the gallery in the root directory of your domain. The first post f this thread is confusing. They state that you need to put the gallery in the root of your vbulletin and then go to say later that the root of your vbulletin is up a directory from the forum folder. If you wish to keep the setup you have now then I believe you need to add something here.

PHP Code:
$ret GalleryEmbed::init(array('embedUri' => 'gallery.php',
'g2Uri' => 'http://www.mazdaoca.org/community/gallery/',
'loginRedirect' => 'index.php'
Your absolute paths are set up correctly, so you need to play with these figures here to get the corect value. I believe your embeduri is incorrect. But I can't say for sure. try putting the embeduri as ../gallery.php. I can't guarantee this will work this way. My suggestion to you would be to go back and install the gallery outside of the community folder. Look at my last post and follow it verbatim. I can guarantee that the way I have it set up will work because I have it set up that way. Or I can at least vouch. At any rate, the white page means that the code that I just quoted above has incorrect values. If you want to play with it then play with those figures.

As for your other question, sorry I didn't understand what you were asking the first time, but yeah, I have two db's one for the vbulletin and one for gallery. They are linked through the gallery2.php file.
Reply With Quote
Reply

Thread Tools

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 08:02 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.05741 seconds
  • Memory Usage 2,561KB
  • 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
  • (2)bbcode_code
  • (1)bbcode_html
  • (7)bbcode_php
  • (1)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