Results 1 to 1 of 1
Hybrid View
-
21st Feb 2010, 04:21 PM #1OPMemberWebsite's:
learninginn.comForum Arranges In Column In Forum Home
hello,
most of us know this mod,, but i have some specifications in this mod, normally this mod convert forums in column, but it does not fixed the width of column, some of them are big and some of them are, but newbies like me dont know how to make them fixed width and how to customize this in own way,
most of us can see my thread which i requested for help in fixing the width of columns.. but now i searched too musch and get my solution too huh!
here is a complete tutorials for vb3.8.x to make forums in column without any error and bug.
download the rar and import the plugin
Code:http://www.MegaShare.com/1845751
ohk now open includes/functions_forumlist.php and replace all by
PHP Code:<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.8.1
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000-2009 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
// ###################### Start getimodcache #######################
function cache_moderators($userid = null)
{
global $vbulletin, $imodcache, $mod;
$imodcache = array();
$mod = array();
$forummoderators = $vbulletin->db->query_read_slave("
SELECT moderator.*, user.username,
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid
FROM " . TABLE_PREFIX . "moderator AS moderator
INNER JOIN " . TABLE_PREFIX . "user AS user USING(userid)
" . ($userid != null ? "WHERE moderator.userid = " . intval($userid) : "") . "
");
while ($moderator = $vbulletin->db->fetch_array($forummoderators))
{
fetch_musername($moderator);
$imodcache["$moderator[forumid]"]["$moderator[userid]"] = $moderator;
$mod["$moderator[userid]"] = 1;
}
$vbulletin->db->free_result($forummoderators);
}
// ###################### Start getlastpostinfo #######################
// this function creates a lastpostinfo array that tells makeforumbit which forum
// each forum should grab its last post info from.
// it also tots up the thread/post totals for each forum. - PERMISSIONS are taken into account.
function fetch_last_post_array($root_forumid = -1)
{
global $vbulletin, $lastpostarray, $counters;
$cannotView = array();
$children = array();
// loop through the vbulletin->iforumcache
foreach ($vbulletin->iforumcache AS $moo)
{
foreach ($moo AS $forumid)
{
$forum = $vbulletin->forumcache["$forumid"];
if (!$forum['displayorder'] OR !($forum['options'] & $vbulletin->bf_misc_forumoptions['active']))
{
if ($root_forumid == -1 OR !in_array($root_forumid, explode(',', $forum['childlist'])))
{
// only going to show below this part of the tree if we're already there
$cannotView["$forumid"] = 1;
}
continue;
}
// if we have no permission to view the forum's parent
// set cannotView permissions cache for this forum and continue
if (!empty($cannotView["$forum[parentid]"]))
{
$cannotView["$forumid"] = 1;
}
else
{
$forumperms = $vbulletin->userinfo['forumpermissions']["$forumid"];
// can view and validated password OR show counters for private forums -> show post count
if (
($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'] AND (!$forum['password'] OR verify_forum_password($forum['forumid'], $forum['password'], false)))
OR ($vbulletin->forumcache["$forumid"]['showprivate'] AND $vbulletin->forumcache["$forumid"]['showprivate'] == 3)
OR (!$vbulletin->forumcache["$forumid"]['showprivate'] AND $vbulletin->options['showprivateforums'] == 2)
)
{
if (!isset($lastpostarray["$forumid"]))
{
$lastpostarray["$forumid"] = $forumid;
}
$parents = explode(',', $forum['parentlist']);
foreach ($parents AS $parentid)
{
// for each parent, set an array entry containing this forum's number of posts & threads
$children["$parentid"]["$forumid"] = array('threads' => $forum['threadcount'], 'posts' => $forum['replycount']);
if ($parentid == -1 OR !isset($vbulletin->forumcache["$parentid"]))
{
continue;
}
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND $vbulletin->forumcache["$forumid"]['lastposter'] != $vbulletin->userinfo['username'])
{
// can't view others threads in this forum and the last post isn't by us
// so don't try to traverse up the tree
continue;
}
// compare the date for the last post info with the last post date
// for the parent forum, and if it's greater, set the last post info
// array for this forum to point to that forum... (erm..)
if ($forum['lastpost'] > $vbulletin->forumcache["$parentid"]['lastpost'])
{
$lastpostarray["$parentid"] = $forumid;
$vbulletin->forumcache["$parentid"]['lastpost'] = $forum['lastpost'];
}
}
}
else
{
$cannotView["$forumid"] = 1;
}
} // end can view parent
}
}
$counters = array();
if (is_array($vbulletin->forumcache))
{
foreach($vbulletin->forumcache AS $forum)
{
$this_forum =& $counters["$forum[forumid]"];
$this_forum['threadcount'] = 0;
$this_forum['replycount'] = 0;
if (is_array($children["$forum[forumid]"]))
{
foreach($children["$forum[forumid]"] AS $id => $info)
{
$this_forum['threadcount'] += $info['threads'];
$this_forum['replycount'] += $info['posts'];
}
}
}
}
}
// ###################### Start makeforumbit #######################
// this function returns the properly-ordered and formatted forum lists for forumhome,
// forumdisplay and usercp. Of course, you could use it elsewhere too..
function construct_forum_bit($parentid, $depth = 0, $subsonly = 0)
{
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.
// call fetch_last_post_array() first to get last post info for forums
if (!is_array($lastpostarray))
{
fetch_last_post_array($parentid);
}
if (empty($vbulletin->iforumcache["$parentid"]))
{
return;
}
if (!defined('MAXFORUMDEPTH'))
{
define('MAXFORUMDEPTH', 2);
}
$forumbits = '';
$depth++;
foreach ($vbulletin->iforumcache["$parentid"] AS $forumid)
{
// grab the appropriate forum from the $vbulletin->forumcache
$forum = $vbulletin->forumcache["$forumid"];
//$lastpostforum = $vbulletin->forumcache["$lastpostarray[$forumid]"];
$lastpostforum = (empty($lastpostarray[$forumid]) ? array() : $vbulletin->forumcache["$lastpostarray[$forumid]"]);
if (!$forum['displayorder'] OR !($forum['options'] & $vbulletin->bf_misc_forumoptions['active']))
{
continue;
}
$forumperms = $vbulletin->userinfo['forumpermissions']["$forumid"];
$lastpostforumperms = (empty($lastpostarray[$forumid]) ? 0 : $vbulletin->userinfo['forumpermissions']["$lastpostarray[$forumid]"]);
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) AND ($vbulletin->forumcache["$forumid"]['showprivate'] == 1 OR (!$vbulletin->forumcache["$forumid"]['showprivate'] AND !$vbulletin->options['showprivateforums'])))
{ // no permission to view current forum
continue;
}
if (THIS_SCRIPT == 'index' AND $forum['subforumcolumns'] != 1 AND ($subsonly OR $depth < MAXFORUMDEPTH))
{
$childforumbits = construct_forum_columns($forum['forumid'], $forum['subforumcolumns']);
}
else if ($subsonly)
{
$childforumbits = construct_forum_bit($forum['forumid'], 1, $subsonly);
}
else if ($depth < MAXFORUMDEPTH)
{
$childforumbits = construct_forum_bit($forum['forumid'], $depth, $subsonly);
}
else
{
$childforumbits = '';
}
// 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 = (empty($lastpostarray[$forumid]) ? array() : $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 (!empty($lastpostinfo) AND $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(fetch_censored_text($lastpostinfo['lastthread']));
if ($lastpostinfo['lastprefixid'] AND $vbulletin->options['showprefixlastpost'])
{
$lastpostinfo['prefix'] = ($vbulletin->options['showprefixlastpost'] == 2 ?
$vbphrase["prefix_$lastpostinfo[lastprefixid]_title_rich"] :
htmlspecialchars_uni($vbphrase["prefix_$lastpostinfo[lastprefixid]_title_plain"])
);
}
else
{
$lastpostinfo['prefix'] = '';
}
if ($vbulletin->forumcache["$lastpostforum[forumid]"]['options'] & $vbulletin->bf_misc_forumoptions['allowicons'] AND $icon = fetch_iconinfo($lastpostinfo['lasticonid']))
{
$show['icon'] = true;
}
else
{
$show['icon'] = false;
}
$show['lastpostinfo'] = (!$lastpostforum['password'] OR verify_forum_password($lastpostforum['forumid'], $lastpostforum['password'], false));
eval('$forum[\'lastpostinfo\'] = "' . fetch_template('forumhome_lastpostby') . '";');
}
}
else if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']))
{
$forum['lastpostinfo'] = $vbphrase['private'];
}
else
{
$forum['lastpostinfo'] = $vbphrase['never'];
}
// do light bulb
$forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
// add lock to lightbulb if necessary
// from 3.6.9 & 3.7.0 we now show locks only if a user can not post AT ALL
// previously it was just if they could not create new threads
if (
$vbulletin->options['showlocks'] // show locks to users who can't post
AND !$forum['link'] // forum is not a link
AND
(
!($forum['options'] & $vbulletin->bf_misc_forumoptions['allowposting']) // forum does not allow posting
OR
(
!($forumperms & $vbulletin->bf_ugp_forumpermissions['canpostnew']) // can't post new threads
AND !($forumperms & $vbulletin->bf_ugp_forumpermissions['canreplyown']) // can't reply to own threads
AND !($forumperms & $vbulletin->bf_ugp_forumpermissions['canreplyothers']) // can't reply to others' threads
)
)
)
{
$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"]) OR $parentforumid == -1)
{
continue;
}
foreach($imodcache["$parentforumid"] AS $moderator)
{
if (isset($showmods["$moderator[userid]"]))
{
continue;
}
($hook = vBulletinHook::fetch_hook('forumbit_moderator')) ? eval($hook) : false;
$showmods["$moderator[userid]"] = true;
$show['comma_leader'] = isset($forum['moderators']);
if (!isset($forum['moderators']))
{
$forum['moderators'] = '';
}
eval('$forum[\'moderators\'] .= "' . fetch_template('forumhome_moderator') . '";');
}
}
if (!isset($forum['moderators']))
{
$forum['moderators'] = '';
}
}
if ($forum['link'])
{
$forum['replycount'] = '-';
$forum['threadcount'] = '-';
$forum['lastpostinfo'] = '-';
}
else
{
$forum['replycount'] = vb_number_format($forum['replycount']);
$forum['threadcount'] = vb_number_format($forum['threadcount']);
}
if (($subsonly OR $depth == MAXFORUMDEPTH) AND $vbulletin->options['subforumdepth'] > 0)
{
$forum['subforums'] = construct_subforum_bit($forumid, ($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads'] ) );
}
else
{
$forum['subforums'] = '';
}
$forum['browsers'] = 0;
$children = explode(',', $forum['childlist']);
foreach($children AS $childid)
{
$forum['browsers'] += (isset($inforum["$childid"]) ? $inforum["$childid"] : 0);
}
if ($depth == 1 AND $tempext == '_nopost')
{
global $vbcollapse;
$collapseobj_forumid =& $vbcollapse["collapseobj_forumbit_$forumid"];
$collapseimg_forumid =& $vbcollapse["collapseimg_forumbit_$forumid"];
$show['collapsebutton'] = true;
}
else
{
$show['collapsebutton'] = false;
}
$show['forumsubscription'] = ($subsonly ? true : false);
$show['forumdescription'] = ($forum['description'] != '' ? true : false);
$show['subforums'] = ($forum['subforums'] != '' ? true : false);
$show['browsers'] = ($vbulletin->options['displayloggedin'] AND !$forum['link'] AND $forum['browsers'] ? true : false);
// build the template for the current forum
($hook = vBulletinHook::fetch_hook('forumbit_display')) ? eval($hook) : false;
eval('$forumbits .= "' . fetch_template("forumhome_forumbit_level$depth$tempext") . '";');
} // end if (!$subsonly OR ($subsonly AND !empty($forum['subscribeforumid'])))
else
{
$forumbits .= $childforumbits;
}
}
return $forumbits;
}
// ###################### Start getforumlightbulb #######################
// returns 'on' or 'off' depending on last post info for a forum
function fetch_forum_lightbulb(&$forumid, &$lastpostinfo, &$foruminfo)
{
global $bb_view_cache, $vbulletin;
if (is_array($foruminfo) AND !empty($foruminfo['link']))
{ // see if it is a redirect
return 'link';
}
else
{
if ($vbulletin->userinfo['lastvisitdate'] == -1)
{
return 'new';
}
else
{
if ($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid'])
{
$userlastvisit = (!empty($foruminfo['forumread']) ? $foruminfo['forumread'] : (TIMENOW - ($vbulletin->options['markinglimit'] * 86400)));
}
else
{
$forumview = intval(fetch_bbarray_cookie('forum_view', $foruminfo['forumid']));
//use which one produces the highest value, most likely cookie
$userlastvisit = ($forumview > $vbulletin->userinfo['lastvisit'] ? $forumview : $vbulletin->userinfo['lastvisit']);
}
if ($lastpostinfo['lastpost'] AND $userlastvisit < $lastpostinfo['lastpost'])
{
return 'new';
}
else
{
return 'old';
}
}
}
}
// ###################### Start makesubforumbit #######################
// gets a list of a forum's children and returns it
// based on the forumhome_subforumbit template
function construct_subforum_bit($parentid, $cancontainthreads, $output = '', $depthmark = '--', $depth = 0)
{
global $vbulletin, $stylevar, $vbphrase;
global $lastpostinfo, $lastpostarray;
static $splitter;
if ($cancontainthreads)
{
$canpost = 'post';
}
else
{
$canpost = 'nopost';
}
// get the splitter template
if (!isset($splitter["$canpost"]))
{
eval('$splitter[$canpost] = "' . fetch_template("forumhome_subforumseparator_$canpost") . '";');
}
if (!isset($vbulletin->iforumcache["$parentid"]))
{
return $output;
}
foreach($vbulletin->iforumcache["$parentid"] AS $forumid)
{
$forum = $vbulletin->forumcache["$forumid"];
$forumperms = $vbulletin->userinfo['forumpermissions']["$forumid"];
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) AND ($vbulletin->forumcache["$forumid"]['showprivate'] == 1 OR (!$vbulletin->forumcache["$forumid"]['showprivate'] AND !$vbulletin->options['showprivateforums'])))
{ // no permission to view current forum
continue;
}
if (!$forum['displayorder'] OR !($forum['options'] & $vbulletin->bf_misc_forumoptions['active']))
{
// forum not active
continue;
}
else
{ // get on/off status
$lastpostinfo = $vbulletin->forumcache["$lastpostarray[$forumid]"];
$forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
$show['newposticon'] = ($forum['statusicon'] ? true : false);
($hook = vBulletinHook::fetch_hook('forumbit_subforumbit')) ? eval($hook) : false;
eval('$subforum = "' . fetch_template("forumhome_subforumbit_$canpost") . '";');
if (!empty($output))
{
$subforum = $splitter["$canpost"] . $subforum;
}
if ($depth < $vbulletin->options['subforumdepth'])
{
$output .= construct_subforum_bit($forumid, $cancontainthreads, $subforum, $depthmark . '--', $depth + 1);
}
($hook = vBulletinHook::fetch_hook('forumbit_subforumbit2')) ? eval($hook) : false;
}
}
return $output;
}
// ###################### Start geticoninfo #######################
function fetch_iconinfo($iconid = 0)
{
global $vbulletin, $stylevar, $vbphrase, $vbulletin;
$iconid = intval($iconid);
switch($iconid)
{
case -1:
DEVDEBUG('returning poll icon');
return array('iconpath' => "$stylevar[imgdir_misc]/poll_posticon.gif", 'title' => $vbphrase['poll']);
case 0:
if (!empty($vbulletin->options['showdeficon']))
{
DEVDEBUG("returning default icon");
return array('iconpath' => $vbulletin->options['showdeficon'], 'title' => '');
}
else
{
return false;
}
default:
if ($vbulletin->iconcache !== null)
{ // we can get the icon info from the template cache
DEVDEBUG("returning iconid:$iconid from the template cache");
return $vbulletin->iconcache["$iconid"];
}
else
{ // we have to get the icon from a query
DEVDEBUG("QUERYING iconid:$iconid)");
return $vbulletin->db->query_first_slave("
SELECT title, iconpath
FROM " . TABLE_PREFIX . "icon
WHERE iconid = $iconid
");
}
}
}
// ###################### 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;
}
if ($subsonly)
{
$childforumbits = construct_forum_bit($forum['forumid'], 1, $subsonly);
}
else if ($depth < MAXFORUMDEPTH)
{
$childforumbits = construct_forum_bit($forum['forumid'], $depth, $subsonly);
}
else
{
$childforumbits = '';
}
// 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']);
if ($icon = fetch_iconinfo($lastpostinfo['lasticonid']))
{
$show['icon'] = true;
}
else
{
$show['icon'] = false;
}
$show['lastpostinfo'] = (!$lastpostforum['password'] OR verify_forum_password($lastpostforum['forumid'], $lastpostforum['password'], false));
eval('$forum[\'lastpostinfo\'] = "' . fetch_template('forumhome_lastpostby') . '";');
}
}
else if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']))
{
$forum['lastpostinfo'] = $vbphrase['private'];
}
else
{
$forum['lastpostinfo'] = $vbphrase['never'];
}
// do light bulb
$forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
// 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;
}
($hook = vBulletinHook::fetch_hook('forumbit_moderator')) ? eval($hook) : false;
$showmods["$moderator[userid]"] = true;
if (!isset($forum['moderators']))
{
eval('$forum[\'moderators\'] = "' . fetch_template('forumhome_moderator') . '";');
}
else
{
eval('$forum[\'moderators\'] .= ", ' . fetch_template('forumhome_moderator') . '";');
}
}
}
if (!isset($forum['moderators']))
{
$forum['moderators'] = '';
}
}
if ($forum['link'])
{
$forum['replycount'] = '-';
$forum['threadcount'] = '-';
$forum['lastpostinfo'] = '-';
}
else
{
$forum['replycount'] = vb_number_format($forum['replycount']);
$forum['threadcount'] = vb_number_format($forum['threadcount']);
}
if (($subsonly OR $depth == MAXFORUMDEPTH) AND $vbulletin->options['subforumdepth'] > 0)
{
$forum['subforums'] = construct_subforum_bit($forumid, ($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads'] ) );
}
else
{
$forum['subforums'] = '';
}
$children = explode(',', $forum['childlist']);
foreach($children AS $childid)
{
$forum['browsers'] += ($inforum["$childid"] ? $inforum["$childid"] : 0);
}
if ($depth == 1 AND $tempext == '_nopost')
{
global $vbcollapse;
$collapseobj_forumid =& $vbcollapse["collapseobj_forumbit_$forumid"];
$collapseimg_forumid =& $vbcollapse["collapseimg_forumbit_$forumid"];
$show['collapsebutton'] = true;
}
else
{
$show['collapsebutton'] = false;
}
$show['forumsubscription'] = ($subsonly ? true : false);
$show['forumdescription'] = ($forum['description'] != '' ? true : false);
$show['subforums'] = ($forum['subforums'] != '' ? true : false);
$show['browsers'] = ($vbulletin->options['displayloggedin'] AND !$forum['link'] AND $forum['browsers'] ? true : false);
// 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++;
}
}
// prevent unclosed <tr> tags
if ($counter % $columncount != 0)
{
$forumbits .= "\t</tr>\n";
}
return $forumbits;
}
/*======================================================================*\
|| ####################################################################
|| # NulleD - FintMax
|| # CVS: $RCSfile$ - $Revision: 28323 $
|| ####################################################################
\*======================================================================*/
?>
PHP Code:<td class=>
<div>
<table>
<tr>
<td>
<img src="$stylevar[imgdir_statusicon]/$forumid.png" alt="" border="0" />
<td><a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]"><strong>$forum[title]</strong></a>
</div>
<if condition="$show['forumdescription']"><div class="smallfont">$forum[description]</div></if>
</td>
</tr>
</table>
<div class="smallfont" style="border: 1px solid #DFDFDF; background-color: #DFDFDF; margin-top: 3px" align="$stylevar[left]">
<div style="clear:both">
<if condition="$show['lastpostinfo']">
<div class="smallfont" align="$stylevar[left]">
<div style="clear:both">
Last Post: <a href="showthread.php?$session[sessionurl]goto=newpost&t=$lastpostinfo[lastthreadid]" title="<phrase 1="$lastpostinfo[lastthread]">$vbphrase[go_first_unread_in_thread_x]</phrase>"><strong>$lastpostinfo[trimthread]</strong></a>
</div>
<div><if condition="is_browser('ie', 6)"> style="float:$stylevar[left]"</if>
Posted <phrase 1="member.php?$session[sessionurl]find=lastposter&f=$lastpostinfo[forumid]" 2="$lastpostinfo[lastposter]">$vbphrase[by_x]</phrase>
-$lastpostinfo[lastpostdate] <if condition="!$show['detailedtime']">-<span class="time">$lastpostinfo[lastposttime]</span></if><BR><BR>
<b>Forum Info</b>: Threads: <b><i>$forum[threadcount]</b></i>
Posts: <b><i>$forum[replycount]</b></i></div>
</if>
</div>
</div>
</td>
PHP Code:<if condition="!$show['collapsable_forums']">
<tbody>
</if>
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="tcat" colspan="<if condition="$vboptions[showmoderatorcolumn]">6<else />5</if>">
<if condition="$childforumbits">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumbit_$forumid')"><img id="collapseimg_forumbit_$forumid" src="$stylevar[imgdir_button]/collapse_tcat{$collapseimg_forumid}.gif" alt="" border="0" /></a>
</if>
<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]">$forum[title]</a>
<if condition="$show['forumdescription']"><br /><span class="smallfont">$forum[description]</span></if>
<if condition="$show['subforums']"><div class="smallfont"><strong>$vbphrase[subforums]</strong>: $forum[subforums]</div></if>
</td>
</tr>
<if condition="!$show['collapsable_forums']">
</tbody>
</if>
<if condition="$childforumbits">
<if condition="$forum['subforumcolumns'] > 1">
</table>
<table width="500%" border="1" cellpadding="2" cellspacing="2" style="style="table-layout:fixed" >
<col width=50%>
<if condition="!$show['collapsable_forums']">
<tbody id="collapseobj_forumbit_$forumid" style="{$collapseobj_forumid}">
</if>
<tr>
$childforumbits
</tr>
<if condition="!$show['collapsable_forums']">
</tbody>
</if>
<else />
<if condition="!$show['collapsable_forums']">
<tbody id="collapseobj_forumbit_$forumid" style="{$collapseobj_forumid}">
</if>
$childforumbits
<if condition="!$show['collapsable_forums']">
</tbody>
</if>
</if>
</if>
</table>
<br />
and u r done
example: http://www.kk4tech.com/kk/bluedevil Reviewed by bluedevil on . Forum Arranges In Column In Forum Home hello, most of us know this mod,, but i have some specifications in this mod, normally this mod convert forums in column, but it does not fixed the width of column, some of them are big and some of them are, but newbies like me dont know how to make them fixed width and how to customize this in own way, most of us can see my thread which i requested for help in fixing the width of columns.. but now i searched too musch and get my solution too huh! here is a complete tutorials for vb3.8.x Rating: 5
Sponsored Links
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
need help about forum home..
By bluedevil in forum vBulletinReplies: 6Last Post: 22nd Aug 2011, 05:27 AM -
revline.net/forum needs a home page ;) ;)
By Florios in forum Community CooperativeReplies: 0Last Post: 30th Nov 2009, 03:08 AM -
need forum as Column mod
By DJGaurav in forum vBulletinReplies: 2Last Post: 19th Nov 2009, 04:05 AM -
Search not showing on forum home
By Nightcast in forum vBulletinReplies: 1Last Post: 13th Nov 2009, 06:11 AM -
Tabbed Forum Home problem!
By trinayangogoi in forum vBulletinReplies: 1Last Post: 16th Feb 2009, 02:21 PM
themaCreator - create posts from...
Version 3.52 released. Open older version (or...