Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 08-14-2008, 05:20 AM
youradhere4222 youradhere4222 is offline
 
Join Date: Sep 2007
Location: Houston, TX
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Taking a x.php file and embedding it within index.php

I'm trying to find a way to embed the vBISpy modification into my home page. Currently it's on a separate page (vaispy.php), and I want it to somehow replace the forum listings.

Maybe I'm naive, but it doesn't seem like it'd be too hard; just cut, paste, and edit vaispy.php into index.php, but I'm not too sure which lines to place where.

Here's the code to the vaispy.php file:

PHP Code:
<?php
//################################################################################//
//         MOD NAME: VBISpy                                                      #//
//################################################################################//
//      DESCRIPTION: This modification for vBulletin adds a "live" scrolling     #//
//                   update of new posts to the forum                            #//
//################################################################################//
//               BY: MPDev                                                       #//
//             DATE: 9.26.06                                                     #//
//          VERSION: 1.0.12                                                      #//
//################################################################################//

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

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT''vaispy');

// ################### 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();

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

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

// #########################   CONFIG VARS    ############################
// The number of days to scan the table for .. (86400 represents the number of seconds in 24 hours)
$daysprune 1;

// Do not list these forums even if they have permissions (test categories, etc)
$blockforums "";

// #########################   CONFIG VARS    ############################

$forumperms = array();
$lastpostid = (int)$_REQUEST['last'];
$subscribe = (int)$_REQUEST['subscribe'];

foreach(
$vbulletin->forumcache AS $forum) {
    
$forumid $forum['forumid'];
    
$forumperms =& $vbulletin->userinfo['forumpermissions']["$forumid"];

    if (!isset(
$vbulletin->forumcache["$forumid"]) OR !($forumperms $vbulletin->bf_ugp_forumpermissions['canview']) OR !($forumperms $vbulletin->bf_ugp_forumpermissions['canviewothers']) OR !verify_forum_password($forumid$vbulletin->forumcache["$forumid"]['password'], false))
    {
        
$blockforums .= ','.$forum['forumid'];
    }
}
unset(
$forum);

$datecut "AND thread.lastpost >= " . (TIMENOW - ($daysprune 86400));
$prefetched null;

############################################################################
// Get Threads I've Posted In
require_once(DIR '/includes/functions_forumdisplay.php');
$result $db->query_read("
    SELECT threadid
    FROM " 
TABLE_PREFIX "thread as thread
    WHERE thread.forumid NOT IN (0
$blockforums) and
        thread.visible = 1 and
        thread.open <> 10 and
        thread.lastpostid > 
$lastpostid
        
$datecut
"
);

$idsArray = array();
while (
$id $db->fetch_array($result))
{
    
$idsArray[] = $id['threadid'];
}

$dotthreads fetch_dot_threads_array(implode(','$idsArray));
############################################################################
// Get Threads

// Do not set to more than 20 unless you know how to modify the html at the bottom of the page (and at line 291)
$limitq = ( isset($_REQUEST['do']) ? "20" "5,20" );

if ( 
$subscribe == )
{
$getthreads $db->query_read("
      SELECT subscribethread.subscribethreadid,
             thread.forumid,
             thread.firstpostid,
             thread.lastpost,
             thread.lastposter,
             thread.lastpostid,
             thread.replycount,
             thread.threadid,
             thread.title,
             thread.open,
             thread.views,
             post.pagetext AS preview,
             post.userid AS lastpuserid
        FROM " 
TABLE_PREFIX "subscribethread AS subscribethread
             INNER JOIN " 
TABLE_PREFIX "thread AS thread ON (subscribethread.threadid = thread.threadid)
             LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON (thread.threadid = deletionlog.primaryid AND type = 'thread')
             LEFT JOIN " 
TABLE_PREFIX "post AS post ON (post.postid = thread.lastpostid)
        WHERE subscribethread.userid = " 
$vbulletin->userinfo['userid'] . "
            AND thread.forumid NOT IN (0
$blockforums)
            AND thread.visible = 1
            AND subscribethread.canview = 1
            AND thread.lastpostid > 
$lastpostid
            AND deletionlog.primaryid IS NULL
            
$datecut
       ORDER BY thread.lastpost DESC LIMIT 
$limitq
"
);
}
else
{
$getthreads $db->query_read("
      SELECT thread.forumid,
             thread.firstpostid,
             thread.lastpost,
             thread.lastposter,
             thread.lastpostid,
             thread.replycount,
             thread.threadid,
             thread.title,
             thread.open,
             thread.views,
             post.pagetext AS preview,
             post.userid AS lastpuserid
        FROM " 
TABLE_PREFIX "thread AS thread
             LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON (thread.threadid = deletionlog.primaryid AND type = 'thread')
             LEFT JOIN " 
TABLE_PREFIX "post AS post ON (post.postid = thread.lastpostid)
       WHERE open <> 10
         
$datecut
         AND thread.forumid NOT IN (0
$blockforums)
         AND thread.visible = '1'
         AND thread.lastpostid > 
$lastpostid
         AND post.visible = 1
         AND deletionlog.primaryid IS NULL
       ORDER BY thread.lastpost DESC LIMIT 
$limitq
"
);
}

