Every single thread has this problem. Maybe its another template issue?
Code:
<?php
/*****************************\
* Name: GRPS: Groups Commune
* Written By: Paul "sabret00the" Walker-Daley
* Concept: 30 October 2003
* Spawned: 26 March 2005
* Copyright Since: 23 April 2004
* Gold: 19 October 2006
* Modified: 07 November 2006
* Contact: sabe@ebslive.com
\*****************************/
// ################ SET SCRIPT LOCATION ENVIRONMENT ######################
require_once('./includes/config_grps.php');
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'groupsdiscussion');
// ################### PRE-CACHE TEMPLATES AND DATA ######################
$globaltemplates = array(
'GROUPS',
'groups_display',
'groups_display_main',
'groups_display_member',
'groups_display_memberbit',
'groups_display_post',
'groups_display_viewthread',
'groups_navbar',
'groups_viewthread_postbit',
'groups_viewthread_quickreply',
'bbcode_code',
'bbcode_html',
'bbcode_php',
'bbcode_quote',
'editor_clientscript',
'editor_jsoptions_font',
'editor_jsoptions_size',
'im_aim',
'im_icq',
'im_msn',
'im_yahoo',
'navbar',
'postbit',
'postbit_deleted',
'postbit_legacy',
'postbit_ip',
'postbit_onlinestatus',
'postbit_reputation',
'postbit_wrapper',
'showthread_quickreply',
);
// get special phrase groups
$phrasegroups = array('grps', 'postbit', 'posting', 'showthread');
// ######################### REQUIRE BACK-END ############################
require_once("./global.php");
require_once(DIR . '/includes/functions_grps.php');
require_once(DIR . '/includes/functions_bigthree.php');
require_once(DIR . '/includes/class_postbit.php');
require_once(DIR . '/includes/class_grps.php');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
($hook = vBulletinHook::fetch_hook('grps_global_start')) ? eval($hook) : false;
$navbits = array();
$navbits[''] = $vbphrase['grps_groups'];
$navbits = construct_navbits($navbits);
// pre-cache templates used by all actions
$globaltemplates = array();
// globalize variables
$vbulletin->input->clean_array_gpc('r', array(
'page' => TYPE_INT,
'perpage' => TYPE_INT,
'pagenumber' => TYPE_INT,
'do' => TYPE_STR,
'view' => TYPE_STR,
'g' => TYPE_INT,
't' => TYPE_INT,
'goto' => TYPE_STR,
));
if (!$vbulletin->GPC['g'])
{ // make sure theirs a groupid
eval(standard_error(fetch_error('invalidid', $vbphrase['grps_group'], $vbulletin->options['contactuslink'])));
}
if (!intval($vbulletin->GPC['g']))
{ // make sure it's a number
eval(standard_error(fetch_error('invalidid', $vbphrase['grps_group'], $vbulletin->options['contactuslink'])));
}
if (!$vbulletin->GPC['t'])
{ // make sure theirs a groupid
eval(standard_error(fetch_error('invalidid', $vbphrase['grps_thread'], $vbulletin->options['contactuslink'])));
}
if (!intval($vbulletin->GPC['t']))
{ // make sure it's a number
eval(standard_error(fetch_error('invalidid', $vbphrase['grps_thread'], $vbulletin->options['contactuslink'])));
}
$threadid = intval($vbulletin->GPC['t']);
$groupid = intval($vbulletin->GPC['g']);
$grps_ids = explode(' ', trim($vbulletin->userinfo['grps']));
$show['grps_wordjoin'] = (in_array($groupid, $grps_ids)) ? TRUE : FALSE;
$show['grps_is_member'] = $show['grps_wordjoin'];
$pagenav = FALSE;
// ##############################################################################
// ####################### HANDLE HEADER() CALLS ################################
// ##############################################################################
// let's define the page number
if ($vbulletin->GPC['goto'])
{
$grps_numberofposts = $db->query_first("
SELECT COUNT(*) AS posttotal
FROM grps_post
WHERE visible != 0 AND groupid = $groupid AND threadid = " . intval($vbulletin->GPC['t']) . "
");
$whatpage = floor($grps_numberofposts['posttotal'] / $vbulletin->options['grpspostsperpage']);
if ($whatpage > 1)
{
$gotopage = "&page=" . $whatpage;
}
else
{
$gotopage = FALSE;
}
}
switch($vbulletin->GPC['goto'])
{
case 'lastpost':
$getlastpost = $db->query_first("
SELECT MAX(postid) AS postid
FROM grps_post AS post
WHERE groupid = " . intval($groupid) . " AND threadid = " . intval($vbulletin->GPC['t']) . "
LIMIT 1
");
if ($getlastpost['postid'])
{
exec_header_redirect('viewthread.php?' . $vbulletin->session->vars['sessionurl'] . "g=" . $groupid . '&t=' . $vbulletin->GPC['t'] . $gotopage . '#post' . $getlastpost['postid']);
}
break;
case 'newpost':
$newpost = $db->query_first("
SELECT MIN(postid) AS postid
FROM grps_post
WHERE groupid = $groupid AND threadid = " . intval($vbulletin->GPC['t']) . " AND dateline > " . $vbulletin->userinfo['lastvisit'] . "
LIMIT 1
");
if ($newpost['postid'])
{
exec_header_redirect('viewthread.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $groupid . '&t=' . $vbulletin->GPC['t'] . $gotopage . '#post' . $newpost['postid']);
}
else
{
exec_header_redirect('viewthread.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $groupid . '&t=' . $vbulletin->GPC['t'] . '&goto=lastpost');
}
break;
case 'mylastreply':
$getmylastreply = $db->query_first("
SELECT MAX(postid) AS postid
FROM grps_post AS post
WHERE groupid = " . intval($groupid) . " AND threadid = " . intval($vbulletin->GPC['t']) . " AND userid = " . intval($vbulletin->userinfo['userid']) . "
LIMIT 1
");
if ($getmylastreply['postid'])
{
exec_header_redirect('viewthread.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $groupid . '&t=' . $vbulletin->GPC['t'] . $gotopage . '#post' . $getmylastreply['postid']);
}
else
{
exec_header_redirect('viewthread.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $groupid . '&t=' . $vbulletin->GPC['t'] . '&goto=lastpost');
}
break;
}
// end switch($goto)
// ###################### extracts info for grps groups page
// ###################### query for group info
$grps_showgroup = $db->query_first("
SELECT grps.groupid, grps.title, grps.description, grps.approved, grps.create_date, grps.leaderid, user.username AS leadername, grps_categories.catid, grps_categories.title AS catname, grps_setting.image_name, grps_setting.private_posts, grps_setting.moderate_members, grps_setting.hidden_group, grps_setting.hide_image, grps_setting.edit_details, grps_setting.leaderonly_threads, grps_grouptext.pagetext AS spew, grps_grouptext.edit_reason, grps_grouptext.edit_dateline, grps_grouptext.edit_username
FROM grps_post
LEFT JOIN grps_setting ON (grps_setting.groupid = grps_post.groupid)
LEFT JOIN grps ON (grps.groupid = grps_setting.groupid)
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = grps.leaderid)
LEFT JOIN grps_grouptext ON (grps_grouptext.groupid = grps.groupid)
LEFT JOIN grps_categories ON (grps_categories.catid = grps.catid)
WHERE grps.groupid = $groupid
GROUP BY grps.groupid
ORDER BY grps.groupid DESC
");
$totalposts = $db->query_first("SELECT COUNT(*) AS totalposts FROM grps_post WHERE groupid = " . intval($groupid) . " AND threadid = " . intval($vbulletin->GPC['t']));
$grps_showgroup = array_merge($grps_showgroup, $totalposts);
$grps_pagetitle = construct_phrase($vbphrase['grps_x_discussion'], $grps_showgroup['title']);
$grps_html_title = construct_phrase($vbphrase['grps_x_discussion'], $grps_showgroup['title']) . ' - ' . $grps_showgroup['catname'] . ' - ';
$grps_showgroup = grps_getgroupsettings($grps_showgroup);
$show['leaderoptions'] = ($grps_showgroup['leaderid'] == $vbulletin->userinfo['userid']) ? TRUE : FALSE;
// ###################### query for newest members
$grps_newestmembers = grps_getmembers($groupid, 0, 5);
$grps_memberbits = grps_getmemberbits($grps_newestmembers, 5);
$grps_members = '';
$page = FALSE;
eval("\$grps_members .= \"".fetch_template("groups_display_member")."\";");
// ###################### no permission if not a member
$privacy_override = (!empty($vbulletin->options['grps_admins_see_private_content']) AND ($vbulletin->userinfo['permissions']['grpspermissions'] & $vbulletin->bf_ugp_grpspermissions['groupsmoderator'])) ? TRUE : FALSE;
if($grps_showgroup['private_posts'] AND !in_array($grps_showgroup['groupid'], $grps_ids) AND !$privacy_override)
{
print_no_permission();
}
// ###################### pagenav
$page = ($page < 1) ? 1 : intval($page);
$totalposts = $grps_showgroup['totalposts'];
$currentlocation = "viewthread.php?" . $vbulletin->session->vars['sessionurl'] . "g=" . $groupid;
$perpage = intval($vbulletin->options['grpspostsperpage']); //lower limit
$pagenumber = $page;
$upperlimit = ($page * $perpage);
$final_calculations = ($upperlimit - $perpage);
// ###################### query for latest posts
$grps_thread = $db->query_first("
SELECT grps_thread.threadid, grps_thread.groupid, grps_thread.userid, grps_thread.username, grps_thread.title, grps_thread.dateline, grps_thread.iconid, grps_thread.lastposterid, user.username AS lastposterusername, grps_thread.lastpostdateline, grps_thread.replies, grps_thread.firstpostid, grps_thread.closed, grps_thread.stuck
FROM grps_thread
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = grps_thread.lastposterid)
WHERE grps_thread.threadid = $threadid
LIMIT 1
");
$grps_pagetitle = stripslashes($grps_thread['title']);
$grps_pageextras = ($grps_thread['stuck']) ? "<div style=\"text-align: center; font-weight: bold;\">" . $vbphrase['grps_pinned_thread'] . " <img class=\"inlineimg\" src=\"" . $stylevar['imgdir_misc'] . "/sticky.gif\" alt=\"" . $vbphrase['sticky_thread'] . "\" /></div>" : FALSE;
// creates the pagenav
$page = ($vbulletin->GPC['page'] < 1) ? "1" : intval($vbulletin->GPC['page']);
$totalposts = $db->query_first("SELECT COUNT(postid) AS total FROM grps_post WHERE threadid = $threadid");
$totalposts = $totalposts['total'];
$currentlocation = "viewthread.php?" . $vbulletin->session->vars['sessionurl'] . "g=" . $groupid . "&t=" . $threadid;
$perpage = 25;
$pagenumber = $page;
$lowerlimit = ($page * $perpage);
$query_lowerlimit = ($lowerlimit - $perpage);
$grps_html_title = stripslashes($grps_thread['title']) . (($vbulletin->GPC['page'] < 1) ? '' : ' (' . $page . ')') . ' - ' . $grps_html_title;
// ###################### query for posts
$posts = $db->query_read("
SELECT grps_post.postid, grps_post.groupid, grps_post.username AS postusername, grps_post.ipaddress AS ip, grps_post.title AS posttitle, grps_post.dateline, grps_post.pagetext, grps_post.iconid, i.title AS icontitle, i.iconpath, grps_post.visible, grps_post.allowsmilie, grps_post.showsignature, grps_post.edit_username, grps_post.edit_userid, grps_post.edit_reason, grps_post.edit_dateline, grps_post.delete_username, grps_post.delete_userid, grps_post.delete_reason, grps.leaderid, u.*, uf.*, utf.*, a.avatarid, a.avatarpath, NOT ISNULL(ca.userid) AS hascustomavatar, ca.dateline AS avatardateline, ca.width AS avwidth, ca.height AS avheight
FROM grps_post
LEFT JOIN grps ON (grps.groupid = grps_post.groupid)
LEFT JOIN " . TABLE_PREFIX . "user u ON (u.userid = grps_post.userid)
LEFT JOIN " . TABLE_PREFIX . "userfield uf ON (uf.userid = u.userid)
LEFT JOIN " . TABLE_PREFIX . "usertextfield utf ON (utf.userid = u.userid)
LEFT JOIN " . TABLE_PREFIX . "icon i ON (i.iconid = grps_post.iconid) > 0
LEFT JOIN " . TABLE_PREFIX . "avatar a ON (a.avatarid = u.avatarid)
LEFT JOIN " . TABLE_PREFIX . "customavatar ca ON (ca.userid = u.userid)
WHERE grps_post.groupid = $groupid and grps_post.threadid = $threadid
ORDER BY grps_post.dateline ASC
LIMIT $query_lowerlimit, $perpage
");
$grps_showgroup['allowposting'] = ($vbulletin->userinfo['userid'] AND in_array($grps_showgroup['groupid'], $grps_ids) AND !$grps_thread['closed']) ? TRUE : FALSE;
$grps_thread['open'] = ($vbulletin->userinfo['userid'] AND in_array($grps_showgroup['groupid'], $grps_ids) AND !$grps_thread['closed']) ? TRUE : FALSE;
$postbits = '';
$show['spacer'] = FALSE;
$show['warning'] = FALSE;
//$vbulletin->options['legacypostbit'] = (empty($vbulletin->options['grps_legacypostbit'])) ? 0 : 1;
$ignore = explode(' ', $vbulletin->userinfo['ignorelist']);
$postbit = '';
$postbit_factory =& new vB_Postbit_Factory();
$postbit_factory->registry =& $vbulletin;
$postbit_factory->forum =& $grps_showgroup;
$postbit_factory->thread =& $grps_thread;
$postbit_factory->cache = array();
$postbit_factory->bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
$cell = 0;
while ($post = $db->fetch_array($posts))
{
if ($tachyuser = in_coventry($post['userid']))
{
$fetchtype = 'post_global_ignore';
}
else if (isset($ignore[$post['userid']]))
{
$fetchtype = 'post_ignore';
}
else if ($post['visible'] == 2)# OR ($thread['visible'] == 2 AND $postcount == 1))
{
$fetchtype = 'post_deleted';
}
else
{
$fetchtype = 'post';
}
$postbit_obj =& $postbit_factory->fetch_postbit($fetchtype);
$postbit .= $postbit_obj->construct_postbit($post);
$cell++;
} //got all that info
// let's rewrite the postbit links and make the images work
$vbulletin->options['grps_viewthreadfind'] = str_replace(
array(
'$stylevar[\'imgdir_button\']',
'$vbulletin->options[\'bburl\']',
'$vbulletin->options[\'homeurl\']',
'{\n\n}'
),
array(
$stylevar['imgdir_button'],
$vbulletin->options['bburl'],
$vbulletin->options['homeurl'],
'' . "\n\n" . ''
),
$vbulletin->options['grps_viewthreadfind']);
$vbulletin->options['grps_viewthreadreplace'] = str_replace(
array(
'$stylevar[\'imgdir_button\']',
'$vbulletin->options[\'bburl\']',
'$vbulletin->options[\'homeurl\']',
'{\n\n}'
),
array(
$stylevar['imgdir_button'],
$vbulletin->options['bburl'],
$vbulletin->options['homeurl'],
'' . "\n\n" . ''
),
$vbulletin->options['grps_viewthreadreplace']);
$viewthread = array(
'find' => explode(', ', $vbulletin->options['grps_viewthreadfind']),
'replace' => explode(', ', $vbulletin->options['grps_viewthreadreplace'])
);
$postbit = str_replace($viewthread['find'], $viewthread['replace'], $postbit);
// *********************************************************************************
$show['quickreply'] = ($vbulletin->userinfo['userid'] AND in_array($grps_showgroup['groupid'], $grps_ids) AND !$grps_thread['closed'] AND $vbulletin->options['quickreply']) ? TRUE : FALSE;
// *********************************************************************************
// build quick reply if appropriate
if ($show['quickreply'])
{
require_once(DIR . '/includes/functions_editor.php');
$forum = array();
$show['wysiwyg'] = ($forum['allowbbcode'] = TRUE) ? is_wysiwyg_compatible() : 0;
$istyles_js = construct_editor_styles_js();
// set show signature hidden field
$showsig = ($vbulletin->userinfo['signature']) ? 1 : 0;
$vbulletin->options['quickreply'] = 1;
$threadedmode = FALSE;
$qrpostid = 'who cares';
$effective_lastpost = FALSE;
$show['qr_require_click'] = 0;
$show['threadedmode'] = 0;
// temporarily?
$threadedmode = 0;
$show['allow_ajax_qr'] = 0;
// end temp
$editorid = construct_edit_toolbar('', 0, $foruminfo['forumid'], ($foruminfo['allowsmilies'] ? 1 : 0), 1, false, 'qr');
$messagearea = "
<script type=\"text/javascript\">
<!--
var threaded_mode = $threadedmode;
var require_click = $show[qr_require_click];
var is_last_page = $show[allow_ajax_qr]; // leave for people with cached JS files
var allow_ajax_qr = $show[allow_ajax_qr];
var ajax_last_post = " . intval($effective_lastpost) . ";
// -->
</script>
$messagearea
";
if (is_browser('mozilla') AND $show['wysiwyg'] == 2)
{
// Mozilla WYSIWYG can't have the QR collapse button,
// so remove that and force QR to be expanded
$show['quickreply_collapse'] = false;
unset(
$vbcollapse["collapseobj_quickreply"],
$vbcollapse["collapseimg_quickreply"],
$vbcollapse["collapsecel_quickreply"]
);
}
else
{
$show['quickreply_collapse'] = true;
}
}
else if ($show['ajax_js'])
{
require_once(DIR . '/includes/functions_editor.php');
$vBeditJs = construct_editor_js_arrays();
eval('$vBeditTemplate[\'clientscript\'] = "' . fetch_template('editor_clientscript') . '";');
}
$show['quickedit'] = ($vbulletin->options['quickedit'] AND !$show['threadedmode']);
$vBeditTemplate['clientscript'] = str_replace('="clientscript', '="' . $vbulletin->options['bburl'] . '/clientscript', $vBeditTemplate['clientscript']);
// ###################### query for number of new posts
$grps_newpoststext = grps_newgroupposts($groupid);
$grps_moderation = display_mod_options($grps_thread, $grps_showgroup);
eval("\$grps_mainspace = \"".fetch_template("groups_display_viewthread")."\";");
eval("\$grps_main = \"".fetch_template("groups_display_main")."\";");
$pagenav = construct_page_nav($pagenumber, $perpage, $totalposts, 'viewthread.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $groupid . '&t=' . $threadid, '' . (!empty($vbulletin->GPC['perpage']) ? '&pp=' . $perpage : '') . '');
// draw nav bar
$navbits = array();
$navbits['browse.php?' . $vbulletin->session->vars['sessionurl'] . 'c=' . $grps_showgroup['catid']] = $grps_showgroup['catname'];
$navbits['groups.php?' . $vbulletin->session->vars['sessionurl'] . 'g=' . $grps_showgroup['groupid']] = $grps_showgroup['title'];
$navbits[''] = stripslashes($grps_thread['title']);
$navbits = construct_navbits($navbits);
//handles the rest of the page and layout.
eval('$grps_navbar = "' . fetch_template('groups_navbar') . '";');
eval('$headinclude = "' . fetch_template('headinclude') . '";');
$headinclude = grps_rewrite_links($headinclude);
eval('$navbar = "' . fetch_template('navbar') . '";');
$navbar = grps_rewrite_links($navbar);
eval('$footer = "' . fetch_template('footer') . '";');
$footer = grps_rewrite_links($footer);
($hook = vBulletinHook::fetch_hook('grps_global_complete')) ? eval($hook) : false;
$final_template= 'groups_display';
eval("print_output(\"".fetch_template($final_template)."\");");
?>