Version: 1.0, by Xenon
Developer Last Online: Oct 2023
Version: 3.5.0
Rating:
Released: 10-31-2005
Last Update: 11-21-2005
Installs: 264
DB Changes Uses Plugins Template Edits
Code Changes
No support by the author.
As requested several times, this hack allows you to arrange forums on forumhome in xx columns instead of just one per row as it is in standart vb3. It is a plain port of my 3.0 version you can find here.
Look at the screenshot to know what i mean
The design is changeable in the templates of course
I've tested it, and it should work, but as i don't use it myself, i cannot do a longtime test, so if you find any bugs, report them
Right now, it's just working on forumhome.
I'll add changes for forumdisplay later
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
See how each team is listed in different categories (Atlantic Division, Northeast Division, Southeast Division, etc). It looks like a subforum of a subforum, almost. How can I do this? The only thing I'm able to get going here is columns for the first set of subforums...but those subforums have subforums too. ie my first set of subforums would be labeled Atlantic Division, Northeast Division, Southeast Division. I have all the teams set as subforums of those...but they aren't showing up on the main forum. I attached a screenshot of what I get...
Can anyone please help?
it's very easy.
First you set the main forum which will hold the subforums, you set how many columns you want, then you get the forumid
then you edit the template
Quote:
forumhome_forumbit_level1_nopost
you look for:
Quote:
<table style="border: none; width: 100%;">
$childforumbits
</table>
and depending of the amount column that you set, this is how many <td that you put. For example for 3 columns, you would place the red in your template, replacing xx with the main forumid
don't work on 3.8.1, the error is: Parse error: syntax error, unexpected T_STRING in /home/content/j/s/e/******/html/forum/includes/functions_forumlist.php on line 273
2/ and how/where I can remove the "Thread/Post" so that only left "The latest post" and move number of post a side http://www.nbadimensions.net/forums/
3/ also, it does not show the number of member/guest view on the forum anymore .... can we put it back?
Thanks so much.
Hi Rapidphim,
I saw your forum, this hack showing very good on your forum 3.8.2, I am admiring.
I think many people admire that, you pass through it.
So could you please share with us how did you do on 3.8.x? I met problems after do as Xenon tell us, the error is: Parse error: syntax error, unexpected T_STRING in /home/content/j/s/e/******/html/forum/includes/functions_forumlist.php on line 273
1. Copy your code here in "/includes/functions_forumlist.php" to me compeletely, ok?
2. Copy your code here in "forumhome_forumbit_level1_nopost", is it ok?
// ###################### Start construct_forum_columns #######################
function construct_forum_columns($parentid, $columncount)
{
global $vbulletin, $stylevar, $vbphrase, $show;
global $imodcache, $lastpostarray, $counters, $inforum;
// this function takes the constant MAXFORUMDEPTH as its guide for how
// deep to recurse down forum lists. if MAXFORUMDEPTH is not defined,
// it will assume a depth of 2.
if ($columncount == 0)
{
// 0 Columns means don't show subforums at all
return '';
}
// call fetch_last_post_array() first to get last post info for forums
if (!is_array($lastpostarray))
{
fetch_last_post_array();
}
if (empty($vbulletin->iforumcache["$parentid"]))
{
return;
}
if (!defined(MAXFORUMDEPTH))
{
define('MAXFORUMDEPTH', 1);
}
$forumbits = '';
$counter = 0;
foreach ($vbulletin->iforumcache["$parentid"] AS $forumid)
{
// grab the appropriate forum from the $vbulletin->forumcache
$forum = $vbulletin->forumcache["$forumid"];
$lastpostforum = $vbulletin->forumcache["$lastpostarray[$forumid]"];
if (!$forum['displayorder'] OR !($forum['options'] & $vbulletin->bf_misc_forumoptions['active']))
{
continue;
}
$forumperms = $vbulletin->userinfo['forumpermissions']["$forumid"];
$lastpostforumperms = $vbulletin->userinfo['forumpermissions']["$lastpostarray[$forumid]"];
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) AND !$vbulletin->options['showprivateforums'])
{ // no permission to view current forum
continue;
}
// do stuff if we are not doing subscriptions only, or if we ARE doing subscriptions,
// and the forum has a subscribedforumid
if (!$subsonly OR ($subsonly AND !empty($forum['subscribeforumid'])))
{
$GLOBALS['forumshown'] = true; // say that we have shown at least one forum
if (($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads']))
{ // get appropriate suffix for template name
$tempext = '_post';
}
else
{
$tempext = '_nopost';
}
if (!$vbulletin->options['showforumdescription'])
{ // blank forum description if set to not show
$forum['description'] = '';
}
// dates & thread title
$lastpostinfo = $vbulletin->forumcache["$lastpostarray[$forumid]"];
// compare last post time for this forum with the last post time specified by
// the $lastpostarray, and if it's less, use the last post info from the forum
// specified by $lastpostarray
if ($vbulletin->forumcache["$lastpostarray[$forumid]"]['lastpost'] > 0)
{
if (!($lastpostforumperms & $vbulletin->bf_ugp_forumpermissions['canview']) OR (!($lastpostforumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND $lastpostinfo['lastposter'] != $vbulletin->userinfo['username']))
{
$forum['lastpostinfo'] = $vbphrase['private'];
}
else
{
$lastpostinfo['lastpostdate'] = vbdate($vbulletin->options['dateformat'], $lastpostinfo['lastpost'], 1);
$lastpostinfo['lastposttime'] = vbdate($vbulletin->options['timeformat'], $lastpostinfo['lastpost']);
$lastpostinfo['trimthread'] = fetch_trimmed_title($lastpostinfo['lastthread']);
// do light bulb
$forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
$show['customstatusicon'] = false;
if ($forum['hasstatusicons'])
{
$show['customstatusicon'] = true;
if ($forum['statusicon'] == 'new')
{
$forum['customicon'] = $forum['statusiconon'];
}
if ($forum['statusicon'] == 'new_lock')
{
$forum['customicon'] = $forum['statusiconlockon'];
}
if ($forum['statusicon'] == 'old')
{
$forum['customicon'] = $forum['statusiconoff'];
}
if ($forum['statusicon'] == 'old_lock')
{
$forum['customicon'] = $forum['statusiconlockoff'];
}
if ($forum['statusicon'] == 'link')
{
$forum['customicon'] = $forum['statusiconlink'];
}
}
// add lock to lightbulb if necessary
if ((!($forumperms & $vbulletin->bf_ugp_forumpermissions['canpostnew']) OR !($forum['options'] & $vbulletin->bf_misc_forumoptions['allowposting'])) AND $vbulletin->options['showlocks'] AND !$forum['link'])
{
$forum['statusicon'] .= '_lock';
}
// get counters from the counters cache ( prepared by fetch_last_post_array() )
$forum['threadcount'] = $counters["$forum[forumid]"]['threadcount'];
$forum['replycount'] = $counters["$forum[forumid]"]['replycount'];
// get moderators ( this is why we needed cache_moderators() )
if ($vbulletin->options['showmoderatorcolumn'])
{
$showmods = array();
$listexploded = explode(',', $forum['parentlist']);
foreach ($listexploded AS $parentforumid)
{
if (!isset($imodcache["$parentforumid"]))
{
continue;
}
foreach($imodcache["$parentforumid"] AS $moderator)
{
if (isset($showmods["$moderator[userid]"]))
{
continue;
}
// build the template for the current forum
$column_width = intval(100 / $columncount) . '%';
eval('$column = "' . fetch_template("forumhome_forumbit_columncell") . '";');
// do the columnstuff
if ($counter % $columncount == 0)
{
// Begin a new row
$forumbits .= "\t<tr>\n";
}
$forumbits .= $column;
if ($counter % $columncount == $columncount - 1)
{
// End row
$forumbits .= "\t</tr>\n";
}
$counter++;
}
}