Trying to get this to work on on RC4. I dont see any reason why it cant. I am at the very beginning and need to know if I cant find this bit of code
in my functions_showthread.php what do I look for? Here is my functions_showthread.php
PHP Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.0.0 Release Candidate 4 - Licence Number 17505142
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000?2004 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # [url]http://www.vbulletin.com[/url] | [url]http://www.vbulletin.com/license.html[/url] # ||
|| #################################################################### ||
\*======================================================================*/
error_reporting(E_ALL & ~E_NOTICE);
require_once('./includes/functions_bbcodeparse.php');
// ###################### Start getreputationimage #######################
function fetch_reputation_image(&$post)
{
global $vboptions, $stylevar, $vbphrase;
if (!$vboptions['reputationenable'])
{
return true;
}
$reputation_value = $post['reputation'];
if ($post['reputation'] < 0 AND $post['reputation'] >=-100)
{
$reputationgif = 'balance';
$reputation_value = ($post['reputation'] * -1);
}
else if ($post['reputation'] < -100)
{
$reputationgif = 'neg';
$reputationhighgif = 'highneg';
$reputation_value = ($post['reputation'] * -1);
}
else if ($post['reputation'] == 0)
{
$reputationgif = 'balance';
}
else
{
$reputationgif = 'pos';
$reputationhighgif = 'highpos';
}
if ($reputation_value > 500)
{ // bright green bars take 200 pts not the normal 100
$reputation_value = ($reputation_value - ($reputation_value - 500)) + (($reputation_value - 500) / 2);
}
$reputationbars = intval($reputation_value / 100); // award 1 reputation bar for every 100 points
if ($reputationbars > 10)
{
$reputationbars = 10;
}
if ($post['showreputation'] == 0 AND $vboptions['reputationhide'] == 1)
{
$posneg = 'off';
$post['level'] = $vbphrase['reputation_disabled'];
eval('$post[\'reputationdisplay\'] = "' . fetch_template('postbit_reputation') . '";');
}
else
{
for ($i = 0; $i <= $reputationbars; $i++)
{
if ($i >= 5)
{
$posneg = $reputationhighgif;
}
else
{
$posneg = $reputationgif;
}
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
}
return true;
}
// ###################### Start doimicons #######################
function construct_im_icons(&$userinfo, $ignore_off_setting = false)
{
global $vboptions, $stylevar, $show, $vbphrase;
$show['hasimicons'] = false;
$userinfo['icq'] = intval($userinfo['icq']);
if (!empty($userinfo['icq']) AND ($vboptions['showimicons'] OR $ignore_off_setting))
{
eval('$userinfo[\'icqicon\'] = "' . fetch_template('im_icq') . '";');
$userinfo['showicq'] = true;
$show['hasimicons'] = true;
}
else
{
$userinfo['icqicon'] = '';
$userinfo['showicq'] = false;
}
if ($userinfo['aim'] != '' AND ($vboptions['showimicons'] OR $ignore_off_setting))
{
eval('$userinfo[\'aimicon\'] = "' . fetch_template('im_aim') . '";');
$userinfo['showaim'] = true;
$show['hasimicons'] = true;
}
else
{
$userinfo['aimicon'] = '';
$userinfo['showaim'] = false;
}
if ($userinfo['yahoo'] != '' AND ($vboptions['showimicons'] OR $ignore_off_setting))
{
eval('$userinfo[\'yahooicon\'] = "' . fetch_template('im_yahoo') . '";');
$userinfo['showyahoo'] = true;
$show['hasimicons'] = true;
}
else
{
$userinfo['yahooicon'] = '';
$userinfo['showyahoo'] = false;
}
if ($userinfo['msn'] != '' AND ($vboptions['showimicons'] OR $ignore_off_setting))
{
eval('$userinfo[\'msnicon\'] = "' . fetch_template('im_msn') . '";');
$userinfo['showmsn'] = true;
$show['hasimicons'] = true;
}
else
{
$userinfo['msnicon'] = '';
$userinfo['showmsn'] = false;
}
}
// ###################### Start getpostbit #######################
function construct_postbit($post, $maintemplatename = 'postbit', $alternate = '')
{
// sorts through all the stuff to return the postbit template
// user
global $bbuserinfo, $session, $ignore, $permissions, $_REQUEST;
// showthread
global $counter, $firstnew, $highlight, $postid, $forum, $replacewords, $bgclass, $altbgclass;
global $thread, $threadedmode, $tachyusers, $SHOWQUICKREPLY, $onload;
global $spacer_open, $spacer_close, $parsed_postcache;
// global options
global $vboptions, $stylevar, $vbphrase, $DB_site, $datastore, $_USEROPTIONS, $style, $show, $usergroupcache;
static $gotrank, $sigcache, $sigperms, $gotage, $month, $day, $year, $counter;
// hide users in Coventry from non-staff members
if ($tachyuser = in_coventry($post['userid']) AND !can_moderate($thread['forumid']))
{
return;
}
$counter ++;
exec_switch_bg();
$post = array_merge($post, convert_bits_to_array($post['options'], $_USEROPTIONS));
if (!$vboptions['allowthreadedmode'])
{
$threadedmode = 0;
}
// set $scrolltothis value if necessary
if (THIS_SCRIPT == 'showthread')
{
if ($post['postid'] == $postid)
{
$scrolltothis = " id=\"currentPost\"";
if ($threadedmode == 0)
{
$onload = "if (is_ie || is_moz) { fetch_object('currentPost').scrollIntoView(!is_moz); }";
}
}
else
{
$scrolltothis = '';
}
}
// find first new post
if (isset($bbuserinfo['lastvisit']))
{
if ($post['dateline'] > $bbuserinfo['lastvisit'] AND $firstnew == 0)
{
$firstnew = $post['postid'];
$post['firstnewinsert' ] = '<a name="newpost"></a>';
}
else
{
$post['firstnewinsert'] = '';
}
}
// format date/time
$post['postdate'] = vbdate($vboptions['dateformat'], $post['dateline'], true);
$post['posttime'] = vbdate($vboptions['timeformat'], $post['dateline']);
// do word wrap
if ($vboptions['wordwrap'])
{
$post['title'] = fetch_word_wrapped_string($post['title']);
}
$post['title'] = fetch_censored_text($post['title']);
// get attachment info
if (is_array($post['attachments']))
{
if (can_moderate($foruminfo['forumid'], 'canmoderateattachments') OR $post['userid'] == $bbuserinfo['userid'])
{
$show['modattachmentlink'] = true;
}
else
{
$show['modattachmentlink'] = false;
}
$show['attachments'] = true;
$show['moderatedattachment'] = $show['thumbnailattachment'] = $show['otherattachment'] = $show['imageattachment'] = false;
$attachcount = sizeof($post['attachments']);
$thumbcount = 0;
if (!$vboptions['attachthumbs'] AND !$vboptions['viewattachedimages'])
{
$showimagesprev = $bbuserinfo['showimages'];
$bbuserinfo['showimages'] = false;
}
foreach($post['attachments'] AS $attachmentid => $attachment)
{
if($attachment['thumbnailsize'] == $attachment['filesize'])
{ // This is an image that is already thumbnail sized..
$attachment['hasthumbnail'] = 0;
$attachment['forceimage'] = 1;
}
$attachment['filename'] = fetch_censored_text(htmlspecialchars_uni($attachment['filename']));
$attachment['attachmentextension'] = strtolower(file_extension($attachment['filename']));
$attachment['filesize'] = vb_number_format($attachment['filesize'], 1, true);
if ($attachment['visible'])
{
switch($attachment['attachmentextension'])
{
case 'gif':
case 'jpg':
case 'jpeg':
case 'jpe':
case 'png':
case 'bmp':
if (!$bbuserinfo['showimages'])
{
eval('$post[\'imageattachmentlinks\'] .= "' . fetch_template('postbit_attachment') . '";');
$show['imageattachmentlink'] = true;
}
else if ($vboptions['attachthumbs'])
{
if ($attachment['hasthumbnail'])
{
$thumbcount++;
if ($thumbcount >= $vboptions['attachrow'])
{
$thumbcount = 0;
$show['br'] = true;
}
else
{
$show['br'] = false;
}
eval('$post[\'thumbnailattachments\'] .= "' . fetch_template('postbit_attachmentthumbnail') . '";');
$show['thumbnailattachment'] = true;
}
else if ($attachment['forceimage'])
{
eval('$post[\'imageattachments\'] .= "' . fetch_template('postbit_attachmentimage') . '";');
$show['imageattachment'] = true;
}
else
{
eval('$post[\'imageattachmentlinks\'] .= "' . fetch_template('postbit_attachment') . '";');
$show['imageattachmentlink'] = true;
}
}
else if ($vboptions['viewattachedimages'] == 2 OR ($vboptions['viewattachedimages'] == 1 AND $attachcount == 1))
{
eval('$post[\'imageattachments\'] .= "' . fetch_template('postbit_attachmentimage') . '";');
$show['imageattachment'] = true;
}
else
{
eval('$post[\'imageattachmentlinks\'] .= "' . fetch_template('postbit_attachment') . '";');
$show['imageattachmentlink'] = true;
}
break;
default:
eval('$post[\'otherattachments\'] .= "' . fetch_template('postbit_attachment') . '";');
$show['otherattachment'] = true;
}
}
else
{
eval('$post[\'moderatedattachments\'] .= "' . fetch_template('postbit_attachmentmoderated') . '";');
$show['moderatedattachment'] = true;
}
}
if (!$vboptions['attachthumbs'] AND !$vboptions['viewattachedimages'])
{
$bbuserinfo['showimages'] = $showimagesprev;
}
}
else
{
$show['attachments'] = false;
}
// get edited by
if ($post['edit_userid'])
{
$post['edit_date'] = vbdate($vboptions['dateformat'], $post['edit_dateline'], true);
$post['edit_time'] = vbdate($vboptions['timeformat'], $post['edit_dateline']);
$show['postedited'] = true;
}
else
{
$show['postedited'] = false;
}
// get new/old post statusicon
if ($post['dateline'] > $bbuserinfo['lastvisit'])
{
$post['statusicon'] = 'new';
$post['statustitle'] = $vbphrase['unread'];
}
else
{
$post['statusicon'] = 'old';
$post['statustitle'] = $vbphrase['old'];
}
// show default icon
if ((!$forum['allowicons'] OR $post['iconid'] == 0) AND THIS_SCRIPT != 'announcement')
{
if (!empty($vboptions['showdeficon']))
{
$post['iconpath'] = $vboptions['showdeficon'];
$post['icontitle'] = $vbphrase['default'];
}
}
// *******************************************************
// not posted by an unregistered user so get profile stuff
if ($post['userid'])
{
// get rank
if (!$gotrank[$post['userid']])
{
eval($datastore['rankphp']);
$gotrank["$post[userid]"] = $post['rank'];
}
else
{
$post['rank'] = $gotrank["$post[userid]"];
}
// get online status
fetch_online_status($post, true);
// get avatar
if ($post['avatarid'])
{
$avatarurl = $post['avatarpath'];
}
else
{
if ($post['hascustomavatar'] AND $vboptions['avatarenabled'])
{
if ($vboptions['usefileavatar'])
{
$avatarurl = "$vboptions[avatarurl]/avatar$post[userid]_$post[avatarrevision].gif";
}
else
{
$avatarurl = "image.php?$session[sessionurl]u=$post[userid]&dateline=$post[avatardateline]";
}
}
else
{
$avatarurl = '';
}
}
if (empty($avatarurl) OR ($bbuserinfo['userid'] > 0 AND !($bbuserinfo['showavatars'])))
{
$show['avatar'] = false;
}
else
{
$show['avatar'] = true;
}
// get custom title
if ($post['customtitle'] == 2)
{ // user title is not set by admin staff, so parse it.
$post['usertitle'] = htmlspecialchars_uni($post['usertitle']);
}
// get join date & posts per day
$jointime = (TIMENOW - $post['joindate']) / 86400; // Days Joined
if ($jointime < 1)
{ // User has been a member for less than one day.
$postsperday = $post['posts'];
}
else
{
$postsperday = vb_number_format($post['posts'] / $jointime, 2);
}
$post['joindate'] = vbdate($vboptions['registereddateformat'], $post['joindate']);
// format posts number
$post['posts'] = vb_number_format($post['posts']);
// assign $userinfo from $post
$userinfo = &$post;
$show['profile'] = true;
$show['search'] = true;
$show['buddy'] = true;
$show['emaillink'] = iif ($post['showemail'] AND $vboptions['displayemails'] AND (!$vboptions['secureemail'] OR ($vboptions['secureemail'] AND $vboptions['enableemail'])), true, false);
$show['homepage'] = iif ($post['homepage'] != '' AND $post['homepage'] != 'http://', true, false);
$show['pmlink'] = iif ($post['receivepm'] AND $vboptions['enablepms'], true, false);
// get reputation
if ($vboptions['reputationenable'] == 1)
{
fetch_reputation_image($post);
$show['reputation'] = true;
}
else
{
$show['reputation'] = false;
}
// IM icons
construct_im_icons($post);
// Generate Age
if ($vboptions['enableage'])
{
if (!$year)
{
$year = vbdate('Y', TIMENOW, false, false);
$month = vbdate('n', TIMENOW, false, false);
$day = vbdate('j', TIMENOW, false, false);
}
if (empty($gotage["$post[userid]"]))
{
$date = explode('-', $post['birthday']);
if ($year > $date[2] AND $date[2] != '0000')
{
$post['age'] = $year - $date[2];
if ($month < $date[0] OR ($month == $date[0] AND $day < $date[1]))
{
$post['age']--;
}
if ($post['age'] < 101)
{
$gotage["$post[userid]"] = $post['age'];
}
else
{
unset($post['age']);
}
}
}
else
{
$post['age'] = $gotage["$post[userid]"];
}
}
// Check signature permission
if (!isset($sigperms["$post[userid]"]))
{
$checkperms = cache_permissions($post, false);
if ($checkperms['genericpermissions'] & CANUSESIGNATURE)
{
$sigperms["$post[userid]"] = true;
}
else
{
$sigperms["$post[userid]"] = false;
}
}
// get signature
if ($post['showsignature'] AND $vboptions['allowsignatures'] AND trim($post['signature']) != '' AND (!$bbuserinfo['userid'] OR $bbuserinfo['showsignatures']) AND $sigperms[$post['userid']])
{
if (!isset($sigcache["$post[userid]"]))
{
$parsed_postcache['skip'] = true;
$post['signature'] = parse_bbcode($post['signature'], 'nonforum', $vboptions['allowsmilies']);
$sigcache["$post[userid]"] = $post['signature'];
}
else
{
$post['signature'] = $sigcache["$post[userid]"];
}
}
else
{
$post['signature'] = '';
}
}
else // posted by a guest - set defaults for profile stuff
{
$post['rank'] = '';
$postsperday = 0;
$post['displaygroupid'] = 1;
$post['musername'] = $post['username'] = $post['postusername'];
$post['musername'] = fetch_musername($post, 'displaygroupid', 'musername');
$post['usertitle'] = $vbphrase['guest'];
$post['joindate'] = '';
$post['posts'] = 'n/a';
$post['avatar'] = '';
$post['profile'] = '';
$post['email'] = '';
$post['useremail'] = '';
$post['icqicon'] = '';
$post['aimicon'] = '';
$post['yahooicon'] = '';
$post['msnicon'] = '';
$post['homepage'] = '';
$post['findposts'] = '';
$post['signature'] = '';
$post['reputationdisplay'] = '';
$onlinestatus = '';
$onlineresult = 0;
$show['avatar'] = false;
$show['reputation'] = false;
$show['pmlink'] = false;
$show['homepage'] = false;
$show['emaillink'] = false;
$show['profile'] = false;
$show['search'] = false;
$show['buddy'] = false;
}
// do ip addresses
$post['iplogged'] = '';
if ($post['ip'] != '')
{
if ($vboptions['logip'] == 2)
{
$show['ip'] = true;
eval('$post[\'iplogged\'] .= "' . fetch_template('postbit_ip') . '";');
}
else if ($vboptions['logip'] == 1 AND can_moderate($thread['forumid'], 'canviewips'))
{
$show['ip'] = false;
eval('$post[\'iplogged\'] .= "' . fetch_template('postbit_ip') . '";');
}
}
// do alternate postbit types
switch($alternate)
{
// usernote style postbit
case 'usernote':
$post['message'] = parse_usernote_bbcode($post['pagetext'], $post['allowsmilies']);
$post['editlink'] = "usernote.php?$session[sessionurl]do=editnote&usernoteid=$post[usernoteid]";
$post['replylink'] = false;
$post['forwardlink'] = false;
$show['postcount'] = false;
$show['reputationlink'] = false;
$show['reportlink'] = false;
break;
// announcement style postbit
case 'announcement':
$post['message'] = parse_bbcode($post['pagetext'], 'announcement', $post['allowsmilies']);
$post['editlink'] = false;
$post['replylink'] = false;
$post['forwardlink'] = false;
$show['postcount'] = false;
$show['reputationlink'] = false;
$show['reportlink'] = false;
break;
// private message style postbit
case 'pm':
$privatemessage = true;
$post['editlink'] = false;
$post['replylink'] = "private.php?$session[sessionurl]do=newpm&pmid=$post[pmid]";
$post['forwardlink'] = "private.php?$session[sessionurl]do=newpm&forward=1&pmid=$post[pmid]";
$show['postcount'] = false;
$show['reputationlink'] = false;
$show['reportlink'] = false;
break;
// showthread / showpost style Postbit
default:
if (!empty($post['pagetext_html']))
{
$parsed_postcache['skip'] = true;
if ($post['hasimages'])
{
$post['message'] = handle_bbcode_img($post['pagetext_html'], $forum['allowimages']);
}
else
{
$post['message'] = &$post['pagetext_html'];
}
}
else
{
$parsed_postcache['skip'] = false;
$post['message'] = parse_bbcode($post['pagetext'], $forum['forumid'], $post['allowsmilie']);
}
// highlight words from search engine ($_REQUEST[highlight])
if (is_array($replacewords) AND ($_REQUEST['postid'] == $post['postid'] OR empty($_REQUEST['postid'])) )
{
$post['message'] = preg_replace('#(^|>)([^<]+)(?=<|$)#sUe', "process_highlight_postbit('\\2', \$replacewords, '\\1')", $post['message']);
}
// hide edit button if they can't use it
$forumperms = fetch_permissions($thread['forumid']);
if (
!$thread['isdeleted'] AND (
can_moderate($thread['forumid'], 'caneditposts') OR
can_moderate($thread['forumid'], 'candeleteposts') OR
(
$thread['open'] AND
$post['userid'] == $bbuserinfo['userid'] AND
($forumperms & CANEDITPOST) AND
( $post['dateline'] >= (TIMENOW - ($vboptions['edittimelimit'] * 60)) OR
$vboptions['edittimelimit'] == 0
)
))
)
{
// can edit or delete this post, so show the link
$post['editlink'] = "editpost.php?$session[sessionurl]do=editpost&p=$post[postid]";
}
else
{
$post['editlink'] = false;
}
if (!$thread['isdeleted'])
{
$post['replylink'] = "newreply.php?$session[sessionurl]do=newreply&p=$post[postid]";
}
else
{
$post['replylink'] = false;
}
$post['forwardlink'] = false;
$show['reportlink'] = iif($bbuserinfo['userid'] AND $bbuserinfo['userid'] != $post['userid'], true, false);
$show['postcount'] = iif($post['postcount'], true, false);
$show['reputationlink'] = iif($vboptions['reputationenable'] AND $bbuserinfo['userid'] AND $post['userid'] AND !($usergroupcache["$post[usergroupid]"]['genericoptions'] & ISBANNEDGROUP), true, false);
break;
}
eval('$post[\'buttons\'] = "' . fetch_template('postbit_buttons') . '";');
// do posts from ignored users
if ($tachyuser AND THIS_SCRIPT != 'showpost' AND THIS_SCRIPT != 'private')
{
$maintemplatename = 'postbit_ignore_global';
}
else if ($ignore["$post[userid]"]/* AND !in_array($post['userid'], explode(' ', $bbuserinfo['buddylist']))*/)
{
$maintemplatename = 'postbit_ignore';
$show['showpostlink'] = ($alternate != 'usernote');
}
$show['messageicon'] = iif($post['iconpath'], true, false);
eval('$retval = "' . fetch_template($maintemplatename) . '";');
return $retval;
}
// ###################### Start process_highlight_postbit #######################
function process_highlight_postbit($text, $words, $prepend)
{
$text = str_replace('\"', '"', $text);
foreach ($words AS $replaceword)
{
$text = preg_replace('#(?<=[\s"\]>()]|^)(' . $replaceword . ')(([.,:;-?!()\s"<\[]|$))#siU', '<span class="highlight">\\1</span>\\2', $text);
//$text = preg_replace('#(?<=[^\w=])(' . $replaceword . ')(?=[^\w=])#siU', '<span class="highlight">\\1</span>', $text);
}
return "$prepend$text";
}
/*======================================================================*\
|| ####################################################################
|| # Downloaded: 16:04, Sat Feb 7th 2004
|| # CVS: $RCSfile: functions_showthread.php,v $ - $Revision: 1.41 $
|| ####################################################################
\*======================================================================*/
?>
Any help would be appreciated greatly. My members really want this! I have an animal forum LOL so its perfect.