$row $highestid 1;
$rowcolor "alt2";

while(
$thread $db->fetch_array($getthreads)) {
    
$color $color == 'alt1' 'alt2' 'alt1';

    
$thread['title'] = htmlspecialchars_uni(fetch_censored_text(fetch_trimmed_title(unhtmlspecialchars($thread['title']), 85)));
    
$thread['date'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
    
$thread['time'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);

    
// Get rid of html and bbcode first
    
$thread['preview'] = strip_tags(strip_bbcode($thread['preview'], truetrue));
    
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title($thread['preview'], 200));
    
$thread['preview'] = fetch_censored_text(fetch_word_wrapped_string($thread['preview'], 20));

    
$thread['replycount'] = vb_number_format($thread['replycount']);
    
$thread['views'] = vb_number_format($thread['views']);

    
$tforumid $thread['forumid'];
    
$thread['forum'] = htmlspecialchars_uni($vbulletin->forumcache["$tforumid"]['title']);

    if ( 
$thread['lastpostid'] == $thread['firstpostid'] )
    {
        
$etype "New Thread";
    }
    else
    {
        
$etype "New Post";
    }

    
// Statusicon
    // show dot folder?
    
if ($vbulletin->userinfo['userid'] AND $vbulletin->options['showdots'] AND $dotthreads["$thread[threadid]"])
    {
        
$thread['statusicon'] .= '_dot';
        
$thread['dot_count'] = $dotthreads["$thread[threadid]"]['count'];
        
$thread['dot_lastpost'] = $dotthreads["$thread[threadid]"]['lastpost'];
    }

    
// show hot folder?
    
if ($vbulletin->options['usehotthreads'] AND (($thread['replycount'] >= $vbulletin->options['hotnumberposts'] AND $vbulletin->options['hotnumberposts'] > 0) OR ($thread['views'] >= $vbulletin->options['hotnumberviews'] AND $vbulletin->options['hotnumberviews'] > 0)))
    {
        
$thread['statusicon'] .= '_hot';
    }

    
// show locked folder?
    
if (!$thread['open'])
    {
        
$thread['statusicon'] .= '_lock';
    }

    
$thread['statusicon'] = $stylevar['imgdir_statusicon'] . '/thread' $thread['statusicon'] . '.gif';

    if ( 
$_REQUEST['do'] == "xml" )
    {
$output .= <<<VAPRINT
<event>
<id>
{$thread['lastpostid']}</id>
<what>
$etype</what>
<when>
{$thread['date']} {$thread['time']}</when>
<title>
{$thread['title']}</title>
<preview>
{$thread['preview']}</preview>
<poster>
{$thread['lastposter']}</poster>
<threadid>
{$thread['threadid']}</threadid>
<postid>
{$thread['lastpostid']}</postid>
<lastpost>
{$thread['lastpost']}</lastpost>
<userid>
{$thread['lastpuserid']}</userid>
<forumid>
{$thread['forumid']}</forumid>
<forumname>
{$thread['forum']}</forumname>
<views>
{$thread['views']}</views>
<replies>
{$thread['replycount']}</replies>
<statusicon>
{$thread['statusicon']}</statusicon>
</event>
VAPRINT;
    }
    else
    {
        
$rowcolor = ( $rowcolor == "alt1" "alt2" "alt1" );

        
$where $clip $poster_clip $poster null;

        if ( 
stristr($etype"thread") )
        {
            
$post_url "showthread.php?t={$thread['threadid']}";
        }
        else
        {
            
$post_url "showthread.php?p={$thread['lastpostid']}#post{$thread['lastpostid']}";
        }

        if( !
$thread['title'] )
        {
            
$clip "<strong>Unknown</strong>";
        }
        else
        {
            
$clip "<strong><img src=\"{$thread['statusicon']}\" alt=\"\" /><a target=\"_blank\" href=\"{$post_url}\">{$thread['title']}</a></strong>";
        }

        if ( 
$thread['preview'] )
        {
            
$clip .= "<br />{$thread['preview']}";
        }

        
$clip .= " ({$thread['views']} views, {$thread['replycount']} replies)";

        if ( 
$thread['lastpuserid'] )
        {
            
$poster_clip "<a target=\"_blank\" href=\"member.php?u={$thread['lastpuserid']}\">{$thread['lastposter']}</a>";
        }

        
$poster_clip .= "<br />{$thread['date']} {$thread['time']}";

        if ( 
$thread['forum'] )
        {
            
$where .= "<strong><a target=\"_blank\" href=\"forumdisplay.php?f={$thread['forumid']}\">{$thread['forum']}</a></strong>";
        }
        else
        {
            
$where "";
        }

        if (
is_browser('opera'))
        {
$prefetched .= <<<VAPRINT
<div id="row{$row}"><table cellpadding="3" cellspacing="0" border="0" width="100%"><tr><td width="20" class="$rowcolor smallfont" nowrap="nowrap" align="center">$etype</td><td class="$rowcolor smallfont" width="225" nowrap="nowrap" align="left">$poster_clip</td><td class="$rowcolor smallfont" width="80%">$clip</td><td class="$rowcolor smallfont" width="200" nowrap="nowrap" align="center">$where</td></tr></table></div>\n
VAPRINT;
        }
        else
        {
$prefetched .= <<<VAPRINT
<tr id="row{$row}"><td class="$rowcolor smallfont" align="center"><div class="smallfont">$etype</div></td><td class="$rowcolor smallfont"><div class="smallfont">$poster_clip</div></td><td class="$rowcolor smallfont"><div class="smallfont">$clip</div></td><td class="$rowcolor smallfont" align="center"><div class="smallfont">$where</div></td></tr>\n
VAPRINT;
        }

        
$row++;
        if ( 
$thread['lastpostid'] > $highestid )
        {
            
$highestid $thread['lastpostid'];
        }
    }
}

