vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Forums arranged in columns on forumhome (https://vborg.vbsupport.ru/showthread.php?t=99829)

Lionel 04-16-2009 08:51 PM

Quote:

Originally Posted by kairev (Post 1781487)
This is what I'm trying to accomplish:

http://www.hockeyforum.com

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

Quote:


<table style="border: none; width: 100%;">
<if condition="$forum[forumid]=='xx'">
<tr><td class="thead">Column 1 Title</td><td class="thead">Column 2 Title</td><td class="thead">Column 3 Title</td></tr>
</if>

$childforumbits
</table>
then in admincp you simply arrange the subforums order so they display in the proper column.

You might want to add some css in the td to give them some padding

legion! 04-24-2009 03:06 AM

this is the error i get wen i try to install on 3.81

Fatal error: Field subforumcolumns is not defined in $validfields in class vb_datamanager_forum in [path]/includes/class_dm.php on line 485

Lionel 04-24-2009 03:13 AM

This works just fine up to 3.82. You need to import the product and do the file edit, and you'll be fine.

belindazhu 06-11-2009 03:08 AM

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

You should make updation to 3.8.x.

belindazhu 06-12-2009 12:38 AM

Quote:

Originally Posted by rapidphim (Post 1650761)
Veccy, it's OK... I can live with that. However, do you know how am I going to get:

1/ the latest post info lie right beneath the forum title as in this website?
http://www.nbadimensions.net/forums/

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?

We need you.

JMEWLS` 06-18-2009 02:48 AM

how do I show moderators? I've put in the code but it puts me as a moderator:

http://www.nbadimensions.net/forums/

Look under team forums.

JMEWLS` 06-19-2009 05:57 AM

Bump.

JMEWLS` 06-21-2009 03:34 AM

anyone willing to help?

JMEWLS` 06-22-2009 10:39 AM

Anyone see a problem in the code?

functions_forumlist.php
PHP Code:

<?php


// ###################### 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);
            
$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;
                        }

                        (
$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 == 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;
}


Carpetsmoker 06-22-2009 10:54 PM

Asking the same question four times will not get you an answer sooner, please do not keep asking the same question over and over.


All times are GMT. The time now is 04:55 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01708 seconds
  • Memory Usage 1,913KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete