greigeh
04-26-2016, 02:24 PM
I have this plugin running on my forum, and we've had it for quite some time but I'm making some major theme developments and my mockup design requires me to have the name of the forum the post is in. Is it possible in this script below to simply add a line so it will fetch the forum name from the DB?
// #################### PROCESS LATEST THREADS #######################
// fetch the permissions for each forum
global $vbulletin;
$forumperms = array();
foreach($vbulletin->forumcache AS $forum) {
$forumperms[$forum["forumid"]] = fetch_permissions($forum['forumid']);
// ## HIDE FORUMS WITHOUT THE CANVIEW PERMISSION ##
if (!($forumperms[$forum["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview']) AND !$vbulletin->options['showprivateforums']) {
$limitfids .= ','.$forum['forumid'];
}
}
unset($forum);
if ($vbulletin->options['threadpreview'] > 0) {
$previewfield = ', post.pagetext AS preview';
$previewjoin = 'LEFT JOIN '.TABLE_PREFIX.'post AS post ON(post.postid = thread.firstpostid)';
}
$getthreads = $db->query_read("
## GET LATEST THREADS ##
SELECT thread.*,thread.iconid AS threadiconid $previewfield
FROM ".TABLE_PREFIX."thread AS thread
LEFT JOIN ".TABLE_PREFIX."deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')
$previewjoin
WHERE open <> 10
AND forumid NOT IN (0$limitfids)
AND thread.visible = '1'
AND deletionlog.primaryid IS NULL
ORDER BY lastpost
DESC LIMIT 20");
while($thread = $db->fetch_array($getthreads)) {
$threads = true;
$thread['title'] = fetch_censored_text(fetch_trimmed_title(unhtmlspec ialchars($thread['title']), 25));
$thread['date'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
$thread['time'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);
$thread['preview'] = preg_replace('#\[quote(=("|"|\'|).*\\2)?\](.*)\[/quote\]#siU', '', $thread['preview']);
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbc ode(fetch_censored_text($thread['preview']), false, true), 30));
$thread['replycount'] = vb_number_format($thread['replycount']);
$thread['views'] = vb_number_format($thread['views']);
// thread icon
$show['icon'] = false;
$icon = fetch_iconinfo($thread['iconid']);
if (is_array($icon)) {
$show['icon'] = true;
$thread['threadiconpath'] = $icon['iconpath'];
$thread['threadicontitle'] = $icon['title'];
}
// show goto new post
$show['firstnew'] = false;
$bbforumview = fetch_bbarray_cookie('forum_view', $thread['forumid']);
if ($bbforumview > $vbulletin->userinfo['lastvisit']) {
$lastread = $bbforumview;
} else {
$lastread = $vbulletin->userinfo['lastvisit'];
}
if ($thread['lastpost'] > $lastread) {
$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
if ($thread['lastpost'] > $threadview) {
$show['firstnew'] = true;
$show['icon'] = false;
}
}
exec_switch_bg();
eval("\$threadbits .= \"".fetch_template('forumhome_latestthreadbit')."\";");
}
if ($threads) {
$show['latestthreads'] = true;
}
// memory saving
unset($thread, $threads);
$db->free_result($getthreads);
I tried something along the lines of "$thread['forumname'] = fetch_censored_text($thread['forumname']); " as I though this was the correct variables but it didn't work.
Can anyone help?
// #################### PROCESS LATEST THREADS #######################
// fetch the permissions for each forum
global $vbulletin;
$forumperms = array();
foreach($vbulletin->forumcache AS $forum) {
$forumperms[$forum["forumid"]] = fetch_permissions($forum['forumid']);
// ## HIDE FORUMS WITHOUT THE CANVIEW PERMISSION ##
if (!($forumperms[$forum["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview']) AND !$vbulletin->options['showprivateforums']) {
$limitfids .= ','.$forum['forumid'];
}
}
unset($forum);
if ($vbulletin->options['threadpreview'] > 0) {
$previewfield = ', post.pagetext AS preview';
$previewjoin = 'LEFT JOIN '.TABLE_PREFIX.'post AS post ON(post.postid = thread.firstpostid)';
}
$getthreads = $db->query_read("
## GET LATEST THREADS ##
SELECT thread.*,thread.iconid AS threadiconid $previewfield
FROM ".TABLE_PREFIX."thread AS thread
LEFT JOIN ".TABLE_PREFIX."deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')
$previewjoin
WHERE open <> 10
AND forumid NOT IN (0$limitfids)
AND thread.visible = '1'
AND deletionlog.primaryid IS NULL
ORDER BY lastpost
DESC LIMIT 20");
while($thread = $db->fetch_array($getthreads)) {
$threads = true;
$thread['title'] = fetch_censored_text(fetch_trimmed_title(unhtmlspec ialchars($thread['title']), 25));
$thread['date'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
$thread['time'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);
$thread['preview'] = preg_replace('#\[quote(=("|"|\'|).*\\2)?\](.*)\[/quote\]#siU', '', $thread['preview']);
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbc ode(fetch_censored_text($thread['preview']), false, true), 30));
$thread['replycount'] = vb_number_format($thread['replycount']);
$thread['views'] = vb_number_format($thread['views']);
// thread icon
$show['icon'] = false;
$icon = fetch_iconinfo($thread['iconid']);
if (is_array($icon)) {
$show['icon'] = true;
$thread['threadiconpath'] = $icon['iconpath'];
$thread['threadicontitle'] = $icon['title'];
}
// show goto new post
$show['firstnew'] = false;
$bbforumview = fetch_bbarray_cookie('forum_view', $thread['forumid']);
if ($bbforumview > $vbulletin->userinfo['lastvisit']) {
$lastread = $bbforumview;
} else {
$lastread = $vbulletin->userinfo['lastvisit'];
}
if ($thread['lastpost'] > $lastread) {
$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
if ($thread['lastpost'] > $threadview) {
$show['firstnew'] = true;
$show['icon'] = false;
}
}
exec_switch_bg();
eval("\$threadbits .= \"".fetch_template('forumhome_latestthreadbit')."\";");
}
if ($threads) {
$show['latestthreads'] = true;
}
// memory saving
unset($thread, $threads);
$db->free_result($getthreads);
I tried something along the lines of "$thread['forumname'] = fetch_censored_text($thread['forumname']); " as I though this was the correct variables but it didn't work.
Can anyone help?