if ( 
$row 20 )
{
    for( 
$x $row$x 21$x++ )
    {
        if (
is_browser('opera'))
        {
$prefetched .= <<<VAPRINT
<div id="row{$x}"></div>\n
VAPRINT;
        }
        else
        {
$prefetched .= <<<VAPRINT
<tr id="row{$x}"><td class="$rowcolor smallfont" align="center">&nbsp;</td><td class="$rowcolor smallfont">&nbsp;</td><td class="$rowcolor smallfont">&nbsp;</td><td class="$rowcolor smallfont" align="center">&nbsp;</td></tr>\n
VAPRINT;
        }
    }
}

// memory saving
unset($thread);
$db->free_result($getthreads);

if ( 
$_REQUEST['do'] == "xml" )
{
    
header'Content-Type: text/xml' . ($stylevar['charset'] != '' '; charset=' .  $stylevar['charset'] : '') );
    echo 
'<?xml version="1.0" encoding="' $stylevar['charset'] . '"?>' "\r\n";

    if ( 
$output )
    {
        echo 
"<events>$output</events>";
    }
    else
    {
        echo 
"<events />";
    }

    exit;
}

$navbits = array();
$navbits[$parent] = 'iSpy';
$navbits construct_navbits($navbits);

eval(
'$navbar = "' fetch_template('navbar') . '";');
$navbar process_replacement_vars($navbar);

