PDA

View Full Version : Options for forums - display or don't display on forum home


Chen
17 Sep 2001, 14:57
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::
http://www.vbulletin.org/forum/attachment.php?s=&postid=172718

Installation::
Run this query:
ALTER TABLE forum ADD showonhome SMALLINT(6) DEFAULT '1' not null AFTER allowicons

In forum.php (admin folder) replace
makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1);
with
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
makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]);
with
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
moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons,
with
moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons,showonhome ,
Still in forum.php, replace
'$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilie s','$aallowicons',
with
'$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilie s','$aallowicons','$showonhome',
Still in forum.php, replace
allowimages='$aallowimgcode', allowsmilies='$aallowsmilies', allowicons='$aallowicons',
with
allowimages='$aallowimgcode', allowsmilies='$aallowsmilies', allowicons='$aallowicons', showonhome='$showonhome',
Still in forum.php, replace
// 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
// 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==-1 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
$forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND active=1 ORDER BY parentid,displayorder');
with
$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! :)

Chen
17 Sep 2001, 15:09
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
17 Sep 2001, 15:12
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
17 Sep 2001, 16:20
Tested on 2.0.3
Working great.

Great hack!!!

Freddie Bingham
17 Sep 2001, 16:32
Squawell this is the second time that I will ask you to enter your license into your profile.

DarkReaper
17 Sep 2001, 20:10
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
17 Sep 2001, 20:57
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
17 Sep 2001, 21:04
Oh! So its sorta like what happens when a forum is beyond the depth that is shown. Sweet. :)

bbensen
17 Sep 2001, 21:57
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
05 Dec 2001, 15:32
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

eva2000
01 Jan 2002, 02:27
nice i like this one :)

okay for 2.2.0 and 2.2.1 ?

Chen
01 Jan 2002, 14:18
Should work fine.

/me is embarrassed :o

over
03 Jan 2002, 13:15
nice hack :) thinkin bout installin it :)

Jawelin
04 Jan 2002, 16:21
Originally posted by Jawelin
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

Just a remark... ;)

Stretchr
16 Jan 2002, 18:50
Thank you, Chen for another great hack. Just what I have been looking for.

TurboFC3S
20 Jan 2002, 17:36
Does this work in sub-forums also? Or does it just let you turn off forums on the main page?

Shenlong
20 Jan 2002, 17:38
can u add a installer or something? im not good with queries or SQL tables :o

Chen
20 Jan 2002, 17:38
Nope, only on main forum page.

Stretchr
20 Jan 2002, 17:48
The good news is that you don't have to be proficient with mySQL queries if you use FireFly's hack here: http://www.vbulletin.org/forum/showthread.php?s=&threadid=26272

Couldn't be simpler than this! Thanks again, Chen. This is one of my all-time favorites! :D

TurboFC3S
21 Jan 2002, 04:12
So are there any hacks similar to this that allow you to do sub-forums as well? How about instead of show on forum home, give the option - show on parent page.

Does that make any sense what I'm talking about?

TurboFC3S
23 Jan 2002, 03:39
Originally posted by TurboFC3S
So are there any hacks similar to this that allow you to do sub-forums as well? How about instead of show on forum home, give the option - show on parent page.

Does that make any sense what I'm talking about?

Just bumping my question up ...

Sparkz
23 Jan 2002, 15:56
Originally posted by FireFly
Demo::
http://www.vbulletin.com/forum/attachment.php?s=&postid=172718


Any particular reason for pointing this link to vb.com, when it is in fact right here on vb.org?

*scratches head*

Chen
23 Jan 2002, 16:49
Originally posted by Sparkz
Any particular reason for pointing this link to vb.com, when it is in fact right here on vb.org?

*scratches head*
This was initially posted at vBulletin.com, before we moved all the hacking forums from there to this site. So, the link stayed. (fixed it now, thanks :))

TurboFC3S
24 Jan 2002, 04:49
Originally posted by TurboFC3S
So are there any hacks similar to this that allow you to do sub-forums as well? How about instead of show on forum home, give the option - show on parent page.

Does that make any sense what I'm talking about?

So is anybody going to answer my question ... please?

Gutspiller
29 Jan 2002, 23:51
how about making this option available to the end user, and not just for admins? I could really use a hack like THAT. :D

Psychdrone
30 Jan 2002, 01:15
I am confused this will give you an option to either have the forum displayd on the main page? dose this work on 2.2.1?

Stretchr
30 Jan 2002, 01:47
Works on 2.2.1 and 2.2.2 quite nicely :)

Originally posted by Psychdrone
I am confused this will give you an option to either have the forum displayd on the main page? dose this work on 2.2.1?

Chris M
02 Aug 2002, 17:08
Cool Chen:)

Satan

ImportPassion
17 Mar 2003, 16:31
01-29-02 at 06:51 PM Gutspiller said this in Post #25 (http://www.vbulletin.org/forum/showthread.php?postid=216735#post216735)
how about making this option available to the end user, and not just for admins? I could really use a hack like THAT. :D

yes, exactly waht I need. Is there something like that yet?

Disturbed
17 Mar 2003, 17:12
damn this hack is like 3 years old ;p

sbryan
08 Jun 2003, 03:17
im using JamesUS's SQL query tool and when i run the query mentioned above i get this

"Database error in vBulletin Control Panel 2.2.9:

Invalid SQL: ALTER TABLE forum ADD showonhome SMALLINT(6) DEFAULT '1' not null AFTER allowicons
mysql error: Duplicate column name 'showonhome'

mysql error number: 1060"

can anyone help? im really keen to install this hack...

ImportPassion
08 Jun 2003, 03:33
looks like u alredy have the hack, or tried to run that query twice