vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Options for forums - display or don't display on forum home (https://vborg.vbsupport.ru/showthread.php?t=28262)

Admin 09-16-2001 10:00 PM

This hack adds a yes/no option for forums, to select whether you want to display that forum (or category) on the main page.
I added a "sanity check", so you can't hide forums that have no parent (because then you won't be able to access any of its sub-forums).
I'll get a demo in a few minutes.

Demo::
https://vborg.vbsupport.ru/attachmen...&postid=172718

Installation::
Run this query:
Code:

ALTER TABLE forum ADD showonhome SMALLINT(6) DEFAULT '1' not null AFTER allowicons
In forum.php (admin folder) replace
PHP Code:

  makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1); 

with
PHP Code:

  makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1);

  
maketableheader("Other Options");

  
makeyesnocode("Display this forum on main page","showonhome",1); 

Still in forum.php, replace
PHP Code:

  makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]); 

with
PHP Code:

  makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]);

  
maketableheader("Other Options");

  
makeyesnocode("Display this forum on main page","showonhome",$forum[showonhome]); 

Still in forum.php, replace
PHP Code:

                       moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons

with
PHP Code:

                       moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons,showonhome

Still in forum.php, replace
PHP Code:

                       '$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons'

with
PHP Code:

                       '$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons','$showonhome'

Still in forum.php, replace
PHP Code:

                     allowimages='$aallowimgcode'allowsmilies='$aallowsmilies'allowicons='$aallowicons'

with
PHP Code:

                     allowimages='$aallowimgcode'allowsmilies='$aallowsmilies'allowicons='$aallowicons'showonhome='$showonhome'

Still in forum.php, replace
PHP Code:

  // SANITY CHECK (prevent invalid nesting)
  
if ($parentid==$forumid) {
      echo 
"<b>ERROR:</b> You can't parent a forum to itself!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
    exit;
  }
  
$foruminfo $DB_site->query_first("SELECT forumid,title,parentlist FROM forum WHERE forumid='$parentid'");
  
$parents explode(","$foruminfo[parentlist]);
  while (list(,
$val) = each($parents)) {
    if (
$val==$forumid) {
      echo 
"<b>ERROR:</b> You can't parent a forum to one of its own children!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
      exit;
    }
  }
  
// end Sanity check 

with
PHP Code:

  // SANITY CHECK (prevent invalid nesting)
  
if ($parentid==$forumid) {
      echo 
"<b>ERROR:</b> You can't parent a forum to itself!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
    exit;
  }
  
$foruminfo $DB_site->query_first("SELECT forumid,title,parentlist FROM forum WHERE forumid='$parentid'");
  
$parents explode(","$foruminfo[parentlist]);
  while (list(,
$val) = each($parents)) {
    if (
$val==$forumid) {
      echo 
"<b>ERROR:</b> You can't parent a forum to one of its own children!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
      exit;
    }
  }
  if (
$parentid==-and $showonhome==0) {
      echo 
"<b>ERROR:</b> You can't hide a forum with no parent!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
    exit;
  }
  
// end Sanity check 

We don'e with forum.php, save and upload.

In index.php (main folder) replace
PHP Code:

$forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND active=1 ORDER BY parentid,displayorder'); 

with
PHP Code:

$forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND showonhome=1 AND active=1 ORDER BY parentid,displayorder'); 

We don'e with index.php, save and upload.

That's it! :)

Admin 09-17-2001 01:09 PM

Demo: :)

It says "You can hide a forum with a parent!" but it's "You can't hide a forum with no parent!". :p

squawell 09-17-2001 01:12 PM

master i am first reply your post!!

but i still can not use this hack in my forum~~~

cause i haven't phpmyadmin right now~~~

i think next time ba!!

by the way have any picture??--haha!!sorry~i see it!!

it looks great!! thanks your hack~~

shadowbreed 09-17-2001 02:20 PM

Tested on 2.0.3
Working great.

Great hack!!!

Freddie Bingham 09-17-2001 02:32 PM

Squawell this is the second time that I will ask you to enter your license into your profile.

DarkReaper 09-17-2001 06:10 PM

I'm not sure exactly what this does? Here's my idea of it:

You have the forum depth set at 2, so forums 4 deep aren't shown. But if you want one of those shown, you use this and select to have it shown, then its on the forum homepage?

I'm not really sure about this...

squawell: Enter your license info in your profile. To do that go to [url=http://www.vbulletin.com/forum/member.php?s=&action=editprofile]this[url] page and scroll down. Then enter your license and password.

shadowbreed 09-17-2001 06:57 PM

It's the other way around

Say you have the depth at 3 and have a category with three forums in it:

cat-->forum1
forum2
forum3

Now all forums are shown on forumhome under the category
turn of the show on forumhome switch and they are not shown on main page but if you click the category they're there.

DarkReaper 09-17-2001 07:04 PM

Oh! So its sorta like what happens when a forum is beyond the depth that is shown. Sweet. :)

bbensen 09-17-2001 07:57 PM

I just wanted to add, FireFly you rock!!!

I was looking for a collapsable forum feature, but this is just as good if not better!!!

Thanks I'm going to add this tonight.

Jawelin 12-05-2001 01:32 PM

Very nice...
Just something about 'sanity check'... :p

If I had some private forums within a category, can it be hidden by this hack if none of the subforums is visible to the logged user ?

Thank you very much
Bye


All times are GMT. The time now is 01:42 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.01095 seconds
  • Memory Usage 1,785KB
  • 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_code_printable
  • (14)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (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