eval(
'$headinclude = "' fetch_template('headinclude') . '";');
$headinclude process_replacement_vars($headinclude);

eval(
'$footer = "' fetch_template('footer') . '";');
$footer process_replacement_vars($footer);

echo<<<VAPRINT
$stylevar[htmldoctype]
<html dir="
$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<style type="text/css">
.spyfade1 div, .spyfade1 span,, .spyfade1 td, .spyfade1 img {
opacity:0.90;
filter:alpha(opacity=90);
-moz-opacity:0.90;
}
.spyfade2 div, .spyfade2 span, .spyfade2 td, .spyfade2 img {
opacity:0.80;
filter:alpha(opacity=80);
-moz-opacity:0.80;
}
.spyfade3 div, .spyfade3 span, .spyfade3 td, .spyfade3 img {
opacity:0.70;
filter:alpha(opacity=70);
-moz-opacity:0.70;
}
.spyfade4 div, .spyfade4 span, .spyfade4 td, .spyfade4 img {
opacity:0.50;
filter:alpha(opacity=50);
-moz-opacity:0.50;
}
.spyfade5 div, .spyfade5 span, .spyfade5 td, .spyfade5 img {
opacity:0.30;
filter:alpha(opacity=30);
-moz-opacity:0.30;
}
</style>
<script language="javascript" src="clientscript/va_prototype.js"></script>
<script language="javascript" src="clientscript/va_effects.js"></script>
<script language="javascript" src="clientscript/va_spy.js"></script>
<script language="javascript" type="text/javascript">
<!--
    spymax = 25;
    highestid = 
$highestid;

function pauseSpy() {
    var playimg = document.getElementById("vaplay");
    var pauseimg = document.getElementById("vapause");

    playimg.src = "images/misc/play_up.gif";
    playimg.alt = "Click to Play";
    pauseimg.src = "images/misc/pause_down.gif";
    pauseimg.alt = "Paused...";

    pause();
}

function playSpy() {
    var playimg = document.getElementById("vaplay");
    var pauseimg = document.getElementById("vapause");

    playimg.src = "images/misc/play_down.gif";
    playimg.alt = "Playing...";
    pauseimg.src = "images/misc/pause_up.gif";
    pauseimg.alt = "Click to Pause";

    resume();
}

function pause() {
    play = 0;
}

function resume() {
    play = 1;
}
// -->
</script>
<title>iSpy</title>
</head>
<body onload="spyinit();">
$header
$navbar

<table width="90%" align="center"><tr><td width="50%" align="left"><input type="checkbox" id="subscribe" value="1">&nbsp;subscribed threads only</td>
<td width="50%" align="right">
<img id="vaplay" src="images/misc/play_down.gif" style="cursor:pointer;" alt="Play" title="Play Comments" onclick="playSpy();" /> &nbsp;
<img id="vapause" src="images/misc/pause_up.gif" style="cursor:pointer;" alt="Pause" title="Pause Comments" onclick="pauseSpy();" />
</td></tr></table>
<br />
VAPRINT;

if (
is_browser('opera'))
{
$output .= <<<VAPRINT
<table class="tborder" cellpadding="0" cellspacing="0" border="0" width="100%" align="center" id="spy_table">
<tr><td width="20" class="tcat" nowrap="nowrap" style="height:25px;">&nbsp;</td>
<td class="tcat" width="225" nowrap="nowrap" style="height:25px;">By</td>
<td class="tcat" width="80%" style="height:25px;">Thread/Post</td>
<td class="tcat" width="200" nowrap="nowrap" style="height:25px;">Forum
</tr>
<tr><td colspan="4" class="alt1">
$prefetched
<div id="row21" style="display:none;" class="spyfade1"></div>
<div id="row22" style="display:none;" class="spyfade2"></div>
<div id="row23" style="display:none;" class="spyfade3"></div>
<div id="row24" style="display:none;" class="spyfade4"></div>
<div id="row25" style="display:none;" class="spyfade5"></div>
</td></tr>
</table>
VAPRINT;
}
else
{
$output .= <<<VAPRINT
<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center" id="spy_table">
<thead>
<tr align="center"><td class="thead" width="100">Event</td><td class="thead" width="190">By</td><td class="thead">Thread/Post</td><td class="thead" width="190">Forum</td></tr>
</thead>
<tbody class="alt1">
$prefetched
<tr id="row21" style="display: none;" class="spyfade1"><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td></tr>
<tr id="row22" style="display: none;" class="spyfade2"><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td></tr>
<tr id="row23" style="display: none;" class="spyfade3"><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td></tr>
<tr id="row24" style="display: none;" class="spyfade4"><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td></tr>
<tr id="row25" style="display: none;" class="spyfade5"><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td></tr>
</tbody>
</table>
VAPRINT;
}

$output .= <<<VAPRINT
$footer
VAPRINT;

echo 
$output;
?>
Hopefully someone can help - thanks!
Reply With Quote
  #2  
Old 08-14-2008, 05:33 AM
RLShare RLShare is offline
 
Join Date: Jun 2008
Posts: 499
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="http://www.vbulletin.com/docs/html/templates_externalfiles" target="_blank">http://www.vbulletin.com/docs/html/t..._externalfiles</a>
Reply With Quote
  #3  
Old 08-14-2008, 07:17 AM
youradhere4222 youradhere4222 is offline
 
Join Date: Sep 2007
Location: Houston, TX
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the link; is there a guide to creating a plugin?

... hopefully there's a way of doing this without learning PHP...
Reply With Quote
  #4  
Old 08-14-2008, 07:21 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just have a look at the Admin CP, you'll see Plugins & Products .
Reply With Quote
  #5  
Old 08-14-2008, 07:47 AM
youradhere4222 youradhere4222 is offline
 
Join Date: Sep 2007
Location: Houston, TX
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ah - duh!

I have a few questions:

1. It says the hook location should be 'global_start'. Like I said, I'm trying to display a live forum feed on my forum home page. Is this still the best hook to use?

2. The execution order is '5' - is this OK?

3. In the 'Plugin PHP Code' field, I have this:

PHP Code:
  ob_start();
  include(
'vaispy.php');
  
$includedphp ob_get_contents();
  
ob_end_clean(); 
Is that sufficient? Also, the location of the file is in the root folder, so hopefully the location is OK as well.

Thanks for all of the assistance!
Reply With Quote
  #6  
Old 08-14-2008, 07:55 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

1. If you only want to show it on the forum home, it might be better to use a more restrictive hook location (global_start is executed on each page). Probably using a hook like forumhome_complete will cause less overhead.

2. In most cases you can leave this at the defualt of 5. You only need to change this if you have multiple plugins at the same hook location, and it is critical that 1 runs before the other.

3. To avoid problems with the location (directory) of the file, change the following line from:
PHP Code:
include('vaispy.php'); 
to:
PHP Code:
include(DIR '/vaispy.php'); 
Reply With Quote
  #7  
Old 08-14-2008, 08:06 AM
youradhere4222 youradhere4222 is offline
 
Join Date: Sep 2007
Location: Houston, TX
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the help, Marco!

Just so everything is correct, let me clarify what this will be:

I'm intending on my board having only one forum - so I plan on replacing the forum listings completely with a live, AJAX feed of the latest post.

Is this still the best location? Once it's done, surely I can move around the variable.
Reply With Quote
  #8  
Old 08-14-2008, 08:07 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not tested but sounds like the best location.
Reply With Quote
  #9  
Old 08-14-2008, 08:19 AM
youradhere4222 youradhere4222 is offline
 
Join Date: Sep 2007
Location: Houston, TX
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, well I saved the plugin; here's a screenshot of the settings:



The home page (FORUMHOME) is displaying normally except this is showing now:

Reply With Quote
  #10  
Old 08-14-2008, 08:32 AM
SEOvB's Avatar
SEOvB SEOvB is offline
 
Join Date: May 2007
Location: Indianapolis
Posts: 2,451
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

in the vaispy file

Code:
$navbits[$parent] = 'iSpy';
To
Code:
$navbits[$parent] = 'Whatever';
Should change it to what you want, or remove it completely should work

*untested, and i'm a noob so that maybe 100% wrong.
Reply With Quote
Reply

Thread Tools
Display Modes

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:29 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.07842 seconds
  • Memory Usage 2,413